日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arduino人体红外感应+继电器+蜂鸣器

發(fā)布時間:2024/1/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Arduino人体红外感应+继电器+蜂鸣器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現功能:當人體紅外感應到人時,蜂鳴器報警,繼電器模塊閉合;反之,繼電器模塊斷開。
模塊連接:
Arduino人體紅外和繼電器連接同Arduino人體紅外感應+繼電器.
蜂鳴器連接:

Arduino蜂鳴器
7+
GND-

實物圖連接:

代碼:

/* 功能:利用人體紅外模塊檢測一定范圍內的人類運動狀態(tài),如果檢測到有輸出則發(fā)出警報同時控制繼電器工作 */ #include "pitches.h" //樂曲中的音符 int Sensor_pin = A5; int pinRelay = 8; int Buzzerpin = 7; int melody[] = {NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; /*音符持續(xù)時間:4=四分音符,8=八分音符,等等(note durations: 4 = quarter note, 8 = eighth note, etc.:)*/ int noteDurations[] = {4, 8, 8, 4,4,4,4,4 };void RelayWork() //繼電器工作 { digitalWrite(pinRelay, HIGH);//輸出HIGH電平,繼電器模塊閉合 delay(3000); }void Alarm() //蜂鳴器發(fā)出警報 { //順序加載樂曲中的音符for (int thisNote = 0; thisNote < 8; thisNote++) {/* 用1s為基準計算音符持續(xù)時間 e.g. 四分音符(quarter note)= 1000 / 4, 八分音符(eighth note)= 1000/8, etc.*/int noteDuration = 1000/noteDurations[thisNote];tone(7, melody[thisNote],noteDuration);//設置一個最小的時間間隔來區(qū)分音符//一般正常音符的1.3倍效果較好int pauseBetweenNotes = noteDuration * 1.30;delay(pauseBetweenNotes);//停止播放音樂:noTone(7);} } void setup() { pinMode(Sensor_pin,INPUT); //設置人體紅外接口為輸入狀態(tài) pinMode(pinRelay, OUTPUT); //設置pinRelay腳為輸出狀態(tài) pinMode(Buzzerpin,OUTPUT); //設置蜂鳴器接口為輸出狀態(tài) Serial.begin(9600); } void loop() { int val=digitalRead(Sensor_pin); //定義參數存儲人體紅外傳感器讀到的狀態(tài) Serial.println(val); //串口顯示 if(val == 1) //如果檢測到有人類運動(在檢測范圍內),繼電器模塊閉合,同時發(fā)出警報 { Alarm(); RelayWork(); } else { digitalWrite(pinRelay, LOW);//輸出LOW電平,繼電器模塊斷開 delay(4000); } //delay(100); //延時100毫秒 }

pitches.h代碼:

/************************************************** Public Constants*************************************************/#define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978

總結

以上是生活随笔為你收集整理的Arduino人体红外感应+继电器+蜂鸣器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。