Stap 5: Firmware
De Arduino-code is niet zeer complex. Het heeft twee modi waarin gewerkt, automatische en handmatige. De automatische modus werkt wanneer de 'run' switch is omgedraaid. Het zal nu door alle stappen van de sequencer lopen op een interval dat is ingesteld door de 'tempo'-knop. Op elke stap zal het de multiplexers ingesteld op de juiste knop en LED, waarvan de waarde zal worden vertaald in een MIDI-noot, die op zijn beurt de Meeblip via Serial1 verzenden. (Opmerking: op andere Arduinos dan Leonardo, kan dit alleen worden gewijzigd in Serial). De handmatige modus werkt gelijkaardig, maar werkt direct (onderbreekt de processor), met de rechterknop met de klok mee wandelen en de linkerknop wandelen linksom.
(Er is ook een geheim functie waar de positie van de 'basis' knop bij het opstarten kiezen zal of de sequencer gebruikmaakt van een chromatisch, diatonisch of blues schaal.)
De arduino-code vindt u in "Meeblip_Project0_4.zip". Dit kan zoals gewoonlijk worden geüpload naar de Arduino, maar zul je een opstarttijd van een paar seconden. Ik wilde dit niet dus ik een als ISP Arduino met een Arduino maakte en die gebruikt om het uploaden van de code. Nu begint het instrument onmiddellijk.
Sommige code was veranderd op de Meeblip zo goed. Vooral de bindingen van de knoppen, maar het ook de status van alle de knoppen bij het opstarten controleert en verwijdert het gebruik van midi CC. Dit zorgt ervoor dat de waarde een knop is ingesteld op, wordt altijd de instelling die u kunt horen. Met behulp van Arduino ISP en avrdude, geüpload ik de firmware met de volgende opdracht:
avrdude -P COM5 -b 19200 - c avrisp -p m32 -B 5 - U flash: w:meeblip-micro.hex - U lfuse:w:0xBF:m - U hfuse:w:0xD9:m - U eeprom:w:meeblip.eep
(Meer info hierover vindt u hier)
Zowel micro.hex als micro.eep kunnen worden gevonden in de "akoestische meeblip micro firmware.zip".