Stap 2: Clap uw LYT!
Nu is het tijd om uw handen gebruiken.
U kunt met deze schets uw LYTs klappen van uw handen!!
Een klap power ON. Twee klapt power OFF.
Geluidsgevoeligheid vergroten of verkleinen van de SOUND_LEVEL-waarde, kunt u aanpassen.
De schets zal telt het aantal klapt gegenereerd binnen CHECK_TIME millisecons (in dit geval 1000).
Tussen een detectie en de andere is een DETECT_DELAY (150 ms) om te voorkomen dat meerdere klappen detectie geïntroduceerd.
Spelen met een van de vorige waarden aan uw behoeften.
U kunt ook het aanpassen van de schets om te herkennen van meer klapt of een specifieke opeenvolging van klapt!
** 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 **
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * *<br> 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 CHECK_TIME 1000 #define DETECT_DELAY 150
int CLAP = 0; int PULSE = 0; int FLAG_WAIT = 0; long BtnDelay;
//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) //CLAP DETECTED if (adc_sound > SOUND_LEVEL) { BtnDelay = millis(); if (FLAG_WAIT == 0) FLAG_WAIT = 1; CLAP++; Serial.println("\r\nCLAP++"); //Delay to avoid multiple clap detection delay(DETECT_DELAY); } //AFTER ONE SECOND (CHECK_TIME=1000) CHECK HOW MANY CLAPS DETECTED if ((millis() - BtnDelay > CHECK_TIME) && FLAG_WAIT == 1) { if (CLAP == 1) { myNetWork.ui8fSwitchOnAndCheck(BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST); Serial.println("\r\nLYT ON"); } else if (CLAP == 2) { myNetWork.ui8fSwitchOffAndCheck(BULB_ADDRESS_HIGH, BULB_ADDRESS_LOW, C_MULTICAST); Serial.println("\r\nLYT OFF"); } FLAG_WAIT = 0; CLAP = 0; } }