Solen, Arduino powered design väggklocka (4 / 6 steg)

Steg 4: kod



Nu kan du ladda skissen till Arduino. You´Re också kunna koppla LED band nu. Don´t ansluta modulen BT! Vi vill först ta en titt på koden, du bör veta där du kan justera flera saker...

Hämta Arduino IDE och på bibliotek.
Arduino IDE, AdafruitNeoPixel, tid, DS1307RTC

Installera IDE och sätta bibliotek i mappen bibliotek.
Öppna den bifogade INO filen och ladda upp den till din arduino. Koden som beskrivs här är den samma men med ytterligare kommentarer! Om du gjort allt rätt, kan du nu se "bootanimation". Det är möjligt att ställa in tiden över serialmonitor. Skriv bara t.ex. (10:33).

Känn dig fri att spela med koden...

Här ge sjuk er en kort beskrivning av koden (Setup utan RTC!)

DEFINITIONER:

#define PIN 6 //Hour LED Strip
#define MINPINEN 5 //Singelminute LED
#define NUMPIXELS 12 //Number pixlar i timme
#define MINNUMPIXELS 4 //Number pixlar för minut
#define BAUDVÄRDE 115200 / / Baudrate, ska matcha baudvärde för BT modul
#define utch ' //start BYTE av TimeSync

int tidInställning = 0; flagga för att lagra om tiden sattes efter uppstart
int delayval = 20; fördröjning för blekning animation
int clocktimer = 10000; dags uppdatera
int timebright = 250; ljusstyrkan på timme Strip
int mtimebright = 50; ljusstyrka på singelmin
int initiera = 0; flagga för att anropa funktionen clearpixels efter uppstart
int timmes;
int oldahour = 0; lagra prev. timme
int aminute;
int oldamin = 0; lagrar den tidigare minuten för uppdatering
int aandra;
int aday;
int bland;
int nen;
int mmin;
tmElements_t tm;

Installationsprogrammet för de 2 NeoPixel LED-arrayer (namn = typ (numrera av PIXLAR som PIN, FORMAT RGB eller GRB, FREQ); Se Adafruit guide för mer information.

Adafruit_NeoPixel pixlar = Adafruit_NeoPixel (NUMPIXELS, stift, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel minpixels = Adafruit_NeoPixel (MINNUMPIXELS, MINPINEN, NEO_RGB + NEO_KHZ800);

SETUP:

void setup() {

Serial.BEGIN(BAUDRATE);
Wire.BEGIN();
Initialice band, alla OFF
pixels.BEGIN();
minpixels.BEGIN();
pixels.show();
minpixels.show();

Göra en liten animation
Serial.println("Sunrise");
Sunrise();
Delay(1000);
Serial.println("Sunset");
Sunset();
pixels.show();
Serial.println("ready");
}

SLINGA:

void loop() {
Kontrollera om timesync
medan (Serial.available() > 0) {
char c = Serial.read();
IF(c == utch) //if finns en @ på linjen, läsa de kommande byte / ints
{
readtime();
}
}
initialice lysdioder, tydlig boot animation

IF(Initialize == 0) {
clearpixels();
initiera = 1;
}

timmes = hour();

aminute = minute();
om (tidInställning == 1 || tidInställning == 0) / / här kan du kontrollera om tiden var inställt, kan du stoppa programmet här om tidInställning = FALSE, bara ta bort "|| tidInställning == 0"!

{

om (oldamin < aminute || oldahour < timmes) //check om tiden har ändrats. SANT = refresh -> Ställ in alla av, Visa ny tid
{
clearpixels();
ClockDisplay();
}
}
}

Visa klockan:

void ClockDisplay()
{

oldahour = timmes;

oldamin = aminute;
int xhour, xmin;

om (timmes > = 12) {
xhour = timmes-12. Vi har bara 12 lysdioder för 24h visning
}
annat {
xhour = timmes;
}
skala det i 5min steg
xMin = (aminute / 5);
IF(oldamin < aminute)
{
oldamin = aminute;
clearpixels();
}
ta resten av divisionen dor singelmin LED
mmin = (aminute % 5); modulooperatorn t.ex. 24% 5 = 4! mycket användbart:-P
pixels.setBrightness(timebright);
pixels.setPixelColor (xmin, bildpunkter. Color(5,125,255)); Du kan ändra färgerna här! leka!
pixels.setPixelColor (xhour, bildpunkter. Color(255,50,0));
pixels.show();

Visa singel mins
för (int m = 0; m

minpixels.setBrightness(mtimebright);
minpixels.setPixelColor (m, pixlar. Color(255,255,0));
minpixels.show();
}
}

Läs och bearbeta TIMEinformation från Serial

void readtime() / / om vi redan fått ledande "behandla kommande uppgifter och lagring av tidpunkten för den tid Lib
{

timmes = Serial.parseInt();
aminute = Serial.parseInt();
aandra = Serial.parseInt();
aday = Serial.parseInt();
bland = Serial.parseInt();
nen = Serial.parseInt();
Serial.println("TIMESET");
Serial.Print(ahour);
Serial.Print(":");
Serial.println(aminute);
setTime(ahour,aminute,asecond,aday,amonth,ayear);
}

Rensa alla!

void clearpixels() / / set varje enskild PIXEL off om du vill uppdatera datavisningen
{

pixels.BEGIN();
minpixels.BEGIN();
för (int i=0;ipixels.setPixelColor (i, pixlar. Color(0,0,0));
minpixels.setPixelColor (i, pixlar. Color(0,0,0));
pixels.show();
minpixels.show();
}
}

Se Steg
Relaterade Ämnen

Ett trådlöst kontrollerade, Arduino-Powered anslagstavla

bygga själv en trådlöst styrd, Arduino-powered anslagstavla!Här är ett enkelt projekt som skapar en trådlöst programmerbart anslagstavla. XBee moduler använder för att ge en trådlös seriell länk mellan datorn och enheten. Du interagerar med den via e...

Arduino Powered infraröd sak

Hej, detta är min första instructible. Jag kommer att visa dig hur man gör en arduino powered analog sensor läsare (jag kommer att använda en infraröd fotodiod).Steg 1: delar Du behöver flera saker att göra detta:1. någon form av fallet eller låda2....

Arduino-powered LED klocka

En rolig, enkel LED-klocka, som ger dig tiden till den närmaste halvtimmen med hjälp av enfärgade lysdioder. Delar som behövs är följande:Arduino Nano400 tie-punkt skärbrädaBandkabelDS1307 RTC IC32.768 kHz Crystal(12) 10mm lysdioder(12) 180 Ohm motst...

Acrylic fisk Tank med Arduino-Powered mataren

Har du någonsin velat ett mer händer på känsla när får en fisk? Eller ville ha något annat än de genomsnittliga akvarier finns i butiker? Denna fisk tank är helt anpassad och kan ändras för att passa din storlek behov och har en Arduino powered feede...

Arduino Powered raket styrsystemet

detta är min första Instructable så bär med mig.Detta är en Arduino Powered raket vägledning System. Jag skickade in detta för Google Global Science Fair. Min science projekt är på https://sites.google.com/site/arduinorocket/ . Det tog mig tre månade...

Hur man bygger en Arduino Powered Chess spela Robot

att döma av det stora antalet schack relaterade Instructables, jag tycker det är säkert att säga gemenskapen åtnjuter spelet. Det kan dock vara svårt, att hitta någon som spelar på samma nivå som du gör. Att lösa detta dilemma, och att öka min spela...

Arduino-Powered binära termometer

jag nyligen förvärvat en Arduino Uno och letade efter en cool "komma igång" projekt. Jag beslöt att göra en termometer, som satsen har jag haft alla nödvändiga delar (termistor, sladdar, motstånd, lysdioder). Genom ett par iterationer, jag äntli...

Arduino Powered uppvärmd handske Liners

Arduino Powered uppvärmda handskarDetta projekt är om hur att göra världens smartaste uppvärmd handske liners för extremt kalla förhållanden som de i Minnesota eller människor som har Raynauds syndrome(like me). Dessa handskar kommer förses du med ti...

Arduino powered Halloween pumpa med rörelsedetektor

Hejdetta Instructable visar dig hur man gör några Halloween dekorationer inklusive arduino powered Halloween pumpa med rörelsedetektor.Steg 1: Göra Halloween pumpa Material:Rund ballongGamla tidningarSmidig mjölVattenTemperaModellering leraSuperlimVe...

Arduino Powered RGB LED Vodka hylla

detta instructable kommer du igång att göra ditt eget arduino powered röd grön och blå LED-projekt. Det behöver inte ens vara en hylla! Vodka flaskor råkar bara lysa upp fint så det är vad jag valde att göra.I detta projekt använder vi varje stift på...

Att göra en Arduino Powered gardin Automation

I den här videon börja jag arbeta på visar dig hur man gör en Arduino Powered enhet som kommer att öppna och stänga gardiner!Med hjälp av några rep och en kontinuerlig rotation servo jag kan skapa en trissa system som fungerar som stamnät till rörels...

3 kanal arduino Powered Christmas Light Controller!

För julen i år, jag ville göra ett riktigt häftigt projekt men inte riktigt vet vad man ska göra. Som jag fick julen ljus ut att dekorera, var det en gammal trasig Christmas light timer. Jag tog isär och tittade på lågspänning kretsen. Innan detta ha...

Solar-orienterade, Arduino-Powered klockan

detta är en klocka för att hålla exakt tid (oberoende av atom eller GPS), Visa lokala soluppgång, solnedgång och solar, och även justera sig för sommartid.Jag ville ha klockan för att vara lätt att använda och vara flexibel. Funktionerna som inställn...

Arduino Powered Gainclone (förstärkare)

för er som inte vet (och jag inte förrän nyligen), en Gainclone är en förstärkare som är en klon av den ursprungliga utformningen av en förstärkare av 47 Labs kallas en Gaincard och är baserade på enkel flisa förstärkare av National Semiconductor - n...

Arduino powered RC tank

detta är min första instructable så snälla ha tålamod med mig. Mitt namn är Stanley Deakins och jag har spelat med elektronik ganska länge, men det var år sedan. På grund av min senaste anställning har jag återuppväcka denna passion. Jag har fått min...

Billig och effektiv Sous Vide-spis (Arduino powered)

Sous-vide matlagning är ett stort nytt sätt att laga mat. Jag inte vill förklara varför och hur det fungerar här... för bra recept och förklaringar, kan du kolla in dessa killar:http://modernistcuisine.com/2013/01/Why-Cook-sous-...Tyvärr en bra (och...

Nattliga utsläpp: Min Arduino Powered Internet aktiverat dröm Generator

måste vi alla drömmer mer så jag har skapat denna Arduino Powered "dream generator" för att plantera frön för några stora tänkande galenskap. När du närmar dig generatorn en Maxbotix ultrasonic sensor utlöser ljus och musik som drar du i så du k...

Arduino Powered RGB humör lampa plus Simon

detta är grunden en arduino powered RGB humör lampa plus simon says spel, två i ett.Hur man använder: Enheten börjar med RGB humör lampa standardprogram, när du trycker på någon av de fyra knapparna längst ner, säger Simon spelet startar. När du tryc...

Arduino DCF77 Master väggklocka

Arduino Master väggklocka.Tiden visas på stora 1"(26mm) 7 segmenterar skärmar med sekundära 4 x 20 LCD-informationsdisplay. Klockan kan användas fristående eller ger de följande pulserna att driva slav-tar tid 1 SEK omväxlande, 30 SEK, 1 min, 1 timme...