Juni 2014 Bulid natt: LittleBits reglaget blinkar (3 / 4 steg)
Steg 3: Skiss
Kopiera koden nedan i fönstret Arduino IDE.
/*
littleBits Arduino modul
Marty Vance
20 juni 2014
Slider_Blink
Vad är tänkt för att ske:
En bild som dimmer på stift A0 ändrar en RGB LED på stift 5 blink.
Detta skiss includs följande kommandon:
pinMode (pin, läge); PIN = en digital pin, mode = utgång eller ingång
digitalWrite (pin, värde); PIN = en digital pin som har ställts in till utgång, värde = högt eller lågt
fördröjning (tid); tid = tid för fördröjning i millisekunder
*/
/*
Variabelinitieringen
De flesta skisser du att initiera vissa variabler innan något
annars händer. Detta sätt de finns redan när setup() körs.
Vi skapar variabler för stiften vi kommer att använda och några till som kommer
behövas som skissen kör.
*/
uint8_t led_pin = 5; PIN-koden för LED
uint8_t sldr_pin = A0; PIN-koden för bilden dimmer
int sldr_val = 512; blink rate startvärde
int blink_val = 0; blink varaktighet
int t = 0; används för att lagra den aktuella tiden under varje körning av loop()
int l = 0; används för att lagra tidpunkten för det tidigare loop()
booleska o = false; Om du vill aktivera eller inaktivera LED
int min_rate = 50; snabbaste blinkningshastighet i millisekunder
int max_rate = 1000; långsammaste blinkningshastighet i millisekunder
/*
inställning - det är där vi initiera skissen
Installationsprogrammet innehåller kommandon som för resten av skissen.
Kommandona i installationen utförs endast en gång.
Efter alla kommandon i installationsprogrammet har körts, flyttar skissen till loop.
*/
void setup() {/ / Detta är början av installationsprogrammet
Eftersom vi kommer att använda stift 5 för att styra en Utdatamodul
Vi måste pinMode av stift 5 till utgång,
Detta innebär att spänningen kommer att flöda ut ur stiftet.
pinMode (led_pin, produktionen); Ställ in stift 5 på produktionen läge
pinMode (sldr_pin, ingång); Ställ in pinkodsskydd A0 till INPUT-läge
sldr_val = analogRead(sldr_pin); Läs bilden dimmer direkt
} / / Detta är slutet av installationen
/*
loop - detta är den huvudsakliga delen av varje arduino skiss.
Loop är en serie kommandon som körs efter varandra i ordning av uppifrån och ned.
När alla kommandon har avrättats, börjar loop igen från toppen.
Detta pågår så länge det finns ström kör Arduino.
*/
void loop() {/ / Detta är början av slingan, varje kommandot nedan utförs i ordning uppifrån och ned
t = millis(); få aktuell tid
/*
Denna loop körs utan anropande delay(): det läser kontinuerligt reglaget värdet, men endast
ändrar blink när tillräckligt med tid har passerat, som bestäms av if uttalande.
Se blinka utan dröjsmål exemplet skiss.
*/
sldr_val = analogRead(sldr_pin);
om (t - l > = blink_val) {
Serial.Print ("reglaget värde:");
Serial.Print(sldr_val);
blink_val = karta (sldr_val, 0, 700, min_rate, max_rate); konvertera den möjliga utbud av sldr_val att inom gränserna för blink priser
Serial.Print ("= > Blink intervall:");
Serial.println(blink_val);
titta på den seriella monitorn för att se exakt vad map() gör
digitalWrite (led_pin, (o? HÖG: LÅG)); Aktivera LED eller inaktivera baserat på om o är sant eller falskt
o =! o; om o är sant, göra det falsk; om o är falskt, gör det sanna
l = t; denna slinga är den tidigare tid för nästa loopen
}
} / / Detta är slutet av slingan, nu tillbaka till början av slingan och köra kommandona igen
Klicka på knappen Upload i Arduino IDE. Om allt är rätt, efter några sekunder bör du se den gula lysdioder på Arduino modulen nära USB connector blinka snabbt i några sekunder, ska sedan din RGB LED börja blinka.
Flytta Skjut Dimmer till ändra hur snabbt LED blinkar!