本文已参与「新人创作礼」活动,一起开启掘金创作之路。
具体讲解
土壤水分传感器测量土壤水分随土壤电导率的变化而变化(土壤电阻随干旱而增加)。在传感器的两个电极之间测量电阻。
当超过可调整的阈值时,比较器将激活数字输出。
在开始编写代码时,我们定义了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);
}