Sisukord:

Binaarne töölaud: 9 sammu (piltidega)
Binaarne töölaud: 9 sammu (piltidega)

Video: Binaarne töölaud: 9 sammu (piltidega)

Video: Binaarne töölaud: 9 sammu (piltidega)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Juuli
Anonim
Binaarne töölaua kell
Binaarne töölaua kell
Binaarne töölaua kell
Binaarne töölaua kell
Binaarne töölaua kell
Binaarne töölaua kell

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

Materjalide arve
Materjalide arve
Materjalide arve
Materjalide arve
Materjalide arve
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

Graveerimine ja nikerdamine
Graveerimine ja nikerdamine
Graveerimine ja nikerdamine
Graveerimine ja nikerdamine
Graveerimine ja nikerdamine
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 lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk lihvimine ja pealekandmine
Lakk 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

Ringraja tegemine
Ringraja tegemine
Ringraja tegemine
Ringraja tegemine
Ringraja tegemine
Ringraja tegemine
Ringraja tegemine
Ringraja 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

Programmi üleslaadimine
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

LED -ide paigutamine
LED -ide paigutamine
LED -ide paigutamine
LED -ide paigutamine
LED -ide paigutamine
LED -ide paigutamine
LED -ide paigutamine
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

LED -de ühendamine
LED -de ühendamine
LED -de ühendamine
LED -de ühendamine
LED -de ühendamine
LED -de ü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

Trükkplaadi ühendamine LED -idega
Trükkplaadi ühendamine LED -idega
Trükkplaadi ühendamine LED -idega
Trükkplaadi ühendamine LED -idega
Trükkplaadi ühendamine LED -idega
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

Marmorite paigutamine
Marmorite paigutamine
Marmorite paigutamine
Marmorite paigutamine
Marmorite paigutamine
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!

Tee sellest särav võistlus
Tee sellest särav võistlus
Tee sellest särav võistlus
Tee sellest särav võistlus

Võistluse Make it Glow teine koht

Soovitan: