0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样将Arduino与土壤湿度传感器FC-28连接起来

454398 来源:wv 2019-08-30 11:14 次阅读

步骤1:在模拟模式下连接传感器

模拟模式 - 连接土壤湿度传感器Arduino

要在模拟模式下连接传感器,我们需要使用传感器的模拟输出。从土壤湿度传感器FC-28获取模拟输出时,传感器给出的值为0-1023。水分以百分比形式测量,因此我们将从0到100映射这些值,然后我们将在串行监视器上显示这些值。您可以进一步设置不同的水分值范围,并根据它打开或关闭水泵。电路图将土壤湿度传感器FC-28连接到Arduino的连接如下。

FC-28到5V Arduino的VCC

FC-28的GND到Arduino的GND

FC-28的A0到Arduino的A0

第2步:Arduino代码

int sensor_pin = A0;

int output_value ;

void setup()

{

Serial.begin(9600);

Serial.println(“Reading From the Sensor 。..”);

delay(2000);

}

void loop()

{

output_value= analogRead(sensor_pin);

output_value = map(output_value,550,0,0,100);

Serial.print(“Mositure : ”);

Serial.print(output_value);

Serial.println(“%”);

delay(1000);

}

这是一个100%正在运行的代码人员在Arduino IDE中复制并粘贴它并查看土壤湿度值Arduino中的串行监视器。

请检查此传感器的查看视频以了解有关如何执行此项目的更多信息

步骤3:解释代码

首先,我们定义了两个变量;一个用于土壤湿度传感器引脚,另一个用于存储传感器的输出。

int sensor_pin = A0; //模拟PIN A0上的土壤传感器输入

int output_value; //在设置功能中,“Serial.begin(9600)”命令将有助于Arduino和串行监视器之间的通信。然后,我们将在串行监视器上打印“从传感器读取。..”。

void setup(){

Serial.begin (9600);

Serial.println(“从传感器读取。..。..”);

延迟(2000);

}

在循环功能中,我们将从传感器模拟引脚读取并将值存储在“output_ value”变量中。然后,我们将输出值映射到0-100,因为水分是以百分比来衡量的。当我们从干燥的土壤中读取读数时,传感器值为550,而在潮湿的土壤中,传感器值为10.因此,我们绘制了这些值以获得水分。之后,我们在串行监视器上打印这些值。

void loop(){

output_value = analogRead(sensor_pin);

output_value = map(output_value,550,10,0,100);

Serial.print(“Mositure:”);

Serial.print(output_value);

Serial.println(“%”);

延迟(1000);

}

第4步:数字模式 - 连接Arduino和土壤湿度传感器

要在数字模式下连接土壤湿度传感器FC-28,我们将传感器的数字输出连接到Arduino的数字引脚。传感器模块包含一个带电位计的电位器,用于设置阈值。然后使用放置在传感器模块上的LM393比较器将该阈值与传感器输出值进行比较。 LM393比较器将比较传感器输出值和阈值,然后通过数字引脚提供输出。当传感器值大于阈值时,数字引脚将给出5V并且传感器上的LED将亮起,当传感器值小于此阈值时,数字引脚将给出0V光会降下来电路图

在数字模式下将土壤湿度传感器FC-28连接到Arduino的连接如下:

Arduino的FC-28到5V的VCC

FC-28的GND到Arduino的GND

FC-28的D0到Arduino的12脚

LED正向Arduino的引脚13

Arduino的GND负极

int led_pin = 13; int sensor_pin = 8;

void setup(){

pinMode(led_pin,OUTPUT);

pinMode(sensor_pin,INPUT);

}

void loop(){

if(digitalRead(sensor_pin)== HIGH){

digitalWrite(led_pin,HIGH);

} else {

digitalWrite(led_pin,LOW);

延迟(1000);

}

}

代码说明首先,我们初始化了两个用于连接LED引脚和传感器数字引脚的变量。

int led_pin = 13;

int sensor_pin = 8;

在设置功能中,我们已将LED引脚声明为输出引脚,因为;我们将通过该引脚为LED供电。然后,我们将传感器引脚声明为输入引脚,因为Arduino将通过该引脚获取传感器的值。

void setup(){

pinMode(led_pin,OUTPUT);

pinMode(sensor_pin,INPUT);

}

在循环功能中,我们从传感器引脚读取。如果传感器的输出值高于阈值,则数字引脚将为高电平,LED将亮起。如果传感器值低于阈值,则LED将熄灭。

void loop(){

if(digitalRead(sensor_pin)== HIGH){

digitalWrite(led_pin,HIGH);

} else {

digitalWrite(led_pin,LOW);

延迟(1000);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 湿度传感器
    +关注

    关注

    7

    文章

    288

    浏览量

    58320
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184822
收藏 人收藏

    评论

    相关推荐

    如何数组的的字符重新连接起来保存?

    TEMP[2]依次存入,直到4存入TEMP[7], 问题是:如何数组的的字符重新连接起来保存?如何定义新的变量str?使str=\"ABCD1234\"?
    发表于 04-16 07:39

    如何实现用ESP32-S3和土壤湿度传感器监控植物的土壤状态呢?

    大家好,今天我要给大家介绍一种非常实用的智能家居设备——用ESP32-S3连接一个土壤湿度传感器,用Micropython编程,监控火土壤的状态。
    的头像 发表于 11-08 11:35 1080次阅读
    如何实现用ESP32-S3和<b class='flag-5'>土壤湿度</b><b class='flag-5'>传感器</b>监控植物的<b class='flag-5'>土壤</b>状态呢?

    土壤湿度测量怎么校准?

    土壤湿度测量怎么校准
    发表于 10-30 08:13

    用电容传感器制作一个土壤湿度检测

    你经常忘记给室内植物浇水吗?或者你也给他们太多的关注和过度淡化他们。如果你这样做了,那么你需要让自己成为土壤湿度监测。这款基于Arduino的电池供电显示器使用捕获传感器,用于测量
    发表于 09-20 07:00

    CS1238的AINN1和AINN2连接起来用吗?

    CS1238的AINN1和AINN2连接起来用吗? 需要测如此信号,打算把两个差分对的负引脚连接起来用,这个用法行不行?
    发表于 08-24 17:51

    将RF 433MHz发射器/接收器模块与MCU连接起来

    电子发烧友网站提供《将RF 433MHz发射器/接收器模块与MCU连接起来.zip》资料免费下载
    发表于 06-13 09:24 3次下载
    将RF 433MHz发射器/接收器模块与MCU<b class='flag-5'>连接起来</b>

    如何ToF传感器与IMX8MP处理连接起来

    我正在尝试 ToF 传感器与 IMX8MP 处理连接起来。我的主机开发 PC 是 Ubuntu 操作系统,所以有人可以指导我使用交叉编译
    发表于 06-08 06:31

    如何编码与s32k连接起来并在freemaster中显示结果?

    我正在尝试 nxp pmsm 闭环模型与我电机中存在的正余弦编码连接起来,并在 freemaster 中获取可视化的转子位置数据。 我能够变量添加到 freemaster,但是当
    发表于 06-07 06:31

    无法Nodemcu esp8266板与enc28j60以太网模块连接起来怎么解决?

    大家好!很抱歉问这个问题,已经在论坛上看到了,但是我无法将我的 Nodemcu esp8266 板与 enc28j60 以太网模块连接起来。我没有办法让它过去。
    发表于 06-02 08:13

    如何nodemcu与Modbus RTU设备连接起来

    我正在使用来自 amica 和 Arduino 1.8.5 的 Nodmecu 单元。 我正在尝试 nodemcu 与 Modbus RTU 设备连接起来。当我连接 Tx 和 rx
    发表于 05-31 08:30

    如何LoRa模块和esp8266与Arduino核心连接起来

    我需要将 LoRa 模块和 esp8266 与 Arduino 核心连接起来,所以我需要 SPI 引脚 (12-13-14) 和其他 3 个用于 DIO0、RESET 和 NSS 的引脚,但我的项目
    发表于 05-30 06:34

    TDS传感器与ESP12F裸机模块连接起来传感器无法读取传感器输出的电压怎么解决?

    我一直在尝试将我的 TDS 传感器与 ESP12F 裸机模块连接起来。我可以让 TDS 传感器与 Nodemcu 模块一起工作,因为它有内部分压。 然而,对于 ESP12F ,我知道
    发表于 05-26 15:00

    土壤湿度传感器始终显示1023值是为什么?

    您好,我需要紧急解决这个问题。我的项目明天到期。我电阻式土壤湿度传感器与 nodemcu 1.0 v3 配对,但传感器始终输出值为 1023 或 100%。我测量了
    发表于 05-12 08:14

    如何HLW8032与NodeMCU连接起来

    我正在尝试 HLW8032 与 NodeMCU 连接起来。我示例中的代码上传到微控制,但我在串行监视上获取垃圾值。 当我尝试获取有关
    发表于 05-10 12:59

    如何EMMC SanDisk iNAND® 7250与LPC 1850连接起来

    我们正在尝试 EMMC SanDisk iNAND® 7250 与 LPC 1850 连接起来。EMMC 使用 MMC 5.1,但 1850 提到 4.4 作为标准。经过研究,发现4.4是向下兼容
    发表于 04-27 06:33