Miniatyr Smart House (4 / 5 steg)
Steg 4: Programmera Arduino
Först programmera Arduino Uno med det StandardFirmata exemplet skiss som tillhandahålls av Adafruit.
Jag har bifogat filer jag skapat i detta projekt. Se till att lägga till den House.h, House.cpp och pitches.h som flikar i Main_Code skissen. Skissen ska laddas upp till Arduino mikro.
Jag skapade bibliotek huset, som består av House.h och House.cpp.
Sidhuvudfilen skapar klassen genom att definiera konstruktören, funktioner som ska användas i filen Main_Code.ino, och variablerna som används i filen House.cpp.
CPP-filen definierar vad varje funktion gör när den anropas i filen Main_Code.ino. Först i den här filen kommer du att se matriser melodi och Obs tiderna, används dessa av funktionen playtune(). Jag kopierade denna funktion från garagelab.com, definitionerna för anteckningar i pitches.h. Konstruktören tilldelar stiften för enheten och anger utgångsstiftet som en utgång och ingångsstift som indata. Funktionerna openDoor() och closeDoor() styr servo kopplad till dörren. PlayTune() och silent() kontroll högtalarutgången.
I Main_Code.ino, först definierade jag stiften för dörren, Summer och avbrott. Avbrotten är baserade på en förändring i spänning på input stiften. Denna spänning ändras när du ändrar pin utdata i Adafruit app. Funktionen dörr håller koll på tidigare status för dörren ingångsstift spänningen så om tidigare var dörren stängd, ändra spänningen kommer att öppna den dörren och vice versa. Summern också håller reda på summern ingångsstift spänningen så om summern var tidigare avstängd, tonerna kommer att spela och om summern spelade tidigare, summern kommer att tystas. Obs: Funktionen playTune() anropas när flaggan prevBuzzer har angetts till 1 och det checkas in de viktigaste loopen. Det måste vara i den viktigaste loopen så förseningar i playTune() kommer att vara i kraft. Förseningar kan inte köras i ett avbrott. De Serial.println() rapporterna ingår för felsökning ändamål.