Stap 7: De code
De code is het moeilijke gedeelte van het project that´s waarom ben ik de beschrijving van deze stap een beetje meer gedetailleerd dan de anderen.
Er zijn enkele opmerkingen in de code die uitleggen wat er is. Maar eerst ik zal u kennismaken met de bibliotheken die u nodig hebt. Ik gebruikte een adafruit 2.2" 18-bits kleuren TFT LCD display met microSD kaart breakout. Het is een zeer goede weergave voor Arduino en werkt met de master/slave principe, wat betekent dat u minder poorten dan op een 8 bit LCD. Dat is goed als u don´t hebben veel pinnen zoals op de Arduino Uno. Voor het gebruik van de weergave die u wilt downloaden van de volgende bibliotheken:
-Adafruit_ILI9340
-Adafruit-GFX
Als u de timer interrupts moet u de TimerOne bibliotheek.
Als u het piëzo-element moet u de Toon-V0005-bibliotheek.
U moet zetten er bibliotheken in de map van uw Aduino-bibliotheek om ze te gebruiken.
Een goede test om te zien als de weergave werken is het graphicstest-programma dat is opgenomen in de bibliotheek.
De timer onderbreken:
Een timer onderbreken altijd tiggers een methode na een bepaalde tijd, de zogenaamde ISR (Interrupt service routine). Timer interrupts kunnen u een taak met name bepaalde tussenpozen ongeacht wat is in uw code gaande er. In dit geval willen we trigger dat elke seconde onderbreken en vermindering van de globale variabele van de tijd van 1 seconde. Op deze manier die de tijd wordt verminderd met 1 er elke seconde maakt niet uit wat gaande is in de code.
In de ISR, interrupts zijn vrijstaand waardoor onderbreekt can´t worden geactiveerd in de ISR. De functie delay() werkt ook met interrupts. That´s de reden u can´t roept u die functie in een ISR. Als u absoluut een vertraging nodig hebt in uw ISR kunt u werken met millis
De precieze syntax for check out voor de code.
Als u vragen hebt, voel je vrij om te vragen.