Stap 6: Licht effecten softwarebestanden en overzicht
Twee aparte PIC 12F683 microprocessoren genereren de lichteffecten, één voor het knipperende groene lichten, en de andere voor de rode en gele lampjes die flash in sync met de effecten van de stem.Beide programma's zijn geschreven in vergadering met behulp van de Microchip MPASM tool die gratis op hun website.
De verzamelde *.hex bestands- en *.asm-bronbestand voor elk programma hier opgenomen, samen met een hoog niveau stroomschema weergegeven is: de werking van elk programma. De *.asm-bestanden bevatten ook veel commentaren door het uitleggen van de werking van het programma.
De algemene werking van elk programma is als volgt.
Groene lichten knipperen
Het programma draait op de processor die de knipperend groen licht effecten alleen genereert de LED-instellingen uit een tabel van 20 verschillende staten opgehaald. Elke staat is weergegeven voor 300 milliseconden, en vervolgens het volgende frame wordt opgezocht in de tabel en weergegeven, en zo verder. De programma lus de tabel voor eeuwig, waardoor de schijn dat de lampjes knipperen willekeurig.
Stem Sync lichten
Het programma draait op de processor die genereert de lichten die flash in sync met de stem effecten monsters de audio met behulp van de processors interne A/D converter. Van elk monster, de omvang van de audio golfvorm wordt bepaald, en het wordt vergeleken met een drempelwaarde. Als de omvang groter is dan de drempel, de digitale uitgang hoog is ingesteld, anders is het laag ingesteld.
De drempel is instelbaar via de spanning over een andere inbreng op de microprocessor. De A/D-input wordt gebruikt om te lezen de spanning op deze invoer, en het resultaat wordt gebruikt voor het bepalen van de drempel. Het programma omvat ook sommige hysteresis aan het proces van de vergelijking van omvang.
Dit programma levert ook twee extra uitgangen die niet worden gebruikt in de lichteffecten op het model, maar kunnen nuttig zijn voor andere doeleinden. De eerste is gewoon een digitale uitgang is de aanvulling van de gebruikt om de stem van de LEDs te drijven. Deze uitgang is hoog wanneer de andere laag, en vice versa is. Dit zou nuttig zijn als een omgekeerde vermogen noodzakelijk waren, zodat de uitvoer wanneer het audiosignaal groter dan de drempel was laag was.
De tweede ongebruikte uitvoer maakt gebruik van de processors PWM-module te produceren een PWM-signaal met een accijns cyclus evenredig aan de omvang van het audiosignaal.