Stap 3: Schrijven van de Code
Aangesloten op dit is een bestand met de code van de Arduino. Het kan worden opgesplitst in drie delen.
Eerst hebt u de belangrijkste methode die gaat van lijn 1 naar lijn 61 en bevat de setup, lus, en elke invoer, variabelen en functie-aanroepen die moet u wellicht. Dit is het skelet waardoor alle code elkaar zodat het functie. You Gonna wilt downloaden en importeren de NeoPixel library (gevonden hier) en de LiquidCrystal-bibliotheek die reeds opgenomen in de Arduino software moet.
Ten tweede hebt u de functie "dubbele tempMeasure" vanaf lijn 64 en gaan tot 79. Dit is de code waarmee de spanning dat de TMP36 lezing en dit vertaalt, met behulp van wat snel wiskunde, in een temperatuurweergave en keert vervolgens terug dat uitlezing naar de belangrijkste methode. Dit is waar het is belangrijk om te weten waarom wij de TMP36 gekoppeld aan de 3.3V en AREF pinnen. De werking van de TMP36 is dat het duurt een spanning tussen twee punten, die vanwege een wijziging in de weerstand van de temperatuur, kan dan zeer zeer zeer nauwkeurige temperatuur lezingen te lezen. In de code moeten we het 2 decimale punten, maar als je wilde u de volledige 64-bits decimaal die zou gaan in de duizendsten, tien duizendsten, honderd duizendsten, wat heb je kon krijgen. Dat uitlezing zou interessant maar ook een beetje onhandig voor de doeleinden van dit project. Dat spanning lezing dan wordt gevoed door een omzetting die worden gedeeld door 1024 (10 bits, de toewijzing Arduino gebruikt) en vervolgens converteert die met behulp van 10 mV per graad met een verschuiving van 500 mV. Wat wordt geretourneerd, is een ongelooflijk nauwkeurige temperatuurmeting in Celsius die vervolgens in Fahrenheit in de belangrijkste methode omgezet wordt.
Ten derde hebt u de functie "ongeldig pixelCasef", dat loopt van lijn 81 naar 158. Dit is de code waarmee de NeoPixel uitlezing met een reeks If Else-instructies en for-lussen die in ~ 10 (voor lawaai tolerantie werken) graden Fahrenheit verhoogd dat verandering kleur en hoogte van pixels verlicht. Dit is waar u de code wijzigen om zich anders gedragen met een verschillend aantal stokken. Om aan te passen ga u naar elk van deze voor loops en schakelaar van getallen. Het getal in de lusinstructie (dwz voor (int ik = 0; ik < = 16; i ++)) is het aantal u voor het aantal pixels aangestoken en het aantal in het hoofdgedeelte van de for-lus (dat wil zeggen strip.setPixelColor (i, strip. Kleur (0,0,255));) verandert de kleur van de pixels verlicht.
Vergeet niet om een echt goede kijkje nemen op de code om volledig te begrijpen wat er gaande is voordat het compileren.