將以下代碼上傳到您的 Arduino。之後,打開串行監視器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#define Liquid_Detection_Pin 2 //Output pin on sensor void setup() { Serial.begin(9600); pinMode(Liquid_Detection_Pin, INPUT); } void loop() { if (digitalRead(Liquid_Detection_Pin)) { Serial.println("Liquid Detected!"); } else { Serial.println("No Liquid!"); } delay(1000); } |
在上面的代碼中,將每秒檢查一次數字輸出,並在串行監視器中顯示檢測到或未檢測到液體。
輸出如下:
如果使用2個液位感測器可以用來偵測高低水位,配合繼電器做動作。可以參考下述程式自行修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
const int highWaterPin = 2; // 高水位感測器連接到Arduino的腳位2 const int lowWaterPin = 3; // 低水位感測器連接到Arduino的腳位3 const int relayPin = 4; // 繼電器連接到Arduino的腳位4 void setup() { Serial.begin(11520); // 初始化串列通訊,以便將水位訊號輸出至序列監視器 pinMode(highWaterPin, INPUT); // 設定高水位腳位為輸入模式 pinMode(lowWaterPin, INPUT); // 設定低水位腳位為輸入模式 pinMode(relayPin, OUTPUT); // 設定繼電器腳位為輸出模式 } void loop() { int highWaterLevel = digitalRead(highWaterPin); // 讀取高水位感測器訊號 int lowWaterLevel = digitalRead(lowWaterPin); // 讀取低水位感測器訊號 if (highWaterLevel == HIGHW) { Serial.println("高水位狀態"); digitalWrite(relayPin, LOW); // 關閉繼電器,停止馬達運轉 } else if (lowWaterLevel == LOW) { Serial.println("低水位狀態"); digitalWrite(relayPin, High); // 啟動繼電器,開啟馬達 } else { Serial.println("中間水位狀態"); } delay(1000); // 延遲一秒後重新讀取水位訊號 } |