Sisukord:
- Samm: materjalide arve
- 2. etapp: graveerimine ja nikerdamine
- 3. samm: laki lihvimine ja pealekandmine
- Samm: vooluringi tegemine
- Samm: programmi üleslaadimine
- 6. samm: LED -ide paigutamine
- Samm: valgusdioodide ühendamine
- 8. samm: trükkplaadi ühendamine LED -idega
- 9. samm: marmorite paigutamine
Video: Binaarne töölaud: 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Binaarkellad on suurepärased ja mõeldud eranditult inimesele, kes teab binaarfaili (digitaalseadmete keelt). Kui olete tehnik, on see imelik kell teie jaoks. Niisiis, tehke üks ise ja hoidke oma aega saladuses!
Internetist leiate palju erinevat tüüpi binaarkellasid. Isegi saate binaarkella osta veebipoest nagu amazon.com. Kuid see kell erineb kõigist ja siin kasutasin marmorit mängides, et anda sellele elegantne välimus.
Enne laskumist vaadake palun demovideot.
Samm: materjalide arve
Riistvara komponendid
1. Arduino Pro Micro (osta saidilt aliexpress.com): see on kella peamine süda ja loeb RTC -st kellaaega ning annab juhiseid vastavalt LED -ide juhtimiseks. Kui suurus pole teie jaoks oluline, võite Pro Micro asemel kasutada Arduino Nano ja isegi Arduino Uno.
2. DS3231 RTC moodul (osta saidilt aliexpress.com): DS3231 RTC jälgib aega isegi siis, kui toide katkeb. Ehkki saab kasutada ka teisi RTC -sid nagu DS1307, on DS3231 täpsem.
3. MAX7219CNG LED -draiveri IC (ostke aliexpress.com -ist): Arduinol on piiratud arv tihvte. Niisiis, kui soovite juhtida tonni LED -e ilma Arduino tihvte raiskamata, on elupäästja MAX7219. See võtab seeriaandmeid ja suudab iseseisvalt juhtida 64 LED -i.
4. 20 TK Sinine LED, 5mm (osta aliexpress.com -ist): Sinine andis minu jaoks parima tulemuse. Võite proovida teiste värvidega.
5. 20 PCS Marmori mängimine (osta aliexpress.com -ist): Kasutati standardmõõdus mängivat marmorit. Valguse läbimiseks peab marmor olema läbipaistev.
6. Takisti 10K: kasutatakse MAX7219 IC segmendivoolu juhtimiseks. Vaadake andmelehte, et saada teada eri segmendi voolu täpne väärtus.
7. Juhtmed
8. PCB plaadi prototüüp (osta aliexpress.com -ist): kasutasin PCX -plaadi prototüüpi MAX7219 IC jaoks koos IC -alusega. Samuti saate kujundada oma kohandatud trükkplaadi.
Riistvara tööriistad
1. CNC 3018 PRO lasergraveerija puidust CNC ruuter (ostke aliexpress.com): Theis DIY CNG masinat kasutati marmori ja LED -ide puidu nikerdamiseks. See on suurepärane masin madala hinnaga igale tegijale ja harrastajale.
2. Jootmisjaam (ostke see aliexpress.com-ist): projekti jaoks on vaja teatud jootmist ja hea jootekolb on tegija jaoks hädavajalik tööriist. 60W on hea valik DIY jootmiseks.
3. Traadi lõikur (ostke aliexpress.com)
4. Titaankattega karbiidotsaga freeslõikur CNC jaoks (ostke aliexpress.com -ist): võite proovida ka masinaga kaasasoleva otsikuga. Sel juhul peaksite disaini muutma.
2. etapp: graveerimine ja nikerdamine
Kella LED -ide paigutamiseks võtsin 165x145x18,8 mm pehme vahtra puitdetaili. Iga LED -i ülaossa asetan marmori ja tavalise mängiva marmori suurus on 15,5 mm läbimõõduga. Niisiis, tegin 15,7 mm augud sügavusega 7 mm. Auku keskele tegin 5mm puuri LED -i paigutamiseks. Kogu tekst on tehtud 2 mm sügavusega. Saate oma valitud sügavust suurendada või vähendada. Võite proovida teksti lasergraveerimist.
Täieliku kujunduse tegi Inventables firma Easel. Molbert on veebipõhine tarkvaraplatvorm, mis võimaldab teil kujundada ja nikerdada ühest lihtsast programmist ning enamik funktsioone on tasuta kasutamiseks. Teil oli vaja süsteemi sisse logida ainult konto loomise või Gmaili abil.
Easel Pro on liikmesusel põhinev pilvetarkvara, mis põhineb Inventablesi tasuta Easel-tarkvaral. Easel ja Easel Pro minimeerivad keeruliste CAD- ja CAM -toodete tootmistarkvaraga seotud tõkkeid, muutes kasutajate jaoks füüsiliste toodete valmistamise lihtsaks.
Molli abil saate kujundusfaili eksportida G-koodi vormingus või seadistada oma CNC otse Molberti keskkonnast ja saata käsk CNC-le. Sellisel juhul peate installima molberti draiveri. Samuti saate importida varem loodud G-koodi Easel IDE-sse ja seda muuta. Lisasin siia disainifaili. Mudeli abil saate disaini hõlpsalt muuta vastavalt oma valikule.
3. samm: laki lihvimine ja pealekandmine
Lakk võib anda puiduprojektidele ja maalidele ilusa viimistluse. Enne puidule laki kandmist lihvige oma tükk ja puhastage oma tööruum. Lihvimine annab sujuva välimuse ja valmistab puidu lakkimiseks ette. Kandke lakk mitmeks õhukeseks kihiks, enne kui jätkate järgmisega, laske kõigil korralikult kuivada. Maali lakkimiseks lase sellel täielikult kuivada ja pintselda seejärel lakk ettevaatlikult peale. Ühest kihist piisab paljude maalide jaoks, kuid võite lisada täiendava kihi seni, kuni lasete eelmisel põhjalikult kuivada.
Enne laki pealekandmist peate enne laki pealekandmist eemaldama kõik puudused ja plekid. Selleks kasutage lõpetamata tükkide jaoks 100 liivapaberit ja töötlege puiduteraga. Lihvige õrnalt, kuni tükk on sile. Pärast puitdetaili puhastamist kandke lakk hästi ventileeritavasse kohta.
Lakk säästab puitu keskkonna tolmu ja niiskuse eest, kuid võib mõjutada puidu värvi.
Samm: vooluringi tegemine
Kella põhikomponent on Arduino Pro Mini mikrokontrollerplaat ja DS3231 RTC moodul. Arduino Pro Mini ja RTC mooduli ühendamine on väga lihtne. Peate ühendama RTC mooduli SDA tihvti Arduino SDA kontaktiga ja RTC mooduli SCL tihvti Arduino SCL tihvtiga. SDA ja SCL tihvtid on tegelikult vastavalt A4 ja A5 pin Arduino. Samuti peate looma ühise maaühenduse Arduino ja RTC moodulite vahel. Ühenduste tegemiseks kasutasin hüppajajuhtmeid.
Ühendus Arduino ja DS3231 RTC vahel:
Arduino | DS3231 |
---|---|
SCL (A5) | SCL |
SDA (A4) | SDA |
5V | VCC |
GND | GND |
Tundide, minutite ja sekundite kuvamiseks oli binaarkella jaoks vaja 20 LED -i. Kui soovite kuupäeva näidata, nõuab see rohkem. Arduino plaadil on GPIO tihvtide piirang. Niisiis kasutasin MAX7219CNG LED -draiveri IC -d tonni LED -ide juhtimiseks, kasutades ainult kolme Arduino plaadi tihvti.
MAX7219 draiveri IC on võimeline juhtima 64 üksikut LED -i, kasutades samal ajal Arduinoga suhtlemiseks ainult 3 juhet. Veelgi enam, me saame mitme draiveri ja maatriksi ketti ühendada ning kasutada endiselt samu 3 juhet.
64 valgusdioodi juhivad 16 IC väljundnõela. Nüüd on küsimus selles, kuidas see võimalik on. Noh, maksimaalne valgusdioodide üheaegne süttimine on tegelikult kaheksa. Valgusdioodid on paigutatud 8 × 8 ridade ja veergude komplekti. Seega aktiveerib MAX7219 iga veeru väga lühikese aja jooksul ja samal ajal juhib see ka iga rida. Nii et kiiresti veergude ja ridade vahel vahetades märkab inimsilm ainult pidevat valgust.
MAX7219 VCC ja GND lähevad Arduino 5V ja GND tihvtidele ning ülejäänud kolm tihvti, DIN, CLK ja CS, mis tahes Arduino plaadi digitaalsele tihvtile. Kui tahame ühendada rohkem kui ühe mooduli, ühendame lihtsalt eelmise katkestusplaadi väljundpoldid uue mooduli sisendpistikutega. Tegelikult on need tihvtid kõik ühesugused, välja arvatud see, et eelmise plaadi DOUT -tihvt läheb uue plaadi DIN -tihvti juurde.
Ühendus Arduino ja MAX7219CNG vahel:
Arduino | MAX7219 |
---|---|
D12 | DIN |
D11 | CLK |
D10 | LAADI |
GND | GND |
Samm: programmi üleslaadimine
Kogu programm on kirjutatud Arduino keskkonnas. Eskiisi jaoks kasutati kahte välist raamatukogu. Üks on RTC mooduli ja teine MAX7219 IC jaoks. Laadige raamatukogud lingilt alla ja lisage Arduino IED -le enne programmi koostamist.
Programmi üleslaadimine Arduino Pro Mini -s on natuke keeruline. Vaadake õpetust, kui te pole kunagi Arduino Pro Mini kasutanud:
/*
GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Nüüd vajame töötamiseks LedControli. ***** Need pin -numbrid teie riistvaraga tõenäoliselt ei tööta ***** pin 12 on ühendatud DataIn -i tihvtiga 11 on ühendatud CLK -tihvtiga 10 on ühendatud LOADiga Meil on ainult üks MAX72XX. */ DS3231 kell; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int sekundid, minutid, tunnid; baitide arv [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX on käivitamisel energiasäästurežiimis, peame tegema äratuskõne */ lc.shutdown (0, false); / * Seadke heledus keskmisele väärtusele */ lc.setIntensity (0, 15); / * ja tühjendage ekraan */ lc.clearDisplay (0); //lc.setLed(0, rida, kol, tõene); // 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); // Initsialiseeri DS3231 clock.begin (); // Visandi koostamise aja määramine //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menüü = 0, üles, alla; int hours_one; int hours_ten; int minutes_one; int minutes_ten; int seconds_one; int sekundit_kümme; void loop () {if (digitalRead (5) == 0) {delay (300); menüü ++; kui (menüü> 3) menu = 0; } if (menu == 0) {dt = clock.getDateTime (); tundi = dt.hur; minutit = dt.minute; sekundit = dt.second; kui (tundi> 12) tundi = tundi - 12; kui (tunnid == 0) tunnid = 1; hours_one = tunnid%10; hours_ten = tundi/10; minutes_one = minutit%10; minutes_ten = minutes/10; seconds_one = sekundid%10; seconds_ten = sekundit/10; lc.setRow (0, 0, arv [sekundid_üks]); lc.setRow (0, 1, arv [sekundit_kümme]); lc.setRow (0, 2, arv [minutit_ üks]); lc.setRow (0, 3, arv [minutit_kümme]); lc.setRow (0, 4, arv [tund_üks]); lc.setRow (0, 5, number [tund]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); tundi ++; kui (tundi> = 24) tundi = 0; } if (digitalRead (7) == 0) {delay (300); tundi-; kui (tunnid = 60) minutit = 0; } if (digitalRead (7) == 0) {delay (300); minutit-; kui (minutit <0) minutit = 0; } minutes_one = minutit%10; minutes_ten = minutes/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, arv [minutit_ üks]); lc.setRow (0, 3, arv [minutit_kümme]); } kui (menüü == 3) {clock.setDateTime (2020, 4, 13, tunnid, minutid, 01); menüü = 0; } //lc.setLed(0, rida, kol, vale); //lc.setLed(0, rida, kol, tõene); //lc.setColumn(0, kol, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, rida, (bait) 0); //lc.setColumn(0, col, (bait) 0); // Esialgse nulli jaoks vaata DS3231_dateformat example // Serial.print ("Raw data:"); // Seeriaprint (dt.aasta); Serial.print ("-"); // Seeria.print (dt.month); Serial.print ("-"); // Seeria.print (dt.päev); Serial.print (""); // Seeriaprint (dt.tund); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // delay (1000); }
6. samm: LED -ide paigutamine
Selles etapis panen kõik LED -id puitplaadi aukudesse. Valgusdioodide ühendused on näidatud skemaatiliselt. Kuna kasutame LED -ide juhtimiseks MAX7219 LED -draiverit, peavad kõik LED -id olema ühendatud maatriksi kujul. Niisiis ühendasin iga veeru kõigi valgusdioodide anoodpoldid kokku ja iga rea kõik katoodipoldid vastavalt skeemile kokku. Nüüd on meie veergude tihvtid tegelikult LED -ide anoodtihvtid ja rea -tihvtid on tegelikult valgusdioodide katoodid.
LED -ide juhtimiseks MAX7219 abil peate ühendama LED -i katoodipoldi IC -i numbriklemmiga ja LED -i anood -tihvti IC -segmendi tihvtiga. Niisiis, meie veergude tihvtid tuleks ühendada segmendi tihvtidega ja ridade tihvtid tuleks ühendada MAX7219 numbrinõelaga.
Peate ühendama takisti ISET -tihvti ja MAX7219 IC VCC vahel ning see takisti kontrollib segmendi tihvtide voolu. Ma kasutasin 10K takistit, et säilitada 20mA igas segmendi tihvtis.
Samm: valgusdioodide ühendamine
Selles etapis ühendasin kõik LED-id rea-veeru maatriksi vormingus. Ma pidin LED -ide ühendamiseks kasutama täiendavaid hüppajajuhtmeid, kuid saate ühenduse luua ilma täiendavate juhtmeteta, kui LED -de juhtmed on üksteise puudutamiseks piisavalt pikad.
Selles konfiguratsioonis pole takistit vaja, sest voolu eest hoolitseb MAX7219. Teie kohustus on valida ISET -takisti jaoks õige väärtus ja tõmmata selle takistiga ISET -tihvt üles. Enne LED -ide paigaldamist ja ühendamist soovitan teil kontrollida iga LED -i. Kuna halva LED -i paigaldamine tapab palju aega. Järgmises etapis ühendame rea ja veeru juhtmed MAX ic -ga.
8. samm: trükkplaadi ühendamine LED -idega
Meie trükkplaat, sealhulgas RTC, Arduino ja MAX7219, on pikka aega valmis ning eelmises etapis valmistasime ette ka LED -maatriksi. Nüüd peame skemaatiliselt kõik asjad omavahel ühendama. Esiteks peame ühendama rea ja veeru juhtmed seadmega MAX7219IC. Ühendust mainiti skeemil. Selle selgitamiseks järgige allolevat tabelit.
LED maatriks | MAX7219CNG |
---|---|
RIDA 0 | DIGIT0 |
1. RIDA | DIGIT1 |
RIDA 2 | DIGIT2 |
3. RIDA | DIGIT3 |
VEERG0 | SEGA |
VEERG1 | SEGB |
VEERG2 | SEGC |
VEERG3 | SEGD |
VEERG4 | SEGE |
VEERG5 | SEGF |
RIDA 0-> Kõige ülemine rida
COLUMN0 -> Parempoolne veerg (SS COLUMN)
Pärast ühenduse loomist peate trükkplaadi ja Arduino puitdetailiga kinnitama, et vältida ühenduse katkemist. Kõigi ahelate kinnitamiseks kasutasin kuuma liimi. Lühise vältimiseks kasutage suures koguses liimi, et peita jootekoht trükkplaadi alumisel küljel.
Kella kasutuskõlblikuks muutmiseks peate säilitama võimaluse vajadusel kellaaega reguleerida. Lisasin kellaaja reguleerimiseks kolm nupulülitit. Üks valiku muutmiseks ja kaks tunni ja minuti suurendamiseks ja vähendamiseks. Nupud on paigutatud paremasse ülanurka, nii et neile oleks lihtne juurde pääseda.
9. samm: marmorite paigutamine
See on meie projekti viimane etapp. Kogu vooluahela ühendus on lõpule viidud. Nüüd peate marmori asetama puidust kella ülemisele küljele. Marmorite paigutamiseks kasutasin kuuma liimi. Selleks kasutage läbipaistvat valget värvi liimipulka. Kandsin kuuma liimi igasse auku ülaosast ja LED -de peale asetasin marmori õrnalt igasse auku. Liimi ühtlane lisamine suurendab LED -i sära. Kella jaoks kasutasin SINIST LED -i. See andis mulle parima tulemuse.
Andke kellale jõudu. Kui aeg näitab, siis palju õnne !!!
Saite hakkama!
Nautige!
Võistluse Make it Glow teine koht
Soovitan:
DIY Arduino binaarne äratuskell: 14 sammu (piltidega)
DIY Arduino binaarne äratuskell: see on jälle klassikaline binaarkell! Seekord aga veelgi suurema lisafunktsiooniga! Selles juhendis näitan teile, kuidas ehitada Arduinoga binaarne äratuskell, mis võib näidata teile mitte ainult aega, vaid kuupäeva, kuud, isegi taimeriga ja äratuskellaga
Binaarne LED -marmorkell: 6 sammu (piltidega)
Binaarne LED -marmorkell: nüüd arvan, et peaaegu kõigil on binaarne kell ja siin on minu versioon. Mulle meeldis see, et see projekt ühendas puidutööd, programmeerimise, õppimise, elektroonika ja võib -olla lihtsalt väikese kunstilise loovuse. See näitab kellaaega, kuud, kuupäeva, päeva
Digitaalne ja binaarne kell 8 -kohalises X 7 segmendi LED -ekraanis: 4 sammu (piltidega)
Digitaalne ja binaarne kell 8 -kohalises X 7 segmendi LED -ekraanis: see on minu täiendatud versioon digitaalsest & Binaarkell, mis kasutab 8 -kohalist ja 7 -segmendilist LED -ekraani. Mulle meeldib anda tavapärastele seadmetele uusi funktsioone, eriti kellasid, ja sel juhul on binaalkella jaoks 7 Seg -ekraani kasutamine ebatavaline ja see
Arduino põhine binaarne äratuskell: 13 sammu (piltidega)
Arduino põhine binaarne äratuskell: Hei, täna tahaksin teile näidata, kuidas ehitada ühte oma viimastest projektidest, oma binaarsest äratuskellast. Internetis on palju erinevaid binaarkellasid, kuid see võib tegelikult olla esimene, mis on valmistatud värviliste adresseeritavate valgusdioodide ribast
Binaarne marmorkell: 9 sammu (piltidega)
Binaarne marmorikell: see on lihtne kell, mis näitab klaasist marmorist alla peidetud LED -ide abil binaarselt aega (tunde/minutit). Keskmise inimese jaoks näeb see välja nagu hunnik tulesid, kuid saate kellaaega öelda vaid kiire pilk sellele kellale. See