Automatisk belysning hantering med omgivande ljud (4 / 5 steg)
Steg 4: Lyssna på ljuden omkring dig
Här vår andra skiss som kommer att driva på LYTs när ljud upptäcks och håller lyser tills bakgrund buller inte understiger tröskelvärdet SOUND_LEVEL och fördröjningstiden har löpt ut.
** Vänligen kan REMEMEBR att AUTHOMETION LYT är en 2.4GHz RADIO kontrollerade E27 RGBW lampa och du trådlös kontroll den med en LYT/WiFi sköld **
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Kod av AUTHOMETION S.r.l.
Version: 1,00
Datum: 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 dröjsmål 1000 //10 sekunder (försening * 10)
byte SOUND_DETECTED = 0;
långa COUNTER = 0;
ESP8266 följetong
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);
ANSLUTA MIKROFON VCC TILL ARDUINO 3.3VDC FÖR BÄTTRE PRESTANDA
adc_sound = abs (adc_sound - 350); / / Center på noll (3.3VDC)
om (adc_sound > SOUND_LEVEL & & SOUND_DETECTED == 0)
{
SOUND_DETECTED = 1;
RÄKNARE = 0;
Serial.println(adc_sound);
Serial.println ("\r\nPOWER på");
myNetWork.ui8fSwitchOnAndCheck (BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST);
adc_sound = 0;
}
LYT ÄR PÅ MEN LÅTER FORTFARANDE UPPTÄCKS SÅ ÅTERSTÄLL RÄKNAREN
om (adc_sound > SOUND_LEVEL & & SOUND_DETECTED == 1)
{
RÄKNARE = 0;
Serial.println ("\r\nCOUNTER RESET");
}
OM DRÖJSMÅL NÅ AVSTÄNGNING LYT
om (COUNTER > = fördröjning)
{
SOUND_DETECTED = 0;
RÄKNARE = 0;
Serial.println ("\r\nPOWER OFF");
myNetWork.ui8fSwitchOffAndCheck (BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST);
}
ÖKA COUNTER OM LYT ÄR PÅ
IF(SOUND_DETECTED==1)
RÄKNAREN ++;
BAS 10 MS
Delay(10);
}