K.K. Bossa lied en animatie op een Arduino (5 / 5 stap)

Stap 5: Hoe het werkt

PROGMEM

Eerst, ik denk dat ik nodig om te pakken wat PROGMEM is voor beginners. PROGMEM is een manier voor het opslaan van variabelen in het programmageheugen in tegenstelling tot de dynamische geheugen of SRAM. Als een schets teveel globale variabelen heeft, kan men de hoeveelheid SRAM overtreffen. Wanneer dat gebeurt, wordt de schets zal niet werken en zal verpletteren. Dus men mag alle variabelen naar het programmageheugen aan vrije omhooggaande ruimte binnen SRAM overbrengen. Speciale functies moeten echter worden opgeroepen om op te halen van de variabelen van programma geheugenruimte. Het is een lastige zaak en kan zeer frustrerend soms, maar het is het beste ding om te doen wanneer u werkt met zeer lange arrays om (SRAM) ruimte te besparen. Zie hier voor meer details en voorbeelden.

De werking van het liedje:

Om te spelen meerdere tinten, verdeel ik elke hartslag in vier kleinere beats - die ik genoemd mini beats. Elke mini hartslag is dus gelijk aan een 16e opmerking. Deze mini beats fungeren als de teller voor wanneer een opmerking moet worden gespeeld en wanneer het zou eindigen - simpel. In werkelijkheid moet de mini beat net de kleinste opmerking binnen het hele stuk. Ik koos voor een 16e opmerking omdat zeer weinig stukken 32e notities hebt. Ja, sommige stukken orkest 32e notities hebt, maar wil je echt te spelen die op een arduino? In ieder geval zou het heel gemakkelijk om het te veranderen naar 32e Opmerking mini beats als u zo wenst.

Hoe werkt de animatie:

In plaats van schrijven alle van mijn aangepaste character char arrays in binair, octaal of hex, alles is geschreven in decimale notatie. In feite kunt u aangepaste char met decimale waarden tussen 0-31.

Nu de computer nog steeds ziet het gehele getal als binaire waarde in de back-end, zodat met behulp van de bit operaties u kunt verschuiven die waarde om gewoon pak een lengte vijf substring van het te gebruiken voor het creëren van aangepaste char. (Opmerking: verschillende deelvensters op de 16 x 2 LCD is vijf pixels breed).

Bijvoorbeeld: kijken naar mijn excel-spreadsheet, zeggen: ik wil de eerste vijf pixels op kk schuifregelaar op rij 0 uit kolommen 12-8. De decimale waarde voor de gehele rij is 896 - 0001110000000 in binary. Dus als ik 896 achtmaal naar links verschuiven, krijgt ik 3 - oftewel 00011 binair.

Doen de bovenstaande op acht totaalrijen om genoeg gegevens om het maken van een aangepaste char. Dat is de kern van het.

Dus Hoezo decimale waarden? U eigenlijk niet moet, het is puur voor esthetiek. Te typen van een bos van 0 en 1's kon rijden je gek en er is veel meer ruimte voor fouten. Bovendien, ik houd niet met een aangepaste char nemen zoveel rijen, dus dat is waarom ik proppen slechts één afbeelding in één rij. Als u binaire waarden is elke rij zou super lange om door te bladeren. Dus het is wat je liever. Tot mijn verbazing werkt mijn schets eigenlijk bakboord (ik getest).

Gerelateerde Artikelen

Een animatie binnen een water langs Physalia

Een animatie binnen een water langs Physalia

2000 foto's componeren dit stuk-dat wil zeggen, 2000 perfect verschillende waterdruppels waarin we een animatie hebt toegewezen. Druppeltjes die gedragen zich vreemd lijken het stadium van minder entropie en worden meer wanordelijke als ze splash.Het
Kleur kalibreren RGB LEDs met een Arduino

Kleur kalibreren RGB LEDs met een Arduino

De meeste mensen denken LEDs en Arduino van betrekkingen eindigen met het knipperen schets. Daarna moet u gaan naar motoren, intelligente huizen en andere 'serieuze' dingen. Nou, misschien ik ben langzaam of misschien is het gewoon dat ik een grafisc
Beheersing van een karakter-LCD met een Arduino

Beheersing van een karakter-LCD met een Arduino

Hallo! Vandaag zal ik introduceren karakter LCD's en laten zien hoe ze op een Arduino aansluiten.Het is allemaal heel eenvoudig en gebruikt slechts 6 PINS met interface!Opmerking: het beeld is niet de mijne en komt uit http://www.micro-examples.com/p
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Een eenvoudige melodie op een Arduino Uno Program

Een eenvoudige melodie op een Arduino Uno Program

Dit instructable leert u een super-eenvoudige manier van programmeren uw Arduino Uno om te spelen een eenvoudige midi-tune (in dit geval "You Are My Sunshine"). Ik gebruikte een paar punten in mijn Arduino Starter Kit, een legt en de gratis clou
Mobiele robotica met Scratch: een Arduino gebaseerde insect-achtige Walker bouwen en programmeren met Scratch

Mobiele robotica met Scratch: een Arduino gebaseerde insect-achtige Walker bouwen en programmeren met Scratch

Laten we scurry rond? Dit is een Arduino gebaseerde, gemakkelijk om te bouwen van de versie van het insect-achtige walker gemaakt met kapstok draad en oorspronkelijk ontworpen door Jerome Demers (Zie ook dit instructable) en Gareth Branwyn. Het komt
Hack een wisselaar van de stem om toe te voegen van de input van een Arduino

Hack een wisselaar van de stem om toe te voegen van de input van een Arduino

een andere snelle hack. Ik kocht een wisselaar van de stem, want ik was op zoek naar iets goedkoop die een stem-invoerapparaat kan worden gekraakt. Eigenlijk wilde ik een schedel van animatie voorzien toen ik sprak. Toegevoegde bonus, nu de schedel p
Joystick gecontroleerd robotarm met behulp van een Arduino

Joystick gecontroleerd robotarm met behulp van een Arduino

Doel en beschrijving van deze handleidingDit instructable is een hand-in voor een schoolproject die we gemaakt. Het doel van dit project was een robot-arm besturingselement met thumbsticks maken. Moesten we gebruik maken van een Arduino Uno voor het
Programmeren van een Arduino van Raspberry Pi

Programmeren van een Arduino van Raspberry Pi

Informatie over het installeren van de Arduino IDE op je Raspberry Pi, zodat u kunt schrijven en uploaden van programma's op een Arduino.Items nodig:1 x Raspberry Pi1 x ArduinoPlus wat ooit kabels nodig zijn zoals USB aan de Arduino.Stap 1: Installer
RGB LED Tutorial (met behulp van een Arduino) (RGBL)

RGB LED Tutorial (met behulp van een Arduino) (RGBL)

LED's zijn geweldig. Maar er een punt waar het opvlammen eenvoudigweg niet voldoende is bij elk project komt. Voor deze gevallen een RGB (rood, groen, blauw) is LED het antwoord.Elke kleur gloed met een RGB LED zult u kunnen tot uw hartje begeert.Bij
Opzetten van een A100LK Anemometer op een Arduino

Opzetten van een A100LK Anemometer op een Arduino

Iedereen denkt van het installeren van een windgenerator, of zelfs een hele kudde voor windgenerators, zou er goed aan doen om te controleren de voorgestelde site ten minste één hele jaar voordat de uitgaven een cent meer op hardware. Dit is wat de A
Sleutels toe te voegen aan een Arduino Synth de harde manier-het Blacklord: het Organ Donor Project deel 2

Sleutels toe te voegen aan een Arduino Synth de harde manier-het Blacklord: het Organ Donor Project deel 2

(Opmerking-Dit is mijn 20e instructable! Dank aan iedereen volgende en commenting.on mijn projecten en aan de medewerkers die dit mogelijk maken. Deze site heeft zeker maakte me brengen mijn A game aan de workbench.)De Auduino granulaire synth door P
Gebruik van een Arduino met een N64-controller

Gebruik van een Arduino met een N64-controller

er zijn tutorials die er voor het gebruik van een NES-controller met een Arduino, maar met behulp van de meer gecompliceerde N64-controller en de analoge joystick heeft een duidelijke aantrekkingskracht. Als u een Arduino rond hebt en wil niet te kop
Laten we gaan vliegen een vlieger... met een Arduino daarop!

Laten we gaan vliegen een vlieger... met een Arduino daarop!

Hallo iedereen! Ik ben Michalis Vasilakis uit www.ardumotive.com en in deze Instructables zal ik u tonen hoe maak je je eigen Arduino IOT-systeem voor je vlieger!Dit systeem zal zitten kundig voor real-time waarden van de luchtdruk, de hoogtemeter, d