具体讲解
土壤水分传感器测量土壤水分随土壤电导率的变化而变化(土壤电阻随干旱而增加)。在传感器的两个电极之间测量电阻。
当超过可调整的阈值时,比较器将激活数字输出。
在开始编写代码时,我们定义了3个变量:
int sensorPin = A0;
-第一个定义了Arduino的模拟引脚
int sensorValue;
-第二个定义了Arduino读取的传感器的模拟值
int limit = 300;
第三个定义了一个限制(在这种情况下,如果sensorValue大于该限制,那么一个LED将会亮起)
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
之后,我们通过指示波特数(此处为9600)以及通过指示当前输出的Arduino的第十三引脚(LED引脚)来初始化串行监视器。
void loop() {
sensorValue = analogRead(sensorPin);
我们将sensorValue定义为Arduino读取的值。
Serial.println("Analog Value : ");
Serial.println(sensorValue);
我们在串行监视器上显示sensorValue。
if (sensorValue<limit) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
delay(1000);
}
如果sensorValue小于限制,那么这部分代码可以使LED点亮。否则,LED保持熄灭。
电路连接
连接数
Arduino的->比较器
3V-> VCC
地线->地线
A0-> A0
比较器->传感器
+-> +
-->-
Arduino的-> LED
D13-> +
GND->-
在LED的+和-之间连接一个电阻。
代码部分
int sensorPin = A0;
int sensorValue;
int limit = 300;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println("Analog Value : ");
Serial.println(sensorValue);
if (sensorValue<limit) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
delay(1000);
}