Juni 2014 Bulid natt: LittleBits reglaget blinkar (4 / 4 steg)

Steg 4: Vad skissen gör

Skissen är ganska enkel, men det illustrerar fortfarande flera programmeringsbegrepp.

Första initierar skissen flera variabler som används senare i skissen. Tillsammans med stiften ska vi använda, vi initiera variabeln för minimi- och blink-priser, två till store tidsvärden, och en för om lampan ska vara på eller av.

Eftersom dessa variabler initieras utanför någon funktion, är de i global omfattning. Detta innebär att de kan användas och ändras någonstans i koden och förändringarna som kommer att finnas kvar. Detta kommer att bli viktigt senare.

Nästa är funktionen setup(). Här använder vi pinMode() för att ställa in stiften, en för indata (reglaget) och en för utgång (LED). Då vi läser värdet från skjutreglaget... du behöver inte vänta tills loop() att läsa ett värde som stiftet i ställa in.

Efter setup() kör loop() om och om igen tills power kopplas. Vi inte att initiera alla variabler här eftersom allt vi behöver är redan i global omfattning.

Först får vi aktuell tid genom att ringa millis() och att sätta det i t.

Nästa läser vi värdet av Skjut Dimmer till sldr_val. Jag noterar här att de värden vi får här bör vara 0 till 1023, men Skjut Dimmer kanske inte ger så höga värden.

Nu kontrollerar vi om vi ska göra något. Vi gör detta genom att jämföra tid som förflutit sedan den föregående iterationen av loop() till blink_val. När loop() körs första gången har tidigare tid (l) och blink_val redan ställts in på 0, så detta fortfarande fungerar. Om tillräckligt med tid har gått, är det dags att göra något, så vi går in blocket "om" och börja göra saker.

Vi skickar värdet av den glida Dimmer (som vi bara läsa) till seriell bildskärmen.

Nästa uppdatera vi värdet för blink_val med en bilt i funktion som kallas map() (Läs mer om det på http://arduino.cc/en/Reference/Map). Karta tar en variabel och hantera det ett område till ett annat område. Det första området är vad Skjut Dimmer värdet kan vara, och andra är vad vi vill; Vi har redan initierats gränserna för denna spänner överst i skissen som min_rate och max_rate.

Nu har vi ett uppdaterat värde för blink_rate att jämföra med tiden passerade från denna iteration av loop() till senare.

Nästa steg skriver till stift LED är på, därmed LED på och stänga. Syntaxen som används för detta är mycket kompakt, så jag ska förklara det.

Ett anrop till digitalWrite() tar två argument: PIN-koden och värdet att skriva. Vår första argumentet här är variabeln för LED stift, led_pin. Det andra argumentet är inte ett värde, eller ens en variabel... det är ett uttryck.

Eftersom detta stift är i ett digitalt läge, det kan bara förstå två värden: sant eller falskt. Konstanterna höga och låga är alias sant och falskt, så när du använder hög, du faktiskt passerar sant.

Anyway, tillbaka till våra uttryck. Det är en ternär operatör, som är lite av förkortning för if/else kodblock. Vi har lindade den ternära operatorn inom parentes för tydlighetens skull. De är tyvärr inte dokumenterade i avsnittet Referens för Arduino webbplats, så Läs här.

En ternär operatör består av tre delar. Den första delen är ett annat uttryck som ternär operatör utvärderas. Den följs av ett frågetecken.

Den andra delen är värdet som returneras av en ternär operatör om den första delen utvärderas som sant. Det är följt av ett kolon.

Den tredje delen är värdet som returneras av den ternära operatorn om den första delen inte utvärdera till den äkta (med andra ord, falskt).

Vår första del är våra variabel o, som är den boolean vi definierat överst på skissen. Vår andra del är hög, och vår andra del är låg.

Så om o är sant, hög är skrivet till stift, är annars låg skriven.

Andra programmering veteraner kommer nog säga "men du kan bara passera o direkt och inte bry sig med en ternär", och det är just eftersom o är ett booleskt värde och det kommer att vara falskt (som HIGH är ett alias av) eller falskt (som låg är ett alias av). Jag använde det här för att illustrera vad en ternär operatör gör.

Efter det förbereda vi för framtiden. Vi Invertera o (sant blir falskt, falskt blir sant), uppdatera sedan den föregående tid l till värdet av den nuvarande tiden t.

Men det finns en annan sak som händer här. Genom att använda o detta sätt i kombination med LED, har vi skapat en tillståndsdator för LED. I elektronik är en tillståndsdator

En enhet som kan vara i en av ett antal stabila förhållanden beroende på dess tidigare skick och till nuvärdet av dess ingångar.

Vår stat maskin har endast två stater, på och av.

Se Steg
Relaterade Ämnen

Januari 2014 bygga natt: EL Wire Nixie rör

låt oss kalla detta EL-ixie röret för korta. Detta är en av H3 laboratoriernas poster i januari 2014 bygga natten med CoolNeon.För dem som inte vet, se Nixie rör är ett vakuumrör främst används i Ryssland och Östeuropa visar en siffra (oftast), i sam...

E-posta Bunny

Även om hon kan inte skälla eller mjau, Cadburry bunny kan nu skicka ett e-post med cloud littleBits bit. Hon använder sin beg pose att driva en hävstång och låt oss veta hon vill mer grönkål.Detta projekt använder följande littleBits moduler: cloudB...

Billigt, trevligt och konstiga du plotter med A4 rutat ($25 + några skrot)

Uppdaterad den 2 juni, 2014Min tävlingsformulär accepterades - nu kan du rösta för det här projektet om du gillar det! Tack!----------------------------------------------------------------------------------------------Hej du!I början måste jag varna...

DIY Hovercraft

Som ett team om fem tonåringar som älskar vetenskap och skapande, försöker Ultra sju alltid skapa intressant och cool projekt. I inledningen till Engineering (Vg 100), Professor Roberto Dugnani infört en särskild ship, en svävare. Denna idé inspirera...

Oblivion inspirerade Nerf prop

Detta är alla eftersom jag stoppad av en loppmarknad och såg en Nerf pistol för en dollar. En dollar.Jag var tvungen att köpa den. Det saknades några bitar, förlängning fat, omfattningen och klippet. MEN DET VAR EN DOLLAR!Så jag var tvungen att bygga...

Tweeting, trådlös, ful Drum rökare (UDS) temperatur styrenhet med Android

(Senast uppdaterad: oktober 2014. Se sista steget för information om ändringarna.)Detta är UDS Digital handledare, en Android app och hårdvara för distans bibehålla temperaturen för din UDS som en termostat. Din telefon övervakar temperaturen inuti U...

Serotonin halsband: Hur man gör lycka från Scratch

Jag blev inspirerad av en vän som berättade om en serotonin molekyl metall halsband. Du kan hitta några som kostar mellan $7,50 och $70 på google shop, eller från ett företag som specialiserat sig på smycken inspirerade av kemiska molekyler.Denna sig...

Konvertera en laptop IDE-enhet till en prisvärd Compact Flash SSD.

jag har ett par äldre bärbara datorer som jag använder för att övervaka min övervakningskamera i mitt hem, både är Dell-modeller, en är en C400 med en Pentium 3 och den andra är en D600 med en Pentium 4. Både bärbara datorer drivs på 24 timmar. P3 är...

Jakobs stege fotoalbum

Detta är en variant på den klassiska Jakobs stege leksaken, som beskrivs i A traditionell Jakobs stege.Jag använde större trä plattor (4 "x 6") så att jag kunde Visa anständig storlek bilder.Steg 1: Material: trä, band, trälim, små spik, hammare...

Stege fly Yo-Yo Trick - Luke Renner

Stege Yo-Yo fly Yo-Yo Trick (swing genom variation) - visat av Luke Renner. Yo-Yos är N8 av MagicYoYo. Speciellt tack till MagicYoYo i Shenzhen! Filmade i nordvästra New Mexico juni 2014. Stege montera och stege fly skapades av André Boulay....

Stege Yo-Yo montera (swing genom variation) - Luke Renner

Stege Yo-Yo montera (swing genom variation) - visat av Luke Renner. Yo-Yos är N8 av MagicYoYo. Speciellt tack till MagicYoYo i Shenzhen! Filmade i nordvästra New Mexico juni 2014. Stege montera och stege fly tricks har skapats av André Boulay. Musik...

Hur man gör pappersflygplan Turbo UltraVulcan

Snabb och lång räckvidd och mångsidig, Turbo UltraVulcan är en förbättrad variant av UltraVulcan pappersflygplan, med omgjorda vingar för bättre prestanda och hantering vid höga hastigheter och större styvhet.Turbo UltraVulcan utvecklades för att ers...

Raket från en Willow gren

En brokig samling av trä som samlats under åren kan leda till några intressanta projekt. Jag fick äntligen att göra något jag hade funderat på för en stund – skrapa bygga en raket från en willow gren. Här är ett sätt att göra det...Steg 1: verktygEn...

Öppna brain wave hårdvara

uppdaterad den 16 juni 2014 för avsnitt 9:Du kan också gå direkt till avsnitt 9.göra högkvalitativa brain wave interface som låg kostnad och liten storlek är mitt över 20 år av drömmen. För att göra detta måste samlas produktion, behöver arbete med i...

Snabbt enkelt och billigt fotboll Horn (Vuvuzela)

Med fotbolls-VM snart slut, detta är antagligen lite sent, men kan ändå vara till nytta för alla som tittar till slutet (även om deras lag är ute)!Skapat datum: Juni 2014Ca kostnad: £0 (återvunnet material)Ca tid: 10 minuterSvårighetsgrad: lättSteg 1...

OpenVR - 3D tryckt Rift för endast 150$

OpenVR är en virtuell verklighet headset liknar Oculus Rift DK1. Det bästa är det kosta runt 150$ att bygga.I detta instructable, vi kommer att gå igenom varje steg och du kommer att ha en hemgjorda Oculus Rift DK1 klon i slutet.Eftersom det var open...

I spegeln: 3D Scanning scener 101

Detta är en instructable om hur du använder en bärbar 3D scanning rigg för att fånga volymetriska scener, i lite av en blandning mellan fotografi och video. För 3D-scanning av någons huvud, kolla in detta instructable. Och för 3D-scanning små föremål...

Hur man gör en dold kamera YouTube Video

Det har varit ett tag sedan min senaste instructable; Det har varit nästan ett år faktiskt. Jag fortfarande ofta ta del av webbplatsen, men min kreativa insatser har skiftat. Jag gick igenom en stark fotografering fas ett tag, och nu är jag intresser...

USB-skrivmaskin Kit för Underwood bärbara

Denna guide visar dig hur du installerar USB-skrivmaskin sensor panelen på din bärbara skrivmaskin Underwood. Två olika videor visas här - helt enkelt följa med en som ser mest som din skrivmaskin.Denna guide är fortfarande ett pågående arbete, från...