Schritt 3: Der Code
Bevor wir beginnen, Code zu diskutieren, ist es wichtig, dass Sie die Grundlagen einer Programmiersprache zu verstehen. Ich werde mit Begriffen und Keywords, dass Sie vermutlich wissen, so lohnt es wenige Minuten bis einige einfach YouTube-Videos auf Programmierung, bevor Sie fortfahren.
Mit nur einer Taste und Regler müssen wir einen Weg finden, durch Animationen zu navigieren. Ich habe eine statusbasierte Methode. Mit Hilfe eines Schalters, jedes Mal, wenn die digitalRead(button) gering ist (da wir es mit Masse verbunden), haben wir das Programm Zustände ändern.
Es ist wichtig zu wissen, dass um die RGB-LED in einer beliebigen Farbe ändern zu machen, wir müssen das sogenannte PWM (Pulsweitenmodulation). Dies ist im Grunde ein Mittel mit einem digitalen Stift, um Variable Mengen an Arbeit zu tun. Anstatt entweder ein- oder auszuschalten, (Arbeit 100 % oder 0 %), die Pin kann jeder Prozentsatz der Arbeit zwischen hoch und niedrig. Der attiny85 hat jedoch nur zwei Pins in der Lage, PWM (0 und 1). Also im Code haben ich eine Methode (das ist nicht meine Arbeit) namens SoftPWM enthalten. (AKA Software PWM). Dies erlaubt uns, PWM auf jeden der Attiny Stifte verwenden! (Siehe das Bild für die visuelle Darstellung, Bild aus arduino.cc).
Randnotiz: haben Staaten ändern mit der Taste während innerhalb einer Schleife (oder anderen anstrengenden Arbeit), wir können Interrupts verwenden. Allerdings verwendet der Einfachheit halber, ich nur einfach "Wenn" Logik von brechen Schleifen oder Rückkehr aus Methoden wenn digitalRead(button) niedrig ist.
Bitte beachten Sie auch, dass die "Regenbogen-Fade" Effektcode tatsächlich einen Beitrag aus einem anderen instructable wurde:. Ich schlage vor, Sie geben ihm einen Blick/Favoriten, denn es ist eine gut formulierte instructable an einem ähnlichen Projekt.
Ich habe den Code als Text-Datei hochgeladen. Kopieren Sie einfach den Inhalt in Ihre Arduino Sketch und Upload auf den attiny85 verwenden!