Livskvalitet mätaren Mk.2 - smartare och anslutna (10 / 20 steg)
Det börjar genom att ringa bibliotek och inställningen konstanter, insatsvaror och input debounce (Detta förhindrar enda skjuter tolkas som flera pushes, som orsakas av vetenskap) liksom de flesta andra skisser. Nästa är de variabler som du kommer att behöva ändra för din användning. Ersätta, lägga till, eller ta bort namnen i matrisen namn och ange de numOfNames, qolValues, och jag looping variabel till antalet poster i matrisen namn storlek.
Setup()-funktionen börjar liksom de flesta andra samt med indata/utdata initiering. Efter att det fyller qolValues array och samtal första funktion, welcomeScreen(). Denna funktion bara anger bakgrundsbelysning färg blå och visar ett startup-meddelande. Återvänder från funktionen det väntar några sekunder, sedan så visas sidan genomsnittliga livskvalitet och anropar en funktion, ColorSet(int), att ställa in bakgrundsljus färgen på lämpligt sätt.
ColorSet tar insatsvara heltal från 0-100 och väljer sedan en färg från röd till grön respektive bakgrundsbelysning. De röda och gröna värdena för varje steg lagras i separata matriser (blå är alltid 0 så det inte kräver en matris). Efter det en stor om... annars-om loop hanterar det faktiska urval och inställningen bakgrundsbelysningen. Vi kommer att se denna funktion kallas mycket mer genom ut koden.
Nu skriver in det viktigaste loop() funktionen och efter börjar Dämpningstid ingångar det börjar titta på för knappen (D2) och touch sensor (D3) pressas. När du trycker på knappen (du måste hålla för en bråkdels sekund på grund av debounce) det Justerar räknaren (jag ) om det inte är på sista sidan och återställs till 0 om det är, sedan kontroller där det i menyn är på. Efter som det visar sidan för det nya jag värdet. Om touch sensorn trycks igen ger den en beat till Dämpningstid, och det visar någon sida än genomsnittligt det appeller NewQoLValue(int) för att möjliggöra att personen kan justera deras nuvarande QoL värde.
När jag läste heltalet som passerat, NewQoLValue lägger till "-Ange" till den första raden i displayen för rätt person, läser indata från potentiometer, normaliserar det till ett värde mellan 0 och 10, och kräver ColorSet. Denna process loopar tills knappen är intryckt och sedan potentiometern läsning då sparas (och överförs till IoT instrumentpanelen om det är aktiverat för denna person) och individer huvudsidan visas igen.
Varje gång den sista sidan, som visar genomsnittligt, visas den anropar funktionen qolAverage() , visar nya medelvärdet och sedan sänder den nya genomsnittligt IoT Dashboard med IoTTransmit(). qolAverage är en enkel funktion som lägger till alla värden från qolValues och dividerar med antalet namn att producera en grupp genomsnitt. IoTTransmit använder en Switch... Fall att överföra rätt värde, individuella eller medelvärde, med den matchande komponenten på IoT instrumentpanelen.
Syntax för iotkit.send är viktigt och var felaktig i exemplen när jag hämtade dem. Det första argumentet är namnet på den komponent du skickar data till. Detta sätts inom citationstecken och kan hittas i katalogen på din IoT konto instrumentpanelssida (mer om det i nästa steg). Det andra argumentet är helt enkelt den data som skickas. I exemplen ingår i biblioteket, på tiden av skrivande men jag tror det är korrigerats sedan kommandot Skicka visar en komponentnamn som inte matchar namnet på webbplatsen, men jag ska förklara i nästa steg.