Juni 2014 Bulid nacht: LittleBits schuifregelaar Blink (4 / 4 stap)

Stap 4: Wat doet van de schets

De schets is vrij eenvoudig, maar het illustreert nog verschillende programmeer concepten.

Ten eerste, de schets initialiseert meerdere variabelen, die later in de tekening worden gebruikt. Samen met de pinnen die we gonna gebruiken, initialiseren we de variabele voor de minimale en maximale knipperen tarieven, twee tijdwaarden winkel, en één voor of de LED moet worden in- of uitschakelen.

Omdat deze variabelen zijn geïnitialiseerd buiten elke functie, zijn ze in de globale scope. Dit betekent dat ze kunnen worden gebruikt en overal in de code gewijzigd en de wijzigingen zullen blijven bestaan. Dit zal later belangrijk geworden.

Vervolgens is de Setup-functie. Hier gebruiken we pinMode() om in te stellen van de pinnen, één voor de input (de schuifknop) en één voor uitvoer (de LED). Dan we de waarde lezen van de schuifregelaar... u niet moet wachten tot loop om te lezen een waarde zolang de pin in ingesteld.

Na Setup loopt over en loop totdat macht is verbroken. Wij initialiseren niet alle variabelen hier omdat alles wat die we nodig hebben is al in de globale scope.

Ten eerste, krijgen we de huidige tijd door het aanroepen van millis() en zetten dat in t.

Vervolgens lezen wij de waarde van de schuif-Dimmer in sldr_val. Ik moet hier opmerken dat de waarden die we hier krijgen 0 tot 1023, maar de schuif-Dimmer niet dit hoge waarden geven kan.

Nu controleren we als we iets moeten doen. We doen dit door het vergelijken van de tijd is verstreken sinds de vorige iteratie van loop te blink_val. Wanneer loop wordt uitgevoerd voor de eerste keer, hebben de vorige keer (l) en de blink_val al is ingesteld op 0, zodat dit nog steeds werkt. Als er voldoende tijd is verstreken, is het tijd om iets te doen, zodat we Voer de "als" blok en beginnen om dingen te doen.

De waarde van de schuif Dimmer (die we net gelezen) sturen we naar de seriële monitor.

Volgende update we de waarde van blink_val met behulp van een bilt in functie genaamd map() (Lees meer over het op http://arduino.cc/en/Reference/Map). Kaart neemt een variabele en kan prima overweg met het één bereik naar een ander bereik. Het eerste bereik is wat de dia Dimmer waarde zou kunnen zijn, en het tweede bereik is wat we willen; Wij zijn al geïnitialiseerd met de grenzen van dit bereik op de top van de schets als min_rate en max_rate.

Nu hebben we een bijgewerkte waarde voor blink_rate te vergelijken met de tijd die door deze herhaling van loop doorgegeven aan latere.

De volgende stap schrijft naar de pin dat de LED brandt, waardoor de LED draaien in- of uitschakelen. De syntaxis hiervoor gebruikt is zeer compact, dus ik zal het uitleggen.

Een aanroep naar digitalWrite() heeft twee argumenten: de pin en de waarde te schrijven. Hier onze eerste argument is de variabele voor de LED-pin, led_pin. Het tweede argument is niet een waarde, of zelfs een variabele... het is een expressie.

Omdat deze pin in een digitale modus is, begrijp het slechts twee waarden: true of false. De constanten die hoge en lage zijn aliassen van echte en valse, dus wanneer u hoog, je bent eigenlijk passeren waar.

Maar goed, terug naar onze uitdrukking. Het is een ternaire operator, die een soort is van steno voor if/else codeblokken. We hebben de ternaire operator verpakt in haakjes voor de duidelijkheid. Helaas zijn deze niet gedocumenteerd in de sectie van de Reference van de Arduino website, dus lees hier.

Een ternaire operator bestaat uit drie delen. Het eerste deel is een andere expressie die resulteert in de ternaire operator. Het wordt gevolgd door een vraagteken.

Het tweede deel is de resultaatwaarde van de ternaire operator als het eerste deel naar true evalueert. Het wordt gevolgd door een dubbele punt.

Het derde deel is de resultaatwaarde van de ternaire operator als het eerste deel niet evalueren om waar (met andere woorden, false).

Onze eerste deel is onze variabele o, die is het Booleaans dat we gedefinieerd bij de bovenkant van de schets. Onze tweede deel is hoog, en onze tweede deel is laag.

Dus als o klopt, hoge naar de PIN-code wordt geschreven, is anders laag geschreven.

Andere programmering veteranen zal waarschijnlijk zeggen "maar je kon gewoon doorgeven o direct en niet lastig vallen met een Ternair", en het zijn recht omdat o een Boolean-waarde is en het is gonna be onwaar (die hoge is een alias van) of ONWAAR (die laag is een alias van). Ik gebruikte het hier ter illustratie van wat een ternaire operator doet.

Na dat voorbereiden we de toekomst. Wij o omkeren (true wordt de waarde false, false waar wordt) dan de vorige keer l bijwerken naar de waarde van de huidige tijd t.

Maar er een ander ding hier aan de hand is. O deze door manier te gebruiken in combinatie met de LED, hebben we een statusmachine voor de LED. In de elektronica is een statusmachine

Een apparaat dat in een van een aantal stabiele omstandigheden afhankelijk van zijn vorige toestand en van de contante waarde van haar ingangen worden kan.

Onze statusmachine heeft slechts twee staten, in- en uitschakelen.

Gerelateerde Artikelen

Januari 2014 bouwen nacht: EL Wire Nixie Tube

Januari 2014 bouwen nacht: EL Wire Nixie Tube

laten we noemen dit de EL-ixie buis voor korte.  Dit is een van de H3 laboratoria posten in januari van het jaar 2014 Build nacht met CoolNeon.Voor degenen die niet weten, raadpleegt u dat Nixie-buis is dat een vacuüm buis hoofdzakelijk gebruikt in R
Januari 2014 bouwen nacht met CoolNeon deel II - Parking nabijheid Indicator

Januari 2014 bouwen nacht met CoolNeon deel II - Parking nabijheid Indicator

Ooit hebben problemen parkeren in uw garage? U geraakt van de achterwand of stoppen te ver terug om te sluiten van de garagedeur? In dit instructable zult worden bouwen wij een parkeren nabijheid indicator die gebruikmaakt van El Wire EL wire en Cool
TOELATING OPEN voor augustus 2014

TOELATING OPEN voor augustus 2014

Als u in liefde met films en zijn op zoek naar de juiste plaats om te leren het ambacht van het filmmaken, zoek dan niet verder... ADMISSIONS OPEN VOOR AUGUSTUS 2014 BATCH OP MINDSCREEN FILM INSTITUTE1. ZES MAANDEN CURSUS OP CINEMATOGRAPHY2. ZES MAAN
LittleWork: werken uren notifier

LittleWork: werken uren notifier

Hebben u ooit geweest aftellen de notulen tot het einde van de werkdag? littleWork werken uren kennisgever zal dat voor u verzorgen!Dit project werd gebouwd op de Taipei Hackerspace 2014 juni Instructables bouwen nacht met littleBits.Aangezien de tij
Tweeting, draadloos, Ugly Drum Smoker (UDS) temperatuur controller met Android

Tweeting, draadloos, Ugly Drum Smoker (UDS) temperatuur controller met Android

(Laatst bijgewerkt: oktober 2014. Zie laatste stap voor details over wijzigingen.)Dit is de UDS digitale Supervisor, een Android app en hardware voor het onderhoud op afstand de temperatuur van uw UDS zoals een thermostaat. Uw telefoon monitoren van
LittleTea: robotic thee brouwen

LittleTea: robotic thee brouwen

Dit project werd gemaakt als onderdeel van de juni Instructables bouwen nacht met littleBits op de Taipei Hackerspace.Wanneer ik probeer om te brouwen wat lekkere thee (en dat heel vaak gebeurt) mis ik altijd de juiste hoeveelheid tijd die nodig is v
Hoe maak je een YouTube-Video van de verborgen Camera

Hoe maak je een YouTube-Video van de verborgen Camera

Het is al een tijdje sinds mijn laatste instructable; het is eigenlijk bijna een jaar geweest. Ik nog vaak kennisnemen van de site, maar mijn creatieve inspanningen hebben verschoven. Ik ging door een sterke fotografie-fase voor een tijdje, en nu ben
Vergetelheid geïnspireerd Nerf prop

Vergetelheid geïnspireerd Nerf prop

Dit is allemaal omdat ik door een werf verkoop gestopt en zag een Nerf gun voor een dollar. Een dollar.Ik had om het te kopen. Het miste sommige stukken, het vat uitbreiding, het toepassingsgebied en de clip. MAAR HET WAS EEN DOLLAR!Dus moest ik iets
Goedkoop, mooi en raar A4 grafiek plotter ($25 + sommige schroot)

Goedkoop, mooi en raar A4 grafiek plotter ($25 + sommige schroot)

Bijgewerkt op 2 Jun, 2014Mijn inzending is aanvaard - nu u voor dit project stemmen kunt als u bevalt! Bedankt!----------------------------------------------------------------------------------------------Hoi!Aan het begin moet ik u waarschuwen... De
Hoe maak je de Turbo UltraVulcan papieren vliegtuigje

Hoe maak je de Turbo UltraVulcan papieren vliegtuigje

Snel, lange afstand en veelzijdig, de UltraVulcan van de Turbo is een verbeterde variant van de UltraVulcan papieren vliegtuigje, featuring herontworpen vleugels voor betere prestaties en behandeling bij hoge snelheden en grotere stijfheid.De Turbo U
Ladder Yo-Yo Mount (swing door variatie) - Luke Renner

Ladder Yo-Yo Mount (swing door variatie) - Luke Renner

Ladder Yo-Yo Mount (swing door variatie) - aangetoond door Luke Renner. Yo-Yos is de N8 door MagicYoYo. Speciale dank aan MagicYoYo in Shenzhen! Gefilmd in het noordwesten van New Mexico juni 2014. De Ladder monteren en Ladder ontsnappen trucs werden
Fleissner Grille Cipher

Fleissner Grille Cipher

Dit instructable is onderdeel van de juni Instructables bouwen nacht met silhouet op de Taipei Hackerspace.Cryptografie is erg populair op alle leeftijden kunnen, en weleer van verouderde crypto methoden een heleboel plezier voor leren. "Rooster"
Hoe maak je de Super Scout papieren vliegtuigje

Hoe maak je de Super Scout papieren vliegtuigje

Snel, lange afstand en aërodynamisch schoon, de Super Scout is een klein ' drone-cruiser "ontworpen om te slagen oudere types zoals de soortgelijke StarDragon en StratoBolt. De Super-Scout is ook bedoeld als een spirituele opvolger van zijn naamgenoo
OpenVR - 3D afgedrukt Rift voor slechts 150$

OpenVR - 3D afgedrukt Rift voor slechts 150$

OpenVR is een vergelijkbaar met de Oculus Rift DK1 VR-headset. Het beste deel is dat het kost ongeveer 150$ te bouwen.In dit instructable, gaan we door elke stap en zul je een zelfgemaakte Oculus Rift DK1 kloon eind.Aangezien het opensource sommige m