K.k. Bossa Song und Animation auf einem Arduino (5 / 5 schritt)


Schritt 5: Wie funktioniert es

PROGMEM

Erstens glaube ich, muss was PROGMEM für Anfänger ist. PROGMEM lässt sich die Variablen in den Programmspeicher im Gegensatz zu den dynamischen Speicher oder SRAM zu speichern. Wenn eine Skizze zu viele globale Variablen hat, kann man die Menge von SRAM übertreffen. Wenn das passiert, wird die Skizze wird nicht funktionieren und stürzt ab. Also man kann alle Variablen in den Programmspeicher freien Speicherplatz im SRAM bewegen. Allerdings müssen spezielle Funktionen aufgerufen werden, um die Variablen von Programm-Speicher abrufen. Es ist heikle Angelegenheit und kann manchmal sehr frustrierend sein, aber es ist das beste, was zu tun bei der Arbeit mit sehr langen Arrays um (SRAM) Platz zu sparen. Siehe hier für weitere Details und Beispiele.

Wie funktioniert das Lied:

Um mehrere Töne spielen zu können, Teile ich jedem Schlag in vier kleinere Schläge - die ich genannt habe Mini-Beats. So entspricht jedes Mini Beat aus dem 16. beachten. Diese Mini-Beats fungieren als Zähler für wenn eine Note gespielt werden sollte und wann es - einfach enden sollte. In Wirklichkeit muss der Mini Beat nur den kleinsten Hinweis in das gesamte Stück. Ich entschied mich für ein 16. beachten Sie, da sehr wenige Stücke 32. Noten haben. Ja, haben einige Orchesterstücke 32. Notizen, aber wollen Sie wirklich, die auf einem Arduino zu spielen? In jedem Fall wäre es sehr einfach, es zu 32. Hinweis Mini Beats zu ändern, wenn Sie dies wünschen.

Wie funktioniert die Animation:

Anstatt zu schreiben alle meine benutzerdefinierte Char Arrays in Binär, Oktal oder hex, ist alles im Dezimalformat geschrieben. In der Tat können Sie benutzerdefinierte Zeichen mit Dezimalwerte zwischen 0 und 31 erstellen.

Jetzt sieht der Computer noch die Ganzzahl als Binärwert im Back-End, so mithilfe von Bit-Operationen, die Sie verschieben, können dieser Wert nur greifen eine Teilzeichenfolge Länge fünf davon für die Erstellung von benutzerdefinierten Zeichen verwenden. (Hinweis: jeder Bereich auf dem 16 x 2 LCD ist fünf Pixel breit).

Zum Beispiel: Blick auf meine excel-Tabelle, sagen: ich will die ersten fünf Pixel auf Kk Schieberegler Zeile 0 aus Spalten 12-8. Der Dezimalwert der gesamten Zeile ist 896 - 0001110000000 im binären System. Also wenn ich 896 achtmal nach links verschoben, bekomme 3 - ich 00011 Binär ist.

Haben Sie die oben genannten auf acht Zeilen man genug Daten, um eine benutzerdefinierte Zeichen erstellen. Das ist der Kern von ihm.

Also warum verwenden dezimale Werte? Sie haben nicht wirklich zu, es ist rein für Ästhetik. Eine Reihe von 0 und 1 die Eingabe könnte fahren Sie verrückt und es gibt viel mehr Raum für Fehler. Darüber hinaus nicht ich mag es, eine benutzerdefiniertes Zeichen nehmen so viele Zeilen, also, warum ich nur ein Bild in eine einzelne Zeile zu stopfen. Wenn Sie binäre Werte benutzten wäre jede Zeile super lange zu blättern. So ist es, was auch immer Sie bevorzugen. Zu meiner Überraschung funktioniert meine Skizze tatsächlich so oder so (getestet habe ich es).

In Verbindung stehende Artikel

Gewusst wie: ändern Sie vorne Bremsbeläge und Rotoren auf einem Buick Century und ähnlichen Fahrzeugen

Gewusst wie: ändern Sie vorne Bremsbeläge und Rotoren auf einem Buick Century und ähnlichen Fahrzeugen

1A Auto zeigt Ihnen, wie zu reparieren, reparieren, ändern oder ersetzen Sie Ihre eigenen getragen, quietschende, verblassen alten Bremsbeläge vorne und Rotoren auf einem Buick Century. Dieses Video ist für Buick Lesabre, Chevrolet Venture, Oldsmobil
Wie man das Lied spielen Scary Monsters und schönen Sprites von Skrillex auf einem Arduino

Wie man das Lied spielen Scary Monsters und schönen Sprites von Skrillex auf einem Arduino

Wenn Sie Spaß an meiner Arbeit, dann beachten Sie gehen und eine kleine Menge von Geld, um mir zu helfen, eine open-Source-Tablet zu finanzieren arbeite ich derzeit an für ein zukünftiges Projekt zu spenden.http://www.Gofundme.com/Rpitablet-Vielen Da
Wie man Schleifen und Boardslide auf einem Tech Deck

Wie man Schleifen und Boardslide auf einem Tech Deck

heutigen instructable zeigt Ihnen, wie man Schleifen und Boardslide auf einem Tech-Deck.Schritt 1: Start mit einem Ollie (Boardslide) Ollie auf der Schiene oder das Objekt, Sie sind mit einem kleinen Winkel auf Schleifen. Landen, so dass der Vorstand
Spielen Sie Nintendo64 Spiele mit Wiimote und Nunchuk auf einem PC!

Spielen Sie Nintendo64 Spiele mit Wiimote und Nunchuk auf einem PC!

Hallo allerseits!In diesem meinem ersten instructable ich zeige dir wie man Nintendo64 Spiele mit dem Komfort einer Wiimote und Nunchuk auf einem PC spielen!Haftungsausschluss: Game Roms sind Eigentum von Nintendo und herunterladen ist illegal, so da
Finite State Machine auf einem Arduino

Finite State Machine auf einem Arduino

Heute werden wir eine Finite-State Machine (FSM) auf einem Arduino umsetzen. Dadurch können Sie mit einem genau definierten Verhalten basierend auf verschiedene Zustände Systeme einzurichten. Sie werden lernen, was eine Finite-State-Machine ist und w
Gewusst wie: Dual-Boot-Linux und Windows (auf einem PC mit Windows 7 bereits installiert)

Gewusst wie: Dual-Boot-Linux und Windows (auf einem PC mit Windows 7 bereits installiert)

diese Instructable dient zum Einrichten des Computers zum Dual-Boot Windows 7 und Ubuntu Linux. Dual-Boot ist eine Technik, die einen einzelnen physischen Computer zwei oder mehr Betriebssysteme (BS) ausführen zu können. Dies ist nützlich für das Exp
Anfänger-Leitfaden: 3d Stühle und Tisch auf einem Ipad

Anfänger-Leitfaden: 3d Stühle und Tisch auf einem Ipad

dieses Tutorial erklärt, wie man einen einfachen Tisch und Stühle (für ein Puppenhaus) mit einem Ipad und eine kostenlose app (123D Kreatur).Es soll eine einfache Anleitung, so dass Computerkenntnisse kein Hindernis für die Schöpfung sein sollte.Schr
Öl, Ölfilter und Luftfilter auf einem Citroen C3 2006-2008 ändern

Öl, Ölfilter und Luftfilter auf einem Citroen C3 2006-2008 ändern

der Citroen C3 ist ein schönes Auto, meine einzige wirkliche Reue ist derzeit, dass es kein Haynes Handbuch noch, und es hält verzögert.So ein paar meiner Notizen als Instructables auf Dinge ich schreibe wie ich es tue, sollte dies ein grundlegender
Wie man Musik, Videos und Bilder auf einem Nintendo DS

Wie man Musik, Videos und Bilder auf einem Nintendo DS

in diesem instructable, werden (hoffentlich) erfahren Sie wie man Videos, Musik und Bilder auf Ihrem ds setzen. Wenn man einmal den Dreh raus, eigentlich ganz einfach. Nun... auf mit dem lernen!EDIT: für diejenigen unter Ihnen, die nur einen Konverte
Tutorial: Wie Bremsbeläge und Bremsscheiben auf einem 2003 Subaru WRX ändern

Tutorial: Wie Bremsbeläge und Bremsscheiben auf einem 2003 Subaru WRX ändern

wie Autos? Schauen Sie sich meine neue Website! http://nukem384.blogspot.com/http://www.YouTube.com/watch?v=axSa9dWCcQoKurzanleitung zum ändern Ihre Bremsbeläge und Bremsscheiben auf einen Subaru WRX.  STi ist ähnlich, aber nicht genau das gleiche.
Programmieren, eine einfache Melodie auf einem Arduino Uno

Programmieren, eine einfache Melodie auf einem Arduino Uno

Diese instructable zeigen Ihnen eine super-einfache Möglichkeit der Programmierung Ihrer Arduino Uno spielen eine einfache Midi-Melodie (in diesem Fall "You Are My Sunshine"). Ich habe ein paar Dinge in meinem Arduino-Starter-Kit, ein Chromebook
Grafische Darstellung auf einem Arduino, der einfache Weg!

Grafische Darstellung auf einem Arduino, der einfache Weg!

Manchmal, wenn Sie einen Sensor testen oder Debuggen einen Wert in einem Arduino-Projekt, Sie möchten etwas anderes als Zahlen fliegt in den Serial Monitor sehen. Jedoch soll der Sensor schnell zu bekommen, und Sie wollen nicht die Zeit nehmen, die C
Gewusst wie: Anzeigen von Temperatur und Luftfeuchtigkeit mit einem Arduino und einem DHT11 Luftfeuchtigkeitssensor

Gewusst wie: Anzeigen von Temperatur und Luftfeuchtigkeit mit einem Arduino und einem DHT11 Luftfeuchtigkeitssensor

Ich habe einige Instructables zeigt, wie man die Temperatur mit einem Temperatursensor zu lesen.Jetzt habe ich die DHT11 entdeckt die macht die gleiche Arbeit plus Luftfeuchtigkeit sowie zeigt. Auch lesen, dass aus einem DHT11 Temperatur viel einfach
Ihr Bild auf einem Arduino! -TFT-LCD-Bildschirm-Guide

Ihr Bild auf einem Arduino! -TFT-LCD-Bildschirm-Guide

haben Sie schon einmal von TFT-LCD-Bildschirmen?  Sie sind große Möglichkeiten, um Informationen aus Ihrem Arduino anzeigen oder Bilder anzeigen.  Das Arduino-Team soeben eine offizielle TFT LCD-Display mit ihrer neuen Roboter auf der Maker Faire 201