Arduino kitchen timer med en introduktion till timer avbryter (7 / 8 steg)
Steg 7: Koden
Koden är den svåra biten av projektet that´s varför jag beskriver detta steg lite mer detaljerad än den andra.
Det finns några kommentarer i koden som förklarar vad som gör. Men först kommer jag presentera dig för de bibliotek som du behöver. Jag använde en adafruit 2.2" 18-bitars färg TFT LCD uppvisning med microSD-kort breakout. Det är en mycket bra skärm för Arduino och arbetar med master/slav principen som innebär att du behöver mindre portar än på en 8 bitars LCD. Det är bra om du don´t har mycket pins som på Arduino Uno. Du vill använda displayen hämta följande bibliotek:
-Adafruit_ILI9340
-Adafruit-GFX
Att använda timer avbryter du behöver TimerOne biblioteket.
För att använda Piezoelementet behöver du ton-V0005 biblioteket.
Du behöver sätta det bibliotek i biblioteksmappen Aduino för att kunna använda dem.
En bra test för att se om displayen verk är graphicstest program som ingår i biblioteket.
Timer avbrottet:
En timer avbryta alltid tiggers en methode efter en viss tid, så kallade ISR (avbrottstjänstens rutin). Timer avbrott kan du utföra en aktivitet på specifikt tidsintervall oavsett vad som händer i din kod. Vi vill i detta fall utlösa det avbryta varje sekund och minska den globala variabeln av tiden av 1 sekund. Detta sätt tiden minskas med 1 som varje sekund oavsett vad händer i koden.
I ISR, avbrotten är fristående vilket innebär avbryter can´t utlösas i ISR. Funktionen delay() fungerar även med avbrott. That´s anledningen du can´t anropa funktionen i en ISR. Om du absolut behöver en försening i din ISR kan du arbeta med millis
För exakta syntaxen kolla koden.
Om du har frågor, Välkommen att ställa.