Stap 3: De Code
Voordat we beginnen met de bespreking van de code, is het belangrijk dat u de basisprincipes van elke programmeertaal begrijpt. Ik zal het gebruik van termen en trefwoorden dat ik neem aan u dat weet dus het is zeer de moeite waard een paar minuten om sommige eenvoudige YouTube-video's over de programmering voordat u verdergaat.
Met slechts één knop en knop hebben we een manier vinden om te navigeren van animaties. Ik gebruikte een status gebaseerde methode. Met de schakeloptie, telkens wanneer die de digitalRead(button) laag is (aangezien wij op de grond aangesloten), moeten we het programma wijzigen van Staten.
Het is belangrijk om te weten dat we om de RGB LED wijzigen in elke gewenste kleur, moeten gebruiken wat bekend staat als PWM (Pulse Width Modulation). Dit is eigenlijk een middel van het gebruik van een digital pin te doen variërende hoeveelheden werk. In plaats van beide ON of OFF, (100% werk of 0%), de PIN-code kan doen ieder percentage werk tussen hoog en laag. De attiny85 heeft echter alleen de twee pinnen kunnen PWM (0 en 1). Dus in de code, heb ik ook een methode (die is niet mijn werk) met de naam softPWM. (AKA Software PWM). Dit laat ons toe om PWM gebruiken op iemand van de de attiny pinnen! (Zie de afbeelding voor visuele weergave, foto van arduino.cc).
Kantlijnnotitie: staten wijzigen met behulp van de knop terwijl binnenkant van een lus (of andere drukke werkzaamheden) hebben, kunnen we het gebruiken van interrupts. Echter, omwille van de eenvoud van, ik gebruikte eenvoudig "als" logica te breken uit een lus of een retourwaarde van methodes als digitalRead(button) laag is.
Ook Houd er rekening mee dat de code "regenboog fade" effect eigenlijk een bijdrage van een andere instructable was:. Ik stel voor dat je het een blik/favoriet want het is een goed geformuleerde instructable op een soortgelijk project.
Ik heb de code als een tekstbestand geupload. Om het te gebruiken gewoon kopiëren van de inhoud in uw arduino schets en upload naar de attiny85!