Stap 3: Code
U hoeft niet te lezen dit tenzij u knoeien wilt met wat het wordt afgespeeld of maak uw eigen. Als je van Middelengels rondes, kunt dan u dit overslaan.
Instructables zal niet mijn Ino-bestanden bijvoegen. Ik ga in plaats daarvan patebin.com gebruiken. Het is een koele plaats waar je alleen tekst of code en mensen kunt zien en kopiƫren het uit. Het is geweldig.
Deel 5: synchroniseren degene: http://pastebin.com/uUEDBbew
Onderdelen 1-4: http://pastebin.com/UZHmVzSr
http://pastebin.com/Xi8sRSUB
http://pastebin.com/qeh4tXz2
http://pastebin.com/HZNFxEya
En deel 6: http://pastebin.com/7MK8h4tQ
Deel 5 is de controle van het bestuur. Het stuurt een puls sync voor de kortste duur van de toelichting.
Er zijn twee grote arrays die de notities bevatten. De eerste bevat de frequentie in Hz. De tweede bevat de duur in termen van de snelheid van de puls sync. Er is extra spaties in de matrix omdat op de laatste opmerking, het programma zal nog steeds op zoek naar de begintijd van de volgende noot te stoppen. Het programma zet dit in de begintijd van elke noot omdat dat net lijkt beter te werken. Ik ben niet zo goed van een programmeur, als je niet kon vertellen.
Deel 5 wacht een tijdje herhalen totdat alle andere planken een klaar signaal afgeven wanneer ze klaar bent voor het verwerken van de grote arrays.
Oke, we zijn klaar te wachten voor de andere boards. De microseconds()-functie retourneert de microseconden sinds het programma is gestart. Zet frequentie in periode. Het zal schrijven hoog aan de spreker voor een fractie van de periode, lage schrijven, dan wachten voor de periode tot het einde. Hierdoor wordt een blokgolf (met verstelbare taakcyclus). Zodra de totale looptijd van het programma een veelvoud van de sync puls periode bereikt, schrijft deel 5 hoog naar de andere boards om aan te geven de volgende beat. Het schrijft lage weer na een tijdje. Zodra het juiste aantal beats passeert, het gaat naar de volgende worp.
De andere borden zijn gemakkelijker. Zij rekenen beats in plaats van microseconden. Met behulp van het zelfde proces van de blokgolf, ze wachten tot het juiste aantal beats pass, dan verplaatsen naar de volgende noot.