Flera blinkande lysdioder i olika (1 / 4 steg)
Steg 1: Varför använder VIPER
I denna mycket populära instructable kan du se hur blinka flera lysdioder med delay() i funktionen loop() . Denna logik är det OK om du vill att blinka dem alla på en gång eller om du vill att blinka efter varandra eller att göra andra enkla effekter.
Men om du vill blinkar lysdioderna på olika priser? Denna fråga kommer upp praktiskt taget varje dag på Arduino forumet och det är där funktionen delay() egentligen inte hjälpa. I själva verket i Arduino med delay() har en bieffekt - Arduino gör ingenting för att även. För att få två eller fler "åtgärder" att köra oberoende av varandra, kan inte du använda delay().
För att lösa detta problem, finns det många lösningar, mer eller mindre svårt:
- med hjälp av millis() [länk]
- med hjälp av en tabell gäller [länk]
- en Finite-State Machine logik [länk]
Dock är designers och icke-programmerare användare frustrerade över svårigheterna att genomföra sådana funktioner i microcontrollers. De vill bara deras prototyp och produktens funktion.
För att lösa dessa smärtor, VIPER stöder alla de mest används på hög nivå funktioner för Python som moduler, klasser, multitrådning, callbacks, timers och undantag, plus några anpassade maskinvarurelaterade funktioner som avbryter, PWM, digitala I/O, etc.
VIPER är en lättanvänd utveckling svit för hög nivå design av interaktiva objekt redo för molnet och IoT. VIPER är sammansatt av en plattformsoberoende IDE, en mobil APP & en virtuell dator som körs på olika plattformar. Med VIPER kan kreatörer, designers och yrkesverksamma utvecklas i Python på grund av Arduino, ST Nucleo och de flesta av partikel (tidigare gnista) produkter och liknande skivor med paradigm och funktioner som är typiska för PC och mobil programmering.