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

电子说

1.3w人已加入

描述

步骤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);

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分