โปรเจค Arduino เปิดปิดไฟด้วยเสียง (พร้อมโค้ดตัวอย่าง)
ประกอบด้วย- Arduino Uno R3 http://bit.ly/3bN1WWU
- 1 Channel Relay (10A) with Optocoupler Module http://bit.ly/3bMMwBI
- Sound sensor http://bit.ly/37D053i
- สายไฟmale to female 20cm http://bit.ly/37Eytec
- หลอดไฟ http://bit.ly/2HvpZM2
- ขั้วหลอดไฟ http://bit.ly/2HvpZM2
- ปลั๊กตัวผู้ http://bit.ly/2HvpZM2
- สายไฟ http://bit.ly/2HvpZM2
- Adapter 9V 1A http://bit.ly/2HzGsPb
Code ตัวอย่าง
#define signalToRelayPin 8 #define sensorPin 7 | |
int lastSoundValue; | |
int soundValue; | |
long lastNoiseTime = 0; | |
long currentNoiseTime = 0; | |
long lastLightChange = 0; | |
int relayStatus = HIGH; | |
void setup() { | |
pinMode(sensorPin, INPUT); | |
pinMode(signalToRelayPin, OUTPUT); | |
digitalWrite(signalToRelayPin, HIGH); | |
} | |
void loop() { | |
soundValue = digitalRead(sensorPin); | |
currentNoiseTime = millis(); | |
if (soundValue == 1) { | |
if ( | |
(currentNoiseTime > lastNoiseTime + 200)&& | |
(lastSoundValue == 0)&& | |
(currentNoiseTime < lastNoiseTime + 800)&& | |
(currentNoiseTime > lastLightChange + 1000) | |
) { | |
relayStatus = !relayStatus; | |
digitalWrite(signalToRelayPin, relayStatus); | |
lastLightChange = currentNoiseTime; | |
} | |
lastNoiseTime = currentNoiseTime; | |
} | |
lastSoundValue = soundValue; | |
} |
บทความจาก arduinothai.com