Kazalo:
- 1. korak: Zberite potrebščine in orodja
- 2. korak: Označevanje, vrtanje in usmerjanje
- Korak: Tako veliko spajkanja, rezanja in odstranjevanja
- 4. korak: Namestitev
- 5. korak: Zadnji dotiki
Video: Ura 132 slikovnih pik: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Odkar pomnim, sem obseden z LED diodami in časom. V tem projektu sem ustvaril veliko stensko uro, ki prikazuje trenutni čas z uporabo 132 neopiksnih LED diod, ki svetijo skozi smrekovo ploščo. To je hibridni analogni digitalni signal s posamezno slikovno piko za vsako uro, minuto in sekundo.
To je bil največji projekt, ki sem ga doslej sprejel, o tem sem začel razmišljati pred šestimi meseci in ideja se je počasi rodila. Zelo sem zadovoljen z rezultatom in se veselim, da ga delim z vami.
1. korak: Zberite potrebščine in orodja
Sestavni deli
Ta projekt temelji na nizki hobi plošči iz moje lokalne trgovine DIY. Širina plošče je 850 mm, višina 500 mm in globina 18 mm.
LED diode, uporabljene v tem projektu, so 5050 WS2812b, nameščene na okrogle tiskane plošče s premerom približno 9 mm s spajkalnimi blazinicami na zadnji strani.
Uporabljam mikro krmilnik, združljiv z Arduino Pro Mini. To je različica 5V 16 MHZ. Za to sem se odločil, saj ima super tanek dizajn, majhen odtis in vsa potrebna vrata ter nekaj rezervnih za prihodnje nadgradnje. Ima tudi 5 voltov, tako da lahko uporabim en sam napajalnik za LED, mikro krmilnik in RTC
Za merjenje časa skrbi modul RTC (ura realnega časa), ki vsebuje čip DS3231. Ta čip je zelo natančen, zato se čas ne sme preveč premikati.
Uporablja se tudi:
Žica. Spajkanje in vroče lepilo.
Orodja:
Vrtalnik in svedri za les (10 mm in 5 mm)
Spajkalnik
Pištola za vroče lepilo
žice
Dremel in dodatki za usmerjevalnik
2. korak: Označevanje, vrtanje in usmerjanje
Vrtanje
- Z ožjim robom poiščite sredino deske tako, da potegnete črto iz nasprotnih vogalov.
- Z vrvico in peresom označite 3 kroge. Največji zunanji krog mora biti približno 20 mm od roba plošče, drugi dve vrstici pa se premakneta 15 mm od zadnje vrstice.
- Uporabil sem natisnjeno številčnico ure, ki mi je pomagala označiti položaje vsake minute in sekunde na zunanjih 2 vrsticah in urah na notranji vrstici.
- Vsako uro, minuto in sekundo izvrtajte 10 mm luknje s približno 5 mm globine.
- S 5 -milimetrskim svedrom naredite luknje na deski eno uro, minuto in sekundo.
Usmerjanje
Čeprav ta korak ni potreben, bo omogočil, da se ura poravna v steno.
- Z uporabo usmerjevalnika in krožnih vodnikov položite žične kanale na ploščo
- Označite in položite vdolbino za bivanje RTC in mikro krmilnika.
- Kanal speljite od zunanjih vodov do vdolbine za žice
Korak: Tako veliko spajkanja, rezanja in odstranjevanja
Ta naslednji del je veliko lažje reči kot narediti. Moj nasvet bi bil opomba, da pohitite. poskusite najti sistem in vstopite v ritem.
Vsaka od LED diod potrebuje 5 voltov, 5 voltov ven, vhod podatkov, izhod podatkov, ozemljitev in ozemljitev. vključno z napajanjem mikro krmilnika in RTC -jevih več kot 400 žic, vse odstranjene in spajane na obeh koncih.
Lepljiva modra snov je zelo uporabna za ta korak.
- Začel sem z namestitvijo dveh LED v njihove luknje drug poleg drugega, da bi ugotovili dolžino žice, ki je potrebna za medsebojno povezavo.
- Z uporabo prvega kosa žice kot vodila sem nato izrezal 60 vsake barvne žice.
- Odstranite 2 mm rokava s koncev vsake žice in jih kosite s spajkanjem.
- Na vsako LED ploščico spajkajte majhen del spajkanja.
- Spajate žice z LED diodami, da tvorite dve verigi po 60 minut in sekund ter eno verigo po 12 ur. Uporabil sem rdečo žico za 5V, rumeno za podatke in modro za ozemljitev.
- Pazite, da povežete vsak podatkovni izhod (DOUT) s podatkovnim vhodom (DIN) naslednje LED
- Zadnji vodnik v vsakem odmerku verige ne potrebuje žice za prenos podatkov.
Ko so vse verige končane, je dobro, da jih pred namestitvijo preizkusite. Za preverjanje delovanja vsake LED sem uporabil svoj Arduino UNO in Adafruit NeoPixel Strand Test.
Spajkajte daljše žice na vsako od verig za 5V, ozemljitev in podatkovni vhod.
Na tej točki bi moralo biti pet žic 5V, tri podatkovne žice povezane z Arduino Pro Mini in 5 ozemljitvenih žic.
Odstranite 5 mm s koncev 5 -voltnih žic in jih vse skupaj spajkajte ter ponovite za ozemljitvene žice.
Po zaključku treh verig spajkajte 5V žico na RAW pin Arduino Pro Mini in tudi na pin VCC za RTC. Ozemljitvena žica za GND na Arduino Pro Mini in RTC in nato še 2 žici:
SCL od RTC do A5 na Pro Mini
SDA od RTC do A4 na Pro Mini
Podatkovni vodi iz LED diod morajo biti povezani z:
- Sekunde - digitalni pin 3.
- Minute - DigitalPin 4
- Ure - DigitalPin 5
4. korak: Namestitev
Ko jih spajkate, mora biti namestitev LED v njihove luknje naravnost naprej. Ko gledate od zadaj, ko so kode nastavljene spredaj, morajo biti svetleče diode nameščene tako, da se podatki premikajo v nasprotni smeri urinega kazalca.
Za držanje sem uporabil majhno količino vročega lepila, saj želim zamenjati eno samo LED, če v prihodnosti ne uspe.
Uporabil sem tudi vroče lepilo, da sem ohranil vse žice čiste in urejene ter pritrdil cevni priključek na ploščo.
Na voljo so številni priročniki za programiranje arduino pro mini. Za nalaganje te kode na Arduino uporabljam metodo zunanjega pretvornika USB v serijski:
Ta koda bo nastavila tudi čas v RTC na čas, ko je bila sestavljena. zato je pomembno, da preprosto zaprete gumb za nalaganje, da bo skladen in naložen čim hitreje.
Večino te kode si je Andy Doro sposodil pri obroču NeoPixel Ring Clock. Nekaj iz Adafruit NeoPixel Strand testa in nekaj sem jih sestavil skupaj.
Namestiti morate nekaj knjižnic. Na voljo so pri upravitelju knjižnic v programski opremi Arduino.
Adapruit NeoPixel za LED diode ws2812b
Žica za pogovor z RTC prek I2C (ta je vgrajen kot standard)
in RTClib, ker vesta, kaj vprašati RTC
/*********************************************** ***************************NeoPixel Ring Ring Andy Doro ([email protected]) https://andydoro.com/ringclock/ ************************************************ **************************
pregled zgodovine
Datum Do Kaj
20140320 AFD Prvi osnutek 20160105 AFD Zbledeli loki 20160916 AFD Trinket združljiv 20170727 AFD dodan STARTPIXEL za ohišje 3D, spremenljivo izhodišče, dodana samodejna podpora DST 20180424 AFD z uporabo knjižnice DST https://github.com/andydoro/DST_RTC *
/ vključite kodo knjižnice:
#include #include
#vključi
// definiramo zatiče
#define SECPIN 3 #define MINPIN 4 #define HOUPIN 5
#define BRIGHTNESS 20 // nastavite največjo svetlost
#define r 10
#define g 10 #define b 10 RTC_DS3231 rtc; // Vzpostavitev predmeta ure
Adafruit_NeoPixel stripS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // trak predmet
Adafruit_NeoPixel stripM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // trak predmet Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // odstrani bajt objekta pixelColorRed, pixelColorGreen, pixelColorBlue; // vsebuje barvne vrednosti
void setup () {
Wire.begin (); // Začni I2C rtc.begin (); // začni uro
Serial.begin (9600);
// nastavimo pinmodes pinMode (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC je izgubil moč, nastavimo čas!"); // naslednja vrstica nastavi RTC na datum in čas, ko je bila skica sestavljena rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Ta vrstica nastavi RTC z izrecnim datumom in časom, na primer za nastavitev // 21. januarja 2014 ob 3. uri, ki bi jo poklicali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); }
stripS.begin ();
stripM.begin (); stripH.begin (); //strip.show (); // Inicializirajte vse slikovne pike na "off"
// zagonsko zaporedje
zamuda (500);
colorWipeS (stripS. Color (0, g, 0), 5); // modra colorWipeM (stripM. Color (r, 0, 0), 5); // Modra barvaWipeH (stripH. Color (0, 0, b), 50); // Modra
zamuda (1000);
DateTime theTime = rtc.now (); // upošteva bajt DST secondval = theTime.second (); // dobimo sekundni bajt minuteval = theTime.minute (); // dobimo minute int hourval = theTime.hour (); hourval = hourval % 12; // Ta ura je 12 ur, če je 13-23, pretvorite v 0-11`
za (uint16_t i = 0; i <secondval; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); zamuda (5); }
za (uint16_t i = 0; i <minuteval; i ++) {stripM.setPixelColor (i, 0, g, 0); stripM.show (); zamuda (5); }
for (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); zamuda (5); }
}
void loop () {
// dobimo čas
DateTime theTime = rtc.now (); // upošteva letni čas
byte secondval = theTime.second (); // dobimo sekunde
bajt minuteval = theTime.minute (); // dobimo minute int hourval = theTime.hour (); // dobimo ure hourval = hourval % 12; // Ta ura je 12 ur, če je 13-23, pretvorite v 0-11`
stripS.setPixelColor (secondval, 0, 0, 20); stripS.show (); zamuda (10); if (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); zamuda (16);}}
stripM.setPixelColor (minutni interval, 0, g, 0);
stripM.show (); zamuda (10); if (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); stripM.show (); zamuda (16);}}
stripH.setPixelColor (urni čas, r, 0, 0);
stripH.show (); zamuda (10); if (secondval == 59 && minuteval == 59 && hourval == 11) {for (uint8_t i = stripH.numPixels (); i> 0; i--) {stripH.setPixelColor (i, 0, 0, b); stripH.show (); delay (83);}} // za serijsko odpravljanje napak Serial.print (hourval, DEC); Serial.print (':'); Serial.print (minuteval, DEC); Serial.print (':'); Serial.println (secondval, DEC); }
// Pike napolnimo eno za drugo z barvo
void colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); zamuda (čakanje); }}
void colorWipeM (uint32_t c, uint8_t čakanje) {
for (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); stripM.show (); zamuda (čakanje); }}
void colorWipeH (uint32_t c, uint8_t čakanje) {
for (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); zamuda (čakanje); }}
5. korak: Zadnji dotiki
Zdaj mora le še pritrditi RTC in mikro krmilnik v vdolbino.
Baterijo RTC sem namestil navzgor, tako da lahko po potrebi enostavno zamenjam baterijo.
Priključite žice 5V na + stran konektorja in ozemljitev na - stran
Vklopite!
Moj imam priključen na banko baterij USB, vendar bi polnilnik USB za telefon deloval prav tako.
Opomba:
Svetlost LED je nastavljena v kodi. Nastavljeno je bilo nizko, da je trenutni žreb nizek. Pri polni svetlosti z vsemi prižganimi LED diodami lahko črpa skoraj 8 amperov. S trenutno nastavitvijo je manj kot 1.
Podprvak na tekmovanju ure
Priporočena:
Minecraft rudna svetilka - prilagodljiva velikost in gostota slikovnih pik: 4 koraki
Minecraft Ore Lamp-prilagodljiva velikost in gostota slikovnih pik: Moj sedemletni otrok je obseden z Minecraftom, zato sem se zanj odločil zgraditi nekaj, kar je povezano z njim. Če iščem možnosti, obstaja kul projekt svetilk od Dan J Hamerja v Thingiverseu, vendar sem se po tem, ko sem ga malo spremenil, odločil, da začnem svoj projekt (ti
Zrcaljenje slikovnih pik: 13 korakov
Pixel Flip: Pixel Flip: Interaktivna umetniška stenahttp: //www.justdreamdesign.com
Odtenki slikovnih pik RGB LED: 17 korakov (s slikami)
RGB LED senčila za slikovne pike: Pozdravljeni, v tem navodilu vam bom pokazal, kako narediti par odtenkov LED slikovnih pik. Prvotno sem jih ustvaril za nošenje po hiši za božič / novo leto, nekako kot mobilni okras, vendar so na koncu postali nekoliko bolj kibernetski
C51 4 -bitna elektronska ura - lesena ura: 15 korakov (s slikami)
C51 4 -bitna elektronska ura - lesena ura: ta vikend sem imel nekaj prostega časa, zato sem šel naprej in sestavil to 4 -bitno elektronsko digitalno uro za 2,40 USD, ki sem jo pred časom kupil pri AliExpressu
64 slikovnih pik: 8 korakov (s slikami)
64 pikslov: To je majhna naprava za prikaz animacij in kratkih sporočil. Sestavljen je samo iz treh komponent in je zelo enostaven za izdelavo. In zabavno gledati. Če vam ni všeč, da vse stvari zberete sami, lahko kupite komplet z vsemi potrebnimi deli in p