Përmbajtje:
- Hapi 1: Fatura e Materialeve
- Hapi 2: Gdhendje dhe Gdhendje
- Hapi 3: Lustrim dhe aplikim i llakut
- Hapi 4: Krijimi i qarkut
- Hapi 5: Ngarkimi i Programit
- Hapi 6: Vendosja e LED -ve
- Hapi 7: Lidhja e LED -ve
- Hapi 8: Lidhja e bordit të qarkut me LED
- Hapi 9: Vendosja e Mermerit
Video: Ora e tavolinës binare: 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:16
Orët binare janë të mrekullueshme dhe ekskluzivisht për personin që e njeh binarin (gjuha e pajisjeve dixhitale). Nëse jeni një teknik, kjo orë e çuditshme është për ju. Pra, bëni një nga vetja dhe mbajeni kohën tuaj të fshehtë!
Do të gjeni shumë orë binare të llojeve të ndryshme në internet. Edhe ju mund të blini një orë binare nga dyqani online si amazon.com. Por kjo orë është e ndryshme nga të gjitha dhe këtu kam përdorur lojën e mermerit për t’i dhënë një pamje elegante.
Para se të zbresësh, shiko videon demo.
Hapi 1: Fatura e Materialeve
Komponentet e harduerit
1. Arduino Pro Micro (blini nga aliexpress.com): Kjo është zemra kryesore e orës dhe lexon kohën nga RTC dhe jep udhëzime për të drejtuar LED -të në përputhje me rrethanat. Ju mund të përdorni Arduino Nano edhe Arduino Uno në vend të Pro Micro nëse madhësia nuk ka rëndësi për ju.
2. Moduli DS3231 RTC (blini nga aliexpress.com): DS3231 RTC mban gjurmët e kohës edhe kur energjia fiket. Megjithëse RTC të tjera si DS1307 mund të përdoren, DS3231 është më i saktë.
3. MAX7219CNG LED Driver IC (blini nga aliexpress.com): Arduino ka një numër të kufizuar kunjash. Pra, nëse doni të drejtoni mijëra LED pa humbur kunjat e Arduino MAX7219 është shpëtimtari. Merr të dhëna serike dhe mund të drejtojë 64 LED në mënyrë të pavarur.
4. 20 copë LED LED, 5mm (blini nga aliexpress.com): Bluja dha rezultatin më të mirë për mua. Mund të provoni me ngjyra të tjera.
5. 20 copë duke luajtur mermer (blini nga aliexpress.com): Përdoret mermer me madhësi standarde. Mermeri duhet të jetë transparent për të kaluar dritën.
6. Rezistenca 10K: Përdoret për të kontrolluar rrymën e segmentit të IC MAX7219. Shihni fletën e të dhënave për të ditur vlerën e saktë për rrymën e segmenteve të ndryshme.
7. Tela
8. Prototipi i PCB Board (blini nga aliexpress.com): Kam përdorur një bord prototip PCB për MAX7219 IC me një bazë IC. Ju gjithashtu mund të dizajnoni bordin tuaj të personalizuar PCB.
Mjetet e harduerit
1. CNC 3018 PRO Laser Engraver Wood CNC Router Machine (blini nga aliexpress.com): Makina Theis DIY CNG u përdor për gdhendjen në dru për mermer dhe LED. Kjo është një makinë e shkëlqyer me një çmim të ulët për çdo krijues dhe hobiist.
2. Stacioni i saldimit (blini një nga aliexpress.com): Kërkohet disa saldime për projektin dhe një hekur i mirë për saldim është një mjet i domosdoshëm për një prodhues. 60W është një zgjedhje e mirë për saldim DIY.
3. Prerës i telave (blini nga aliexpress.com)
4. Prerës i karbonit të veshur me titan të veshur me CNC (blini nga aliexpress.com): Ju gjithashtu mund të provoni me bitin e dhënë me makinën. Në atë rast, duhet të bëni disa ndryshime në dizajn.
Hapi 2: Gdhendje dhe Gdhendje
Mora një copë druri 165X145X18.8 mm Maple Soft për vendosjen e LED -ve të orës. Në krye të çdo led, unë do të vendos një mermer dhe madhësia e një mermeri standard të lojës është 15.5mm në diametër. Pra, unë bëra vrima 15.7 mm me një thellësi prej 7 mm. Në qendër të vrimës, bëra një stërvitje 5 mm për vendosjen e LED. I gjithë teksti është bërë me thellësi 2 mm. Ju mund të rrisni ose zvogëloni thellësinë e zgjedhjes suaj. Ju gjithashtu mund të provoni gdhendjen me lazer për tekstin.
Dizajni i plotë u bë nga Easel nga Inventables. Easel është një platformë softuerike e bazuar në ueb që ju lejon të krijoni dhe gdhendni nga një program i vetëm, i thjeshtë dhe shumica e veçorive janë falas për t’u përdorur. Ju kërkohet vetëm të identifikoheni në sistem duke krijuar një llogari ose duke përdorur Gmail.
Easel Pro është softuer cloud i bazuar në anëtarësim që bazohet në softuerin falas të Easel të Inventables. Easel dhe Easel Pro minimizojnë barrierat që lidhen me softuerin e ndërlikuar të prodhimit të produkteve CAD dhe CAM, duke e bërë të lehtë për përdoruesit të prodhojnë produkte fizike.
Duke përdorur Easel ju mund të eksportoni skedarin e dizajnit në formatin e kodit G ose të vendosni drejtpërdrejt CNC tuaj nga mjedisi Easel dhe t'i dërgoni komandën CNC. Në atë rast, duhet të instaloni drejtuesin për Easel. Ju gjithashtu mund të importoni një kod G të krijuar më parë në Easel IDE dhe të modifikoni. Unë përfshiva këtu skedarin e projektimit. Ju lehtë mund të modifikoni modelin sipas zgjedhjes tuaj duke përdorur Easel.
Hapi 3: Lustrim dhe aplikim i llakut
Llak mund të sigurojë një përfundim të bukur për projektet dhe pikturat prej druri. Para se të aplikoni llak në dru, lyeni copën tuaj dhe pastroni hapësirën tuaj të punës. Lëmimi jep një pamje të lëmuar dhe përgatit drurin për llak. Aplikoni llakun në disa shtresa të holla, duke e lënë secilën të thahet plotësisht para se të vazhdoni me tjetrën. Për të llakuar një pikturë, lëreni të thahet plotësisht dhe më pas lyeni me kujdes llakun. Një shtresë është e mjaftueshme për shumë piktura, por mund të shtoni një shtresë shtesë për sa kohë që e lini të parën të thahet plotësisht.
Para se të aplikoni llakun duhet të hiqni çdo papërsosmëri dhe njollë para se të aplikoni llakun. Për ta bërë këtë, përdorni letër zmerile 100 copëza për copa të papërfunduara dhe punoni me kokrrën e drurit. Lëreni butësisht derisa pjesa të jetë e lëmuar. Pas pastrimit të pjesës së drurit aplikoni llakun në një zonë të ajrosur mirë.
Llak ruan drurin nga pluhuri dhe lagështia e mjedisit, por mund të ndikojë në ngjyrën e drurit.
Hapi 4: Krijimi i qarkut
Komponenti kryesor i orës është një bord i mikrokontrolluesit Arduino Pro Mini dhe një modul DS3231 RTC. Lidhja e Arduino Pro Mini dhe modulit RTC është shumë e thjeshtë. Ju duhet të lidhni kunjin SDA të modulit RTC me kunjin SDA të Arduino dhe kunjin SCL të modulit RTC me kunjin SCL të Arduino. Kunjat SDA dhe SCL janë në të vërtetë A4, dhe pin A5 të Arduino respektivisht. Ju gjithashtu duhet të bëni një lidhje të përbashkët midis moduleve Arduino dhe RTC. Kam përdorur tela kërcyes për të bërë lidhjet.
Lidhja midis Arduino dhe DS3231 RTC:
Arduino | GJ5231 |
---|---|
SCL (A5) | SCL |
SDA (A4) | SDA |
5V | KQV -ja |
GND | GND |
Për të treguar orën, minutën dhe sekondën, një orë binare kërkonte 20 LED. Nëse doni të tregoni datën, kërkon më shumë. Bordi Arduino ka një kufizim të kunjave GPIO. Pra, kam përdorur IC MAX7219CNG LED të drejtuesit për të drejtuar mijëra LED duke përdorur vetëm tre kunja të bordit Arduino.
IC -ja e shoferit MAX7219 është e aftë të drejtojë 64 LED individuale duke përdorur vetëm 3 tela për komunikim me Arduino, dhe për më tepër, ne mund të zinxhirojmë zinxhirë drejtues dhe matrica të shumta dhe ende të përdorim të njëjtat 3 tela.
64 LED -të drejtohen nga 16 kunja dalëse të IC. Pyetja tani është si është e mundur. Epo, numri maksimal i LED -ve që ndizen në të njëjtën kohë është në fakt tetë. LED -të janë rregulluar si një grup rreshtash dhe kolonash 8 × 8. Pra MAX7219 aktivizon secilën kolonë për një periudhë shumë të shkurtër kohore dhe në të njëjtën kohë ajo gjithashtu drejton çdo rresht. Pra, duke kaluar shpejt nëpër kolona dhe rreshta syri i njeriut do të vërejë vetëm një dritë të vazhdueshme.
VCC dhe GND e MAX7219 shkojnë në kunjat 5V dhe GND të Arduino dhe tre kunjat e tjerë, DIN, CLK dhe CS shkojnë në çdo pin dixhital të bordit Arduino. Nëse duam të lidhim më shumë se një modul, ne vetëm lidhim kunjat dalëse të bordit të mëparshëm të prishjes me kunjat hyrëse të modulit të ri. Në fakt këto kunja janë të gjitha të njëjta përveç që kunja DOUT e bordit të mëparshëm shkon në kunjin DIN të tabelës së re.
Lidhja midis Arduino dhe MAX7219CNG:
Arduino | MAX7219 |
---|---|
D12 | DIN |
D11 | CLK |
D10 | NGARN |
GND | GND |
Hapi 5: Ngarkimi i Programit
I gjithë programi është shkruar në mjedisin Arduino. Dy biblioteka të jashtme u përdorën për skicën. Njëra është për modulin RTC dhe një tjetër është për IC MAX7219. Shkarkoni bibliotekat nga lidhja dhe shtojini në Arduino IED para përpilimit të programit.
Ngarkimi i programit në Arduino Pro Mini është pak i ndërlikuar. Hidhini një sy tutorialit nëse nuk përdorni kurrë Arduino Pro Mini më parë:
/*
GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Tani na duhet një LedControl për të punuar me të. ***** Këta numra pin nuk do të punojnë me pajisjen tuaj. ***** pin 12 është i lidhur me DataIn pin 11 është i lidhur me CLK pin 10 është i lidhur me LOAD Ne kemi vetëm një MAX72XX të vetme. */ Ora DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); sekonda int, minuta, orë; numri i bajtit [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.fillo (9600); / * MAX72XX është në modalitetin e kursimit të energjisë gjatë fillimit, duhet të bëjmë një thirrje zgjimi */ lc.shutdown (0, false); / * Vendosni shkëlqimin në vlerat mesatare */ lc.setIntensity (0, 15); / * dhe pastroni ekranin */ lc.clearDisplay (0); //lc.setLed(0, rresht, kol, e vërtetë); // lc.setRow (0, 0, B11111111); // lc.setRow (0, 1, B11111111); // lc.setRow (0, 2, B11111111); // lc.setRow (0, 3, B11111111); // lc.setRow (0, 4, B11111111); // lc.setRow (0, 5, B11111111); // lc.setColumn (0, 2, B11111111); // lc.setColumn (0, 3, B11111111); // lc.setColumn (0, 4, B11111111); // lc.setColumn (0, 5, B11111111); // Filloni DS3231 clock.begin (); // Vendosni kohën e përpilimit të skicës //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menu = 0, lart, poshtë; orë int_një; int orë_dhjetë; int minuta_një; int minuta_dhjetë; int sekonda_një; int sekonda_dhjetë; lak void () {if (digitalRead (5) == 0) {vonesë (300); menu ++; if (menu> 3) menu = 0; } if (menu == 0) {dt = clock.getDateTime (); orë = dt.or; minuta = dt.minute; sekonda = dt.sekonda; nëse (orë> 12) orë = orë - 12; nëse (orë == 0) orë = 1; orë_një = orë%10; orë_dhjetë = orë/10; minuta_një = minuta%10; minuta_dhjetë = minuta/10; sekonda_nje = sekonda%10; sekonda_dhjetë = sekonda/10; lc.setRow (0, 0, numri [sekonda_një]); lc.setRow (0, 1, numri [sekonda_dhjetë]); lc.setRow (0, 2, numri [minuta_një]); lc.setRow (0, 3, numri [minuta_tjetë]); lc.setRow (0, 4, numri [orë_një]); lc.setRow (0, 5, numri [orë_dhjetë]); } if (menu == 1) {if (digitalRead (6) == 0) {vonesë (300); orë ++; nëse (orë> = 24) orë = 0; } if (digitalRead (7) == 0) {vonesë (300); orë--; nëse (orë = 60) minuta = 0; } if (digitalRead (7) == 0) {vonesë (300); minuta--; nëse (minuta <0) minuta = 0; } minuta_një = minuta%10; minuta_dhjetë = minuta/10; lc.setRow (0, 4, B00000000); lc.setRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow (0, 0, B00000000); lc.setRow (0, 2, numri [minuta_një]); lc.setRow (0, 3, numri [minuta_tjetë]); } if (menu == 3) {clock.setDateTime (2020, 4, 13, orë, minuta, 01); menu = 0; } //lc.setLed(0, rresht, kol, false); //lc.setLed(0, rresht, kol, e vërtetë); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, rresht, (bajt) 0); //lc.setColumn(0, col, (byte) 0); // Për shikimin zero drejt DS3231_dateformat shembull // Serial.print ("Të dhënat e papërpunuara:"); // Serial.print (dt.viti); Serial.print ("-"); // Serial.print (dt. muaj); Serial.print ("-"); // Serial.print (dt.day); Serial.print (""); // Serial.print (dt.hour); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // vonesa (1000); }
Hapi 6: Vendosja e LED -ve
Në këtë fazë, unë do t'i vendos të gjitha LED -et në vrimat e dërrasës së drurit. Lidhjet e LEDs janë treguar në skemë. Meqenëse ne do të përdorim drejtuesin MAX7219 LED për të drejtuar LED, të gjitha LED duhet të lidhen në formën e matricës. Pra, lidha kunjat e anodës të të gjitha LED -ve në çdo kolonë së bashku dhe të gjitha kunjat katodë të çdo rreshti së bashku sipas skemës. Tani, kunjat tona të kolonave janë në të vërtetë kunja anode të LED -ve dhe kunjat e rreshtit janë në të vërtetë kunjat katodë të LED -ve.
Për drejtimin e LED -ve duke përdorur MAX7219 ju duhet të lidhni pin katodë të një led në një kunj shifror të IC dhe pin anode të led në një segment segment të IC. Pra, kunjat tona të kolonave duhet të lidhen me kunjat e segmentit dhe kunjat e rreshtave duhet të lidhen me pinin e shifrave të MAX7219.
Ju duhet të lidhni një rezistencë midis pinit ISET dhe VCC të IC MAX7219 dhe ky rezistencë kontrollon rrymën e kunjave të segmentit. Kam përdorur një rezistencë 10K për të mbajtur 20mA në secilën kunj segmenti.
Hapi 7: Lidhja e LED -ve
Në këtë fazë, unë lidha të gjitha LED-të në një format matricë me kolona rreshtash. Më duhej të përdorja disa tela shtesë për bluzë për të lidhur LED -të, por ju mund ta bëni lidhjen pa ndihmën e telave shtesë nëse prizat e LED -ve janë mjaft të gjata për të prekur njëri -tjetrin.
Në këtë konfigurim, nuk kërkohet asnjë rezistencë sepse MAX7219 do të kujdeset për rrymën. Detyra juaj është të zgjidhni vlerën e duhur për rezistencën ISET dhe të tërheqni kunjin ISET me këtë rezistencë. Para vendosjes dhe lidhjes së LED -ve do t'ju sugjeroj të kontrolloni çdo LED. Sepse vendosja e një LED të keq do të vrasë shumë kohë. Në hapin tjetër, ne do të lidhim telat e rreshtit dhe kolonës me MAX ic.
Hapi 8: Lidhja e bordit të qarkut me LED
Bordi ynë qark duke përfshirë RTC, Arduino dhe MAX7219 është gati për një kohë të gjatë dhe ne gjithashtu përgatitëm matricën LED në fazën e mëparshme. Tani ne duhet të lidhim të gjitha gjërat së bashku sipas skemës. Së pari, ne duhet të lidhim telat e rreshtit dhe kolonës me MAX7219IC. Lidhja u përmend në skemë. Për ta bërë më të qartë ndiqni tabelën e dhënë më poshtë.
Matrica LED | MAX7219CNG |
---|---|
RRESHT0 | DIGIT0 |
RRESHT 1 | DIGJIT1 |
RRESHT2 | DIGJIT2 |
RRESHT 3 | DIGJIT3 |
KOLONA0 | SEGA |
KOLONA1 | SEGB |
KOLONA2 | SEGC |
KOLONA3 | SEGD |
KOLONA4 | SEGE |
KOLONA5 | SEGF |
RRESHT0-> Rreshti më i lartë
COLUMN0 -> Kolona më e djathtë (SS COLUMN)
Pasi të keni bërë lidhjen, duhet të rregulloni bordin e PCB dhe Arduino me copën e drurit për të shmangur prishjen e lidhjes. Kam përdorur zam të nxehtë për fiksimin e të gjitha qarqeve në vend. Për të shmangur çdo qark të shkurtër përdorni një sasi të madhe zam për të fshehur lidhësin e saldimit në anën e poshtme të PCB.
Për ta bërë një orë të përdorshme ju duhet të mbani një mundësi për rregullimin e kohës kur kërkohet. Shtova tre ndërprerës të butonave për rregullimin e kohës. Një për ndryshimin e opsionit dhe dy për rritjen dhe zvogëlimin e orës dhe minutës. Butonat vendosen në këndin e sipërm të djathtë në mënyrë që këto të jenë lehtësisht të arritshme.
Hapi 9: Vendosja e Mermerit
Kjo është faza përfundimtare e projektit tonë. E gjithë lidhja e qarkut është përfunduar. Tani ju duhet të vendosni mermerin në anën e sipërme të orës prej druri. Për vendosjen e mermerit kam përdorur zam të nxehtë. Përdorni ngjitës ngjitës të bardhë transparent për këtë qëllim. Unë aplikova zam të nxehtë në çdo vrimë nga ana e sipërme dhe në krye të LED -ve vendosa butësisht mermerin në çdo vrimë. Shtimi i ngjitësit në mënyrë të barabartë do të rrisë shkëlqimin e led. Kam përdorur LED blu për orën time. Më dha rezultatin më të mirë.
Jepi fuqi orës. Nëse tregon kohë atëherë urime !!!
Ti e bëre atë!
Shijoni!
Vendi i dytë në konkursin Make it Glow
Recommended:
Ora mermeri LED binare: 6 hapa (me fotografi)
Ora mermeri LED binare: Tani mendoj se të gjithë kanë një orë binare dhe këtu është versioni im. Ajo që më pëlqeu ishte se ky projekt kombinoi disa punime me dru, programim, mësim, elektronikë dhe ndoshta vetëm një krijimtari të vogël artistike. Ajo tregon kohën, muajin, datën, ditën
KALENDARI 5 $ PCB ME ORA BINARE: 7 hapa (me fotografi)
KALENDARI 5 $ PCB ME ORA BINARE: Përshëndetje! Kam bërë këtë kalendar PCB dhe orë binare me Eagle CAD. Kam përdorur ATMEGA328P MCU (nga Arduino) dhe matricë LED 9x9. Përmasat për tabelën time janë 8cmx10cm (3.14inç x 3.34inç). Bitshtë pak shumë e vogël, por së pari: versioni falas i Eagle CAD lejon 80cm^2
Ora binare Arduino - e printuar 3D: 5 hapa (me fotografi)
Ora binare Arduino - e printuar në 3D: Kam disa orë që shikoj orët binare për tavolinën time të zyrës, megjithatë ato janë mjaft të shtrenjta dhe / ose nuk kanë një sasi të madhe karakteristikash. Kështu që vendosa të bëja një në vend të saj. Një pikë për t'u marrë parasysh kur bëni një orë, Arduino / Atmega328
Ora dixhitale dhe binare në 8 Shifra X 7 Segmente Ekran LED: 4 hapa (me fotografi)
Ora Dixhitale & Binare në 8 Shifra X 7 Segmente Ekran LED: Ky është versioni im i azhurnuar i një Digital & Ora Binare duke përdorur një Ekran LED me 8 Shifra x 7 Segment. Më pëlqen të jap veçori të reja për pajisjet e zakonshme, veçanërisht orët, dhe në këtë rast përdorimi i ekranit 7 Seg për Binary Clock është jokonvencional dhe ai
Ora binare duke përdorur neopixel: 6 hapa (me fotografi)
Ora Binare duke përdorur Neopixels: Përshëndetje njerëz, më pëlqejnë të gjitha gjërat që lidhen me LED dhe gjithashtu më pëlqen t'i përdor ato në mënyra të ndryshme interesante Po, e di që Ora Binare është bërë këtu disa herë, dhe secila është shembull i shkëlqyeshëm se si krijoni orën tuaj. Unë me të vërtetë dua