Stap 4: Luister geluiden om je heen
Hier onze tweede schets die wilskracht op uw LYTs wanneer geluiden worden gedetecteerd en blijft branden totdat de achtergrondgeluiden niet onder de drempelwaarde SOUND_LEVEL vallen en vertragingstijd is verstreken.
** Gelieve kunt REMEMEBR dat AUTHOMETION LYT een 2,4 GHz RADIO gecontroleerde E27 RGBW lamp en u is draadloos controle met behulp van een LYT/WiFi Shield **
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * Code by AUTHOMETION S.r.l. Version: 1.00 Date: 02.06.2015 * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <SPI.h> #include <PL1167.h> #include <EEPROM.h> #include <Lytwifi.h> #include <SoftwareSerial.h> #include <WiFiInterrupt.h>
#define PL1167_CS_PIN 10 #define BULB_ADDRESS_HIGH 0 #define BULB_ADDRESS_LOW 0 #define SOUND_LEVEL 100 #define DELAY 1000 //10 seconds (DELAY*10)
byte SOUND_DETECTED=0; long COUNTER=0;
//ESP8266 Serial SoftwareSerial mySerial(5, 6); // RX, TX LYTWiFi myNetWork(mySerial);
void setup() { Serial.begin(9600, SERIAL_8N1); myNetWork.vfInitialize(PL1167_CS_PIN); vfISRInit(&myNetWork); }
void loop() { int adc_sound; adc_sound=analogRead(0); //CONNECT MICROPHONE VCC TO ARDUINO 3.3VDC FOR BETTER PERFORMANCE adc_sound=abs(adc_sound - 350);// Center on zero (3.3VDC) if(adc_sound>SOUND_LEVEL && SOUND_DETECTED==0) { SOUND_DETECTED=1; COUNTER=0; Serial.println(adc_sound); Serial.println("\r\nPOWER ON"); myNetWork.ui8fSwitchOnAndCheck(BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST); adc_sound=0; } //LYT IS ON BUT SOUNDS STILL DETECTED SO RESET COUNTER if(adc_sound>SOUND_LEVEL && SOUND_DETECTED==1) { COUNTER=0; Serial.println("\r\nCOUNTER RESET"); } //IF DELAY REACHED POWER OFF LYT if(COUNTER>=DELAY) { SOUND_DETECTED=0; COUNTER=0; Serial.println("\r\nPOWER OFF"); myNetWork.ui8fSwitchOffAndCheck(BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST); } //INCREASE COUNTER IF LYT IS ON if(SOUND_DETECTED==1) COUNTER++; //TIME BASE 10ms delay(10); }