Automatisk belysning hantering med omgivande ljud (2 / 5 steg)
Steg 2: Klappa din LYT!
Nu är det dags att använda händerna.
Med denna skiss kan du styra din LYTs klappar händerna!
En klappa power ON. Två klappar power OFF.
Du kan justera ljudkänslighet ökar eller minskar värdet SOUND_LEVEL.
Skissen kommer räknar antalet klappar genereras i CHECK_TIME millisecons (i detta fall 1000).
Mellan en upptäckt och andra har infört en DETECT_DELAY (150 ms) för att undvika flera klappa upptäckt.
Spela med någon av de tidigare värdena som passar dina behov.
Du kan också anpassa skissen för att känna igen mer klappar eller en viss sekvens av klappar!
** 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 **
/ * **************************** < Br >-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 CHECK_TIME 1000
#define DETECT_DELAY 150
int klappa = 0;
int puls = 0;
int FLAG_WAIT = 0;
lång BtnDelay;
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)
KLAPPA UPPTÄCKTA
om (adc_sound > SOUND_LEVEL)
{
BtnDelay = millis();
om (FLAG_WAIT == 0)
FLAG_WAIT = 1;
KLAPPA ++;
Serial.println("\r\nCLAP++");
Dröjsmål att undvika flera klappa upptäckt
Delay(DETECT_DELAY);
}
EFTER EN SEKUND (CHECK_TIME = 1000) KOLLA HUR MÅNGA KLAPPAR UPPTÄCKTA
om ((millis() - BtnDelay > CHECK_TIME) & & FLAG_WAIT == 1)
{
om (klappa == 1)
{
myNetWork.ui8fSwitchOnAndCheck (BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST);
Serial.println ("\r\nLYT på");
}
annars om (klappa == 2)
{
myNetWork.ui8fSwitchOffAndCheck (BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST);
Serial.println ("\r\nLYT OFF");
}
FLAG_WAIT = 0;
KLAPPA = 0;
}
}