Gråtande Baby detektor med 1Sheeld (4 / 6 steg)
Steg 4: kod
I denna kod som jag skrev i olika stil, jag skrev det från nackdelen med upp, jag hade 3 funktioner (1-SleepingMode1())-(2-SleepingMode2())-(3-WakingMode()), jag skrev tredje först, sedan andra sedan först
SleepingMode1: om barnet börjar gråta arduino börjar spela lite lugn musik
SleepingMode2: om barnet inte sluta gråta arduino fortsätta spela lugn musik
I alla dessa funktioner arduino skicka till föräldrar meddelandet på twitter för att informera dem om eventuella uppdateringar
inkludera < one.sheeld.h >
Sträng konto = "imtheparent2015" ;// föräldrakonto på twitter
String Message0 = "Arduino nu är på kontroll läge, håll ögonen öppna för uppdateringar";
String Message1 = "barnet gråter, Arduino är på SleepingMode just nu bo Tuned för uppdateringar"; / / The Arduino meddelande för överordnat på den sovande läge
String Message2 = "barnet är vaket, Arduino är på WakingMode just nu, och spelar några låtar"; / / The Arduino meddelande för överordnat på vakna-läge
String Message3 = "barnet är nu sover, du är säker: D"; / / The Arduino meddelande för överordnat på den sovande läge
String Message4 = "The Baby gråter fortfarande, håll ögonen öppna för uppdateringar";
int grön = 13. //Green LED (kontrollera LED)
int rött = 12. //Red LED (Alert LED)
int leksak = 10; //Toy relä stift
int gråta = 0; //Checking om barnet gråter, om gråta == 10 så barnet gråter
int x = 0; //For kontrollera om programmet passerar genom sleepingMode 1
int y = 1. //For kontrollera om programmet passerar genom sleepingMode 2
int z = 0; //For kontrollera om programmet passerar genom WakingMode
booleska mån = true; //For det övervakning läget för att köra det en gång
////////////////////////////////////////////
void setup()
{
pinMode (leksak, utgång); //Toy relä krets
pinMode (grön, utgång); //Green för övervakning läge
pinMode (röd, produktionen); //red för avisering
OneSheeld.begin (), //Begining av 1SHEELD
}
////////////////////////////////////////////
bool Crying () //Responsible för att få värdet på Mic (Crying Sound)
{
Att få ljudet
IF(MIC.getValue() > = 80) / / ljud av det gråtande barnet (uppmätt av dBs)
return true; Sant = Baby gråter
annat
returnera false; Falskt = Baby sover
}
///////////////////////////////////////////
void MonitoringMode () //send meddelandet för att bekräfta att arduino arbetar
{
IF(Mon==true)
{
Twitter.sendMessage (konto, Message0); //sending meddelande
Mon = false; //to försäkra att programmet inte köra den igen
}
}
///////////////////////////////////////////
void SleepingMode () //First funktion att programmet passerar by'if barnet gråter
{
MusicPlayer.play (); //Playing några tyst musik för barnet
Twitter.sendMessage(account,Message1); / / Skicka ett meddelande på twitter för föräldrarna
fördröjning (30000); //Delay för att spela lugn musik för 5 minuter
MusicPlayer.pause(); Pausa musik för att kontrollera om barnet sov eller inte
x = 1. //Confirm att programmet passerar thourght funktionen
y = 0; //to undvika looping
fördröjning (5000); //Silent dröjsmål att kontrollera om barnet fortfarande gråter eller inte
}
///////////////////////////////////////////
void WakingMode () //Third Fn som programmet går av om barnet fortfarande gråta
{
digitalWrite (grön, låg), //Turn av grönt ljus
Twitter.sendMessage(account,Message2); / / Skicka ett meddelande på twitter för föräldrarna
MusicPlayer.next (); //switch till WakingMode låtar (Ex:Old MacDonald hade en gård)
MusicPlayer.play (); //Playing låtar för barnet
digitalWrite (leksak, hög), //turn på barn leksak
fördröjning (30000); //Delay för låtarna
MusicPlayer.previous (); //Back till föregående sången (lugna låtar)
MusicPlayer.stop (); //stops Musicplayeren
digitalWrite (leksak, låg); //turn bort det
rop = 0; //Reset värdet till det ursprungliga värdet
z = 0; //Reset värdet till det ursprungliga värdet
y = 1. //Reset värdet till det ursprungliga värdet
x = 0; //Reset värdet till det ursprungliga värdet
}
//////////////////////////////////////////
void SleepingMode2 () //Second Fn som programmet går av om barnet fortfarande gråta
{
digitalWrite (grön, låg), //turn av övervakning LED
Twitter.sendMessage (konto, Message4); //Sending ett meddelande på twitter för föräldrarna
MusicPlayer.play (); //Continuing lugn musik för barnet
fördröjning (30000); //Delay för musik
MusicPlayer.pause (); //Pause musik för att kontrollera
z = 1. ///Confirm att programmet passerar thourght funktionen
x = 0 / / för att förhindra att köra dessa fungerar igen
}
//////////////////////////////////////////\
void loop()
{
MonitoringMode();
////////////////////////////////////////////
IF(y==1) //If barnet sover
{
digitalWrite (grön, hög), //Turning på den gröna LED(Checking LED)
////////////////////////////////////////////
IF(Crying()) //If barnet gråter
{
digitalWrite (röd, hög), //Turn på ljudet LED
Delay(100);
digitalWrite (röd, låg), //Turn av ljudet LED
rop ++; //Increment cry värde ursprungliga värde = 0, starterna på cry = 10
fördröjning (300), //Delay att avbryta buller
}
}
///////////////////////////////////////////
om ((Crying()) & & (z)) //if baby gråter och programmet går genom sleepingMode 2
{
WakingMode (); //starts WakingMode
fördröjning (5000); //Delay före looping
}
//////////////////////////////////////////
IF((Crying()) & &(x==1)) //if baby gråter och programmet leds genom sleepingMode 1
SleepingMode2 (); //Starts SleepingMode2
annars om ((! Crying()) & &(x==1)) //if barnet inte är gråta och programmet passerat genom sleepingMode 1
{
Twitter.sendMessage(account,Message3); / / Skicka ett meddelande på twitter för föräldrarna \
rop = 0; //Reset värdet till det ursprungliga värdet
z = 0; //Reset värdet till det ursprungliga värdet
y = 1. //Reset värdet till det ursprungliga värdet
x = 0; //Reset värdet till det ursprungliga värdet
}
///////////////////////////////////////////
IF(Cry==10) //If rop = 10 innebär barnet gråter
{
digitalWrite (grön, låg), //Turn av den gröna lysdioden
SleepingMode (); //starts SleepingMode 1
}
}