Stap 2: Kerngegevens #2. Meerdere keren uitvoeren van de "ON" sectie
2. de "ON" sectie verschillende keren wordt uitgevoerd voordat u de sectie "OFF"
Zoals ik vermeld in stap 1, was splitsen de aan en uit functies in hun eigen secties binnen het script een groot stuk van de puzzel met dit project. Door het opsplitsen van hen kon ik nu fietsen door de ON-functies meerdere malen voordat u gaat ergens in de buurt van de OFF-functies. Dit bereikt twee dingen voor mij. 1. stopt de LEDs van flikkeren aan en uit zo snel dat u duizelig te kijken. 2. de LEDs synchroniseren veel beter omdat elke LED een kans om te lezen van de sensor-waarde meerdere keren om te bepalen heeft als het ON of niet wenden moet.
Een "if"-instructie en een variabele met de naam "count" bepalen hoe vaak de ON-instructies worden gelezen voordat u naar de verklaringen van de OFF. En elk van de OFF-instructies is alleen gelezen keer voordat het script doorlopen de ON verklaringen opnieuw.
Het hele script begint dus met een gelabelde sectie met de naam "CheckCount".
CheckCount: / / dit is de "label"
als (graaf > 1100) goto ledsOFF; Hoeveel keer de verklaringen van de ON uitvoeren voordat u naar de sectie OFF
Dat is geen typfout, de verklaringen van de ON 1,101 tijden worden gelezen voordat alle LED's zijn uitgeschakeld. Maar een van de video's kijken en je ziet hoe snel dat gebeurt.
telling = (count + 1); elke keer dat het programma de verklaringen van de ON doorloopt verhoogt het de huidige waarde opgeslagen in "count" door 1.
Dus, als "count" niet is meer dan 1100 het programma de huidige waarde opgeslagen in graaf door 1 verhoogt en blijft het volgende deel van de functies die toevallig de "ledsON" functies. Het laatste wat in de sectie "ledsON" is "goto CheckCount;". Dit zorgt ervoor dat het programma om terug te keren terug CheckCount en start opnieuw. Dit gaat door tot de waarde van "count" meer dan 1100 op welk punt het programma rechtstreeks naar de sectie van het script met de naam "ledsOFF is gaat" (Negeer de ledsON sectie volledig uit). En het laatste ding dat onder de ledsOFF sectie gebeurt opnieuw instellen van de waarde van "count" terug tot nul, het hele proces helemaal opnieuw beginnen.