Tartalomjegyzék:

Bináris asztali óra: 9 lépés (képekkel)
Bináris asztali óra: 9 lépés (képekkel)

Videó: Bináris asztali óra: 9 lépés (képekkel)

Videó: Bináris asztali óra: 9 lépés (képekkel)
Videó: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Július
Anonim
Bináris asztali óra
Bináris asztali óra
Bináris asztali óra
Bináris asztali óra
Bináris asztali óra
Bináris asztali óra

A bináris órák félelmetesek és kizárólag azok számára, akik ismerik a bináris számot (a digitális eszközök nyelve). Ha technikus vagy, ez a furcsa óra az Ön számára. Tehát készítsen egyet, és tartsa titokban az idejét!

Rengeteg különböző típusú bináris órát talál az interneten. Még bináris órát is vásárolhat az online áruházból, mint például az amazon.com. De ez az óra más, mint az összes, és itt márványjátékkal elegáns megjelenést adtam.

Mielőtt lemegy, nézze meg a bemutató videót.

1. lépés: Anyagjegyzék

Darabjegyzékben
Darabjegyzékben
Darabjegyzékben
Darabjegyzékben
Darabjegyzékben
Darabjegyzékben

Hardver alkatrészek

1. Arduino Pro Micro (vásárlás az aliexpress.com -ról): Ez az óra fő szíve, és beolvassa az időt az RTC -ből, és utasításokat ad a LED -ek megfelelő meghajtására. Használhatja az Arduino Nano -t, sőt az Arduino Uno -t is a Pro Micro helyett, ha a mérete nem számít Önnek.

2. DS3231 RTC modul (vásárlás az aliexpress.com -ról): A DS3231 RTC akkor is nyomon követi az időt, amikor a készülék leáll. Bár más RTC, például a DS1307 is használható, a DS3231 pontosabb.

3. MAX7219CNG LED illesztőprogram IC (vásárlás az aliexpress.com -ról): Az Arduino korlátozott számú tűvel rendelkezik. Tehát, ha tonna LED -et szeretne vezetni anélkül, hogy az Arduino csapokat pazarolná, a MAX7219 az életmentő. Soros adatokat vesz fel, és 64 LED -et képes önállóan meghajtani.

4. 20 db Kék LED, 5mm (vásárlás az aliexpress.com -ról): A kék adta a legjobb eredményt számomra. Kipróbálhatja más színekkel is.

5. 20 PCS Marble Playing (vásárlás az aliexpress.com -ról): Standard méretű játszó márványt használtak. A márványnak átlátszónak kell lennie, hogy átengedje a fényt.

6. 10K ellenállás: A MAX7219 IC szegmensáramának vezérlésére szolgál. Tekintse meg az adatlapot, hogy megtudja a különböző szegmensáram pontos értékét.

7. Vezetékek

8. Prototípus NYÁK -kártya (vásárlás az aliexpress.com -ról): A MAX7219 IC -hez egy prototípusú NYÁK -lapot használtam, IC -alappal. Tervezheti egyedi PCB lapját is.

Hardvereszközök

1. CNC 3018 PRO lézergravírozó fa CNC marógép (vásárlás az aliexpress.com -ról): A Theis DIY CNG gépet fafaragásra használták márványhoz és LED -ekhez. Ez egy kiváló gép alacsony áron minden gyártó és hobbi számára.

2. Forrasztóállomás (vásároljon egyet az aliexpress.com-ról): A projekthez némi forrasztás szükséges, és a jó forrasztópáka nélkülözhetetlen eszköz a készítő számára. A 60W jó választás DIY forrasztáshoz.

3. Drótvágó (vásárlás az aliexpress.com -ról)

4. Titánbevonatú keményfém -maró CNC -hez (vásárlás az aliexpress.com -ról): Kipróbálhatja a géphez mellékelt fúrót is. Ebben az esetben módosítania kell a tervezést.

2. lépés: Gravírozás és faragás

Gravírozás és faragás
Gravírozás és faragás
Gravírozás és faragás
Gravírozás és faragás
Gravírozás és faragás
Gravírozás és faragás

165X145X18.8 mm -es lágy juhar fadarabot vettem az óra LED -jeinek elhelyezéséhez. Minden led tetejére egy márványt helyezek el, és a standard játszó márvány mérete 15,5 mm átmérőjű. Tehát 15,7 mm -es lyukakat készítettem 7 mm mélységben. A lyuk közepén készítettem egy 5 mm -es fúrót a LED elhelyezéséhez. Az összes szöveg 2 mm mélységben készült. Növelheti vagy csökkentheti a választott mélységet. Kipróbálhatja a szöveg lézeres gravírozását is.

A teljes dizájnt az Inventables cég Easel készítette. Az Easel egy webalapú szoftverplatform, amely lehetővé teszi, hogy egyetlen egyszerű programból tervezzen és faragjon, és a legtöbb szolgáltatás ingyenesen használható. Csak fiók létrehozásával vagy a Gmail használatával kell bejelentkeznie a rendszerbe.

Az Easel Pro egy tagságon alapuló felhőszoftver, amely az Inventables ingyenes Easel szoftverére épül. Az Easel és az Easel Pro minimalizálja a bonyolult CAD és CAM termékgyártó szoftverekkel kapcsolatos akadályokat, megkönnyítve ezzel a felhasználók számára a fizikai termékek előállítását.

Az Easel segítségével exportálhatja a tervfájlt G-kód formátumban, vagy közvetlenül beállíthatja a CNC-t az Easel környezetből, és elküldheti a parancsot a CNC-hez. Ebben az esetben telepítenie kell a festőállvány illesztőprogramját. Egy korábban létrehozott G-kódot is importálhat az Easel IDE-be, és módosíthatja. A tervdokumentációt ide mellékeltem. Az Easel segítségével könnyedén módosíthatja a dizájnt.

3. lépés: Csiszolás és lakk felhordása

Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása
Csiszolás és lakk felhordása

A lakk gyönyörű befejezést nyújthat a faprojekteknek és festményeknek. Mielőtt a fát lakkozná, csiszolja le a darabot, és tisztítsa meg a munkaterületet. A csiszolás sima megjelenést kölcsönöz és előkészíti a fát a lakkhoz. Vigye fel a lakkot több vékony rétegben, hagyja mindegyiket alaposan megszáradni, mielőtt folytatná a következővel. A festék lakkozásához hagyja teljesen megszáradni, majd óvatosan kenje fel a lakkal. Egy festmény elegendő sok festményhez, de további réteget is hozzáadhat, amíg először hagyja alaposan megszáradni az előzőt.

A lakk felhordása előtt a lakk felhordása előtt el kell távolítani a hiányosságokat és foltokat. Ehhez 100 szemcsés csiszolópapírt használjon a befejezetlen darabokhoz, és dolgozzon a fa szemcséjével. Óvatosan csiszolja, amíg a darab sima nem lesz. A fadarab tisztítása után vigye fel a lakkot jól szellőző helyre.

A lakk megmenti a fát a környezeti portól és nedvességtől, de befolyásolhatja a fa színét.

4. lépés: Az áramkör létrehozása

Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése
Az áramkör elkészítése

Az óra fő alkotóeleme egy Arduino Pro Mini mikrokontroller kártya és egy DS3231 RTC modul. Az Arduino Pro Mini és az RTC modul csatlakoztatása nagyon egyszerű. Csatlakoztatnia kell az RTC modul SDA érintkezőjét az Arduino SDA tűjéhez és az RTC modul SCL tűjét az Arduino SCL tűjéhez. Az SDA és az SCL csapok valójában A4 és A5 tűs Arduino. Ezenkívül közös földi kapcsolatot kell létrehoznia az Arduino és az RTC modulok között. A csatlakoztatáshoz jumper vezetékeket használtam.

Az Arduino és a DS3231 RTC közötti kapcsolat:

Arduino DS3231
SCL (A5) SCL
SDA (A4) SDA
5V VCC
GND GND

Az óra, perc és másodperc megjelenítéséhez egy bináris óra 20 LED -et igényel. Ha meg szeretné jeleníteni a dátumot, akkor többre van szüksége. Az Arduino tábla korlátozza a GPIO csapokat. Tehát a MAX7219CNG LED -illesztőprogram IC -t használtam tonna LED -ek meghajtására, csak az Arduino kártya három csapjával.

A MAX7219 illesztőprogram IC 64 egyedi LED meghajtására képes, miközben csak 3 vezetéket használ az Arduino -val való kommunikációhoz, ráadásul több illesztőprogramot és mátrixot is láncolhatunk, és továbbra is ugyanazt a 3 vezetéket használhatjuk.

A 64 LED -et az IC 16 kimeneti csapja hajtja. A kérdés most az, hogyan lehetséges ez. Nos, a LED -ek maximális száma egyszerre világít, valójában nyolc. A LED -ek 8 × 8 sorok és oszlopok formájában vannak elrendezve. Tehát a MAX7219 minden oszlopot nagyon rövid időre aktivál, és ugyanakkor minden sort meghajt. Tehát az oszlopok és sorok gyors átváltásával az emberi szem csak folyamatos fényt fog észrevenni.

A MAX7219 VCC és GND az Arduino 5V és GND csapjaihoz, a három másik DIN, CLK és CS csatlakozó pedig az Arduino kártya bármely digitális tűjéhez. Ha egynél több modult akarunk csatlakoztatni, akkor csak csatlakoztassuk az előző megszakító kártya kimeneti csapjait az új modul bemeneti csapjaihoz. Valójában ezek a csapok ugyanazok, kivéve, hogy az előző kártya DOUT csapja az új kártya DIN csapjához megy.

Az Arduino és a MAX7219CNG közötti kapcsolat:

Arduino MAX7219
D12 LÁRMA
D11 CLK
D10 BETÖLTÉS
GND GND

5. lépés: A program feltöltése

A Program feltöltése
A Program feltöltése

A teljes program Arduino környezetben íródott. A vázlathoz két külső könyvtárat használtunk. Az egyik az RTC modul, a másik a MAX7219 IC. A program összeállítása előtt töltse le a könyvtárakat a linkről, és adja hozzá az Arduino IED -hez.

A program feltöltése az Arduino Pro Mini -ben kissé bonyolult. Nézze meg az oktatóanyagot, ha még soha nem használta az Arduino Pro Minit:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Most szükségünk van egy LedControlra, amellyel dolgozhatunk. ***** Ezek a PIN -kódok valószínűleg nem fognak működni a hardverével ***** A 12 -es érintkező a DataIn -hez van csatlakoztatva a CLK -hez. A 10 -es csatlakozó a LOAD -hoz van. */ DS3231 óra; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int másodperc, perc, óra; bájtos szám [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * A MAX72XX energiatakarékos üzemmódban van indításkor, ébresztést kell végeznünk */ lc.shutdown (0, false); / * Állítsa a fényerőt közepes értékekre */ lc.setIntensity (0, 15); / * és törölje a kijelzőt */ lc.clearDisplay (0); //lc.setLed(0, row, col, true); // 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); // A DS3231 inicializálása clock.begin (); // Vázlatfordítási idő beállítása //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menü = 0, fel, le; int hours_one; int hours_ten; int minutes_one; int minutes_ten; int seconds_one; int seconds_ten; void loop () {if (digitalRead (5) == 0) {delay (300); menü ++; if (menü> 3) menu = 0; } if (menü == 0) {dt = clock.getDateTime (); óra = dt.hour; perc = dt.perc; másodperc = dt.second; ha (óra> 12) óra = óra - 12; ha (óra == 0) óra = 1; hours_one = óra%10; hours_ten = óra/10; minutes_one = perc%10; minutes_ten = perc/10; seconds_one = másodperc%10; seconds_ten = másodperc/10; lc.setRow (0, 0, szám [másodperc_egy]); lc.setRow (0, 1, szám [másodperc_ten]); lc.setRow (0, 2, szám [perc_egy]); lc.setRow (0, 3, szám [perc_ten]); lc.setRow (0, 4, szám [óra_egy]); lc.setRow (0, 5, szám [óra_ tíz]); } if (menü == 1) {if (digitalRead (6) == 0) {delay (300); óra ++; ha (óra> = 24) óra = 0; } if (digitalRead (7) == 0) {delay (300); órák--; ha (óra = 60) perc = 0; } if (digitalRead (7) == 0) {delay (300); percek--; ha (perc <0) perc = 0; } minutes_one = perc%10; minutes_ten = perc/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, szám [perc_egy]); lc.setRow (0, 3, szám [perc_ten]); } if (menü == 3) {clock.setDateTime (2020, 4, 13, óra, perc, 01); menü = 0; } //lc.setLed(0, sor, oszlop, hamis); //lc.setLed(0, row, col, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, row, (byte) 0); //lc.setColumn(0, col, (byte) 0); // A kezdő nullához nézze meg a DS3231_dateformat példát // Serial.print ("Nyers adatok:"); // Sorozatnyomat (dt.év); Soros.nyomtatás ("-"); // Soros.nyomtatás (dt.month); Soros.nyomtatás ("-"); // Sorozatnyomat (dt.nap); Serial.print (""); // Sorozatnyomat (dt.hour); Serial.print (":"); // Soros.nyomtatás (dt.perc); Serial.print (":"); // Sorozatnyomat (dt.second); Serial.println (""); // késleltetés (1000); }

6. lépés: A LED -ek elhelyezése

A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése
A LED -ek elhelyezése

Ebben a szakaszban az összes LED -et a falap furataiba helyezem. A LED -ek csatlakozásait a vázlat mutatja. Mivel a MAX7219 LED meghajtót fogjuk használni a LED -ek meghajtásához, az összes LED -et mátrix formában kell csatlakoztatni. Tehát minden oszlopban lévő összes LED anódcsapját és minden sor összes katódcsapját összekötöttem a vázlat szerint. Most az oszlopcsapjaink valójában LED -ek anódcsapjai, a sorcsapok pedig valójában LED -ek katódcsapjai.

A MAX7219 -et használó LED -ek meghajtásához a LED -es katódcsapját az IC -számjegyű tüskéhez, a LED -es anód -csapot pedig az IC -szegmens -tűhöz kell csatlakoztatni. Tehát oszlopcsapjainkat a szegmenscsapokhoz, a sorcsapokat pedig a MAX7219 számjegyű csapjához kell csatlakoztatni.

Ellenállást kell csatlakoztatni az ISET csap és a MAX7219 IC VCC közé, és ez az ellenállás vezérli a szegmenscsapok áramát. 10K ellenállást használtam a 20mA fenntartásához minden szegmensben.

7. lépés: A LED -ek csatlakoztatása

LED -ek csatlakoztatása
LED -ek csatlakoztatása
LED -ek csatlakoztatása
LED -ek csatlakoztatása
LED -ek csatlakoztatása
LED -ek csatlakoztatása

Ebben a szakaszban az összes LED-et sor-oszlop mátrix formátumban kötöttem össze. Szükségem volt néhány extra jumper vezetékre a LED -ek csatlakoztatásához, de a csatlakozást további vezetékek nélkül is megteheti, ha a LED -ek vezetékei elég hosszúak ahhoz, hogy megérintsék egymást.

Ebben a konfigurációban nincs szükség ellenállásra, mert a MAX7219 gondoskodik az áramról. Az Ön feladata, hogy válassza ki a megfelelő értéket az ISET ellenálláshoz, és húzza fel az ISET csapot ezzel az ellenállással. A LED -ek elhelyezése és csatlakoztatása előtt javaslom, hogy ellenőrizze az összes LED -et. Mivel rossz LED elhelyezése sok időt öl meg. A következő lépésben a sor- és oszlopvezetékeket a MAX ic.

8. lépés: Az áramköri lap csatlakoztatása a LED -ekkel

Az áramkör csatlakoztatása a LED -ekkel
Az áramkör csatlakoztatása a LED -ekkel
Az áramkör csatlakoztatása a LED -ekkel
Az áramkör csatlakoztatása a LED -ekkel
Az áramkör csatlakoztatása a LED -ekkel
Az áramkör csatlakoztatása a LED -ekkel

Az áramköri lapunk, beleértve az RTC -t, az Arduino -t és a MAX7219 -et, sokáig készen áll, és az előző szakaszban elkészítettük a LED -mátrixot is. Most össze kell kapcsolnunk a dolgokat a vázlat szerint. Először a sor- és oszlopvezetéket kell csatlakoztatni a MAX7219IC -hez. A kapcsolást a vázlatban említettük. Az egyértelműség érdekében kövesse az alábbi táblázatot.

LED mátrix MAX7219CNG
0 sor DIGIT0
1. sor DIGIT1
2. sor DIGIT2
3. SOR DIGIT3
OSZLOP0 SEGA
1. OSZLOP SEGB
2. OSZLOP SEGC
3. OSZLOP SEGD
4. OSZLOP SEGE
5. OSZLOP SEGF

ROW0-> legfelső sor

OSZLOP0 -> A jobb szélső oszlop (SS COLUMN)

A csatlakozás után rögzítenie kell a NYÁK lapot és az Arduino -t a fadarabdal, hogy elkerülje a csatlakozás megszakadását. Forró ragasztót használtam az összes áramkör rögzítésére. A rövidzárlat elkerülése érdekében használjon nagy mennyiségű ragasztót, hogy elrejtse a forrasztási kötést a NYÁK alsó oldalán.

Az óra használhatóvá tételéhez meg kell tartania az idő beállításának lehetőségét, ha szükséges. Három gombos kapcsolót adtam hozzá az idő beállításához. Egy az opció megváltoztatásához, kettő az óra és perc növeléséhez és csökkentéséhez. A gombok a jobb felső sarokban vannak elhelyezve, így könnyen hozzáférhetők.

9. lépés: A golyók elhelyezése

A golyók elhelyezése
A golyók elhelyezése
A golyók elhelyezése
A golyók elhelyezése
A golyók elhelyezése
A golyók elhelyezése

Ez a projektünk utolsó szakasza. Az összes áramköri csatlakozás befejeződött. Most a márványt a faóra felső oldalára kell helyeznie. A golyók elhelyezéséhez forró ragasztót használtam. Ehhez használjon átlátszó fehér színű ragasztópálcát. Forró ragasztót alkalmaztam minden lyukba a felső oldalról, és a LED -ek tetején óvatosan minden lyukba helyeztem a márványt. A ragasztó egyenletes hozzáadása növeli a LED fényét. KÉK LED -et használtam az órámhoz. Ez adta a legjobb eredményt.

Adj erőt az órának. Ha időt mutat, akkor gratulálok !!!

Megcsináltad!

Élvezd!

Legyen ragyogó verseny
Legyen ragyogó verseny
Legyen ragyogó verseny
Legyen ragyogó verseny

Második hely a Make it Glow versenyen

Ajánlott: