Obsah:

Binárne stolné hodiny: 9 krokov (s obrázkami)
Binárne stolné hodiny: 9 krokov (s obrázkami)

Video: Binárne stolné hodiny: 9 krokov (s obrázkami)

Video: Binárne stolné hodiny: 9 krokov (s obrázkami)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, November
Anonim
Binárne stolné hodiny
Binárne stolné hodiny
Binárne stolné hodiny
Binárne stolné hodiny
Binárne stolné hodiny
Binárne stolné hodiny

Binárne hodiny sú úžasné a výlučne pre osoby, ktoré poznajú binárne súbory (jazyk digitálnych zariadení). Ak ste technologický chlap, tieto podivné hodiny sú pre vás. Vytvorte si teda jeden sami a tajte čas!

Na internete nájdete množstvo binárnych hodín rôznych typov. Dokonca si môžete kúpiť binárne hodiny v internetovom obchode, ako je amazon.com. Ale tieto hodiny sa líšia od všetkých a tu som použil hranie mramoru, aby som im dodal elegantný vzhľad.

Predtým, ako pôjdete dole, pozrite si demo video.

Krok 1: Kusovník

Kusovník
Kusovník
Kusovník
Kusovník
Kusovník
Kusovník

Hardvérové komponenty

1. Arduino Pro Micro (kúpte na aliexpress.com): Toto je hlavné jadro hodín a číta čas z RTC a podľa toho dáva pokyny na ovládanie LED diód. Ak vám na veľkosti nezáleží, môžete namiesto Pro Micro použiť Arduino Nano, dokonca aj Arduino Uno.

2. Modul DS3231 RTC (kúpte si na aliexpress.com): DS3231 RTC sleduje čas, aj keď sa vypne napájanie. Aj keď je možné použiť aj iné RTC ako DS1307, DS3231 je presnejší.

3. MAX7219CNG LED ovládač IC (kúpte na aliexpress.com): Arduino má obmedzený počet pinov. Ak teda chcete poháňať tony LED diód bez plytvania kolíkmi Arduino, MAX7219 je záchranca. Vyžaduje sériové údaje a môže nezávisle ovládať 64 LED diód.

4. 20 KS Modrá LED dióda, 5 mm (nákup na aliexpress.com): Modrá poskytla pre mňa najlepší výsledok. Môžete skúsiť aj iné farby.

5. 20 KS na hranie mramoru (kúpte na aliexpress.com): Bol použitý hrací mramor štandardnej veľkosti. Mramor musí byť priehľadný, aby prechádzal svetlom.

6. Rezistor 10K: Používa sa na ovládanie segmentového prúdu IC MAX7219. V údajovom liste nájdete presnú hodnotu pre aktuálny segmentový segment.

7. Drôty

8. Prototypová doska plošných spojov (kúpiť na aliexpress.com): Použil som prototyp dosky plošných spojov pre MAX7219 IC s integrovanou základňou. Môžete si tiež navrhnúť vlastnú dosku plošných spojov.

Hardvérové nástroje

1. CNC 3018 PRO Laserový gravírovací stroj na drevo CNC router (kúpite na aliexpress.com): Stroj CNG Theis DIY bol použitý na rezanie dreva do mramoru a LED diód. Je to vynikajúci stroj za nízku cenu pre každého výrobcu a hobby.

2. Spájkovacia stanica (kúpte si ju na aliexpress.com): Na projekt je potrebné určité spájkovanie a dobrá spájkovačka je nevyhnutným nástrojom výrobcu. 60 W je dobrou voľbou pre spájkovanie vlastnými rukami.

3. Rezačka drôtu (kúpiť na aliexpress.com)

4. Fréza s karbidom na konci z tvrdého titánu pre CNC (kúpte na aliexpress.com): Môžete tiež skúsiť vrták dodaný so strojom. V takom prípade by ste mali urobiť niekoľko zmien v dizajne.

Krok 2: Gravírovanie a vyrezávanie

Gravírovanie a rezbárstvo
Gravírovanie a rezbárstvo
Gravírovanie a rezbárstvo
Gravírovanie a rezbárstvo
Gravírovanie a rezbárstvo
Gravírovanie a rezbárstvo

Na umiestnenie LED diód hodín som zobral kus mäkkého javora s rozmermi 165 x 145 x 18,8 mm. Na vrch každej LED diódy položím mramor a veľkosť štandardného hracieho mramoru má priemer 15,5 mm. Vytvoril som teda otvory 15,7 mm s hĺbkou 7 mm. V strede otvoru som vyrobil 5 mm vrták na umiestnenie LED diódy. Celý text bol vytvorený s hĺbkou 2 mm. Hĺbku podľa svojho výberu môžete zväčšiť alebo zmenšiť. Môžete tiež vyskúšať laserové gravírovanie textu.

Kompletný dizajn vyrobil Easel z Inventables. Easel je webová softvérová platforma, ktorá vám umožňuje navrhovať a vyrezávať z jedného jednoduchého programu a väčšinu funkcií môžete používať zadarmo. Prihlásili ste sa do systému iba vytvorením účtu alebo pomocou služby Gmail.

Easel Pro je cloudový softvér založený na členstve, ktorý nadväzuje na bezplatný softvér Easel spoločnosti Inventables. Easel a Easel Pro minimalizujú prekážky súvisiace s komplikovaným softvérom na výrobu produktov CAD a CAM, čo používateľom uľahčuje výrobu fyzických produktov.

Pomocou stojana môžete exportovať súbor návrhu vo formáte G-kódu alebo priamo nastaviť CNC z prostredia Easel a odoslať príkaz na CNC. V takom prípade musíte nainštalovať ovládač pre stojan. Tiež môžete importovať predtým vytvorený G-kód do Easel IDE a upravovať. Priložil som sem súbor s návrhom. Dizajn môžete jednoducho upraviť podľa vlastného výberu pomocou stojana.

Krok 3: Brúsenie a nanášanie laku

Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku
Brúsenie a nanášanie laku

Lak môže poskytnúť krásnu povrchovú úpravu drevených projektov a obrazov. Pred nanesením laku na drevo kus obrúste a vyčistite pracovný priestor. Brúsenie dáva hladký vzhľad a pripravuje drevo na lak. Naneste lak v niekoľkých tenkých vrstvách, nechajte každú jednu dôkladne vysušiť a potom pokračujte ďalšou. Ak chcete maľovať obraz, nechajte ho úplne zaschnúť a potom naň opatrne naneste lak. Jedna vrstva stačí na mnoho obrazov, ale môžete pridať ďalšiu vrstvu, pokiaľ predchádzajúcu necháte najskôr poriadne zaschnúť.

Pred nanášaním laku musíte pred nanášaním laku odstrániť všetky nedostatky a kazy. Na to použite brúsny papier so zrnitosťou 100 na nedokončené kusy a pracujte so zrnom dreva. Jemne pieskujte, kým nebude kus hladký. Po vyčistení kusu dreva naneste lak na dobre vetrané miesto.

Lak chráni drevo pred environmentálnym prachom a vlhkosťou, ale môže ovplyvniť farbu dreva.

Krok 4: Vytvorenie obvodu

Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu
Vytváranie obvodu

Hlavnou súčasťou hodín je doska mikrokontroléra Arduino Pro Mini a modul DS3231 RTC. Pripojenie Arduino Pro Mini a modulu RTC je veľmi jednoduché. Musíte pripojiť pin SDA modulu RTC k kolíku SDA modulu Arduino a kolík SCL modulu RTC k kolíku SCL zariadenia Arduino. Piny SDA a SCL sú vlastne A4 a A5 pin Arduina. Musíte tiež vytvoriť spoločné uzemnenie medzi modulmi Arduino a RTC. Na pripojenie som použil prepojovacie vodiče.

Spojenie medzi Arduino a DS3231 RTC:

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

Na zobrazenie hodiny, minúty a sekundy potrebovali binárne hodiny 20 diód LED. Ak chcete zobraziť dátum, vyžaduje to viac. Doska Arduino má obmedzenie pinov GPIO. Takže som použil MAX7219CNG LED driver IC na poháňanie ton LED diód pomocou iba troch pinov dosky Arduino.

Ovládač IC MAX7219 je schopný napájať 64 samostatných LED diód, pričom na komunikáciu s Arduinom používa iba 3 vodiče, a čo viac, môžeme reťaziť viacero vodičov a matíc a stále používať rovnaké 3 vodiče.

64 diód LED je napájaných 16 výstupnými kolíkmi integrovaného obvodu. Otázkou teraz je, ako je to možné. Maximálny počet súčasne rozsvietených diód LED je v skutočnosti osem. LED diódy sú usporiadané ako sada riadkov a stĺpcov 8 × 8. MAX7219 teda aktivuje každý stĺpec na veľmi krátku dobu a súčasne riadi aj každý riadok. Rýchlym prepínaním medzi stĺpcami a radmi si ľudské oko všimne iba nepretržité svetlo.

VCC a GND MAX7219 prechádzajú na 5V a GND piny Arduina a ďalšie tri piny, DIN, CLK a CS, prechádzajú na akýkoľvek digitálny pin dosky Arduino. Ak chceme pripojiť viac ako jeden modul, stačí pripojiť výstupné piny predchádzajúcej oddeľovacej dosky k vstupným kolíkom nového modulu. V skutočnosti sú tieto kolíky všetky rovnaké, okrem toho, že kolík DOUT predchádzajúcej dosky prechádza na kolík DIN novej dosky.

Spojenie medzi Arduino a MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 NALOŽIŤ
GND GND

Krok 5: Odovzdanie programu

Odovzdanie programu
Odovzdanie programu

Celý program je napísaný v prostredí Arduino. Na náčrt boli použité dve externé knižnice. Jeden je pre modul RTC a druhý je pre MAX7219 IC. Pred zostavením programu si stiahnite knižnice z odkazu a pridajte ich do Arduino IED.

Nahrávanie programu do Arduino Pro Mini je trochu zložité. Pozrite sa na návod, ak ste Arduino Pro Mini nikdy predtým nepoužívali:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Teraz potrebujeme LedControl, s ktorým budeme pracovať. ***** Tieto čísla pinov pravdepodobne nebudú fungovať s vašim hardvérom ***** pin 12 je pripojený k DataIn pin 11 je pripojený k CLK pin 10 je pripojený k LOAD Máme iba jeden MAX72XX. */ Hodiny DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int sekundy, minúty, hodiny; číslo bajtu [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; neplatné nastavenie () {//Serial.begin(9600); / * MAX72XX je pri štarte v úspornom režime, musíme zobudiť budík */ lc.shutdown (0, false); / * Nastavte jas na stredné hodnoty */ lc.setIntensity (0, 15); / * a vymažte displej */ lc.clearDisplay (0); //lc.setLed(0, riadok, stĺpček, 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); // Inicializácia DS3231 clock.begin (); // Nastaviť čas kompilácie náčrtu //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int ponuka = 0, hore, dole; int hodiny_jedny; int hodiny_ten; int minut_jedny; int minutes_ten; int sekund_jedny; int seconds_ten; void loop () {if (digitalRead (5) == 0) {delay (300); ponuka ++; ak (ponuka> 3) ponuka = 0; } if (menu == 0) {dt = clock.getDateTime (); hodiny = dt.hodina; minúty = dt.minúta; sekundy = dt.sekunda; ak (hodiny> 12) hodiny = hodiny - 12; ak (hodiny == 0) hodiny = 1; hours_one = hodiny%10; hours_ten = hodiny/10; minutes_one = minúty%10; minutes_ten = minúty/10; seconds_one = sekúnd%10; seconds_ten = sekundy/10; lc.setRow (0, 0, číslo [sekúnd_jeden]); lc.setRow (0, 1, číslo [sekúnd_ten]); lc.setRow (0, 2, číslo [minút_jeden]); lc.setRow (0, 3, číslo [minutes_ten]); lc.setRow (0, 4, číslo [hodiny_jedny]); lc.setRow (0, 5, číslo [hours_ten]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); hodiny ++; ak (hodiny> = 24) hodiny = 0; } if (digitalRead (7) == 0) {delay (300); hodiny--; ak (hodiny = 60) minúty = 0; } if (digitalRead (7) == 0) {delay (300); minúty-; ak (minúty <0) minúty = 0; } minutes_one = minúty%10; minutes_ten = minúty/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, číslo [minúty_jeden]); lc.setRow (0, 3, číslo [minutes_ten]); } if (menu == 3) {clock.setDateTime (2020, 4, 13, hours, minutes, 01); menu = 0; } //lc.setLed(0, riadok, stĺpček, nepravda); //lc.setLed(0, riadok, stĺpček, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, riadok, (bajt) 0); //lc.setColumn(0, col, (byte) 0); // Úvodnú nulu nájdete v príklade DS3231_dateformat // Serial.print ("Surové údaje:"); // Serial.print (dt.rok); Serial.print ("-"); // Serial.print (dt.mesiac); 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 (""); // // oneskorenie (1000); }

Krok 6: Umiestnenie diód LED

Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód
Umiestnenie LED diód

V tejto fáze vložím všetky LED diódy do otvorov drevenej dosky. Pripojenia LED diód sú schematicky znázornené. Pretože na napájanie LED diód použijeme ovládač MAX7219 LED, všetky LED diódy musia byť zapojené v maticovej forme. Podľa schémy som teda spojil anódové piny všetkých LED v každom stĺpci dohromady a všetky katódové piny každého radu dohromady. Teraz sú naše kolíkové kolíky vlastne anódovými kolíkmi LED a riadkové kolíky sú vlastne katódovými kolíkmi LED.

Na napájanie LED diód pomocou MAX7219 musíte pripojiť katódový pin LED k číslicovému kolíku IC a anódový pin LED k segmentovému kolíku IC. Naše kolíkové stĺpce by teda mali byť spojené so segmentovými kolíkmi a kolíky riadkov by mali byť spojené s číslicovým kolíkom MAX7219.

Medzi pin ISET a VCC IC MAX7219 musíte pripojiť odpor a tento odpor ovláda prúd kolíkov segmentu. Na udržanie 20mA v každom kolíku segmentu som použil 10K odpor.

Krok 7: Pripojenie diód LED

Pripojenie LED diód
Pripojenie LED diód
Pripojenie LED diód
Pripojenie LED diód
Pripojenie LED diód
Pripojenie LED diód

V tejto fáze som pripojil všetky LED diódy vo formáte matice riadok-stĺpec. Na pripojenie LED diód som potreboval použiť niekoľko prepojovacích káblov, ale pripojenie môžete vykonať bez pomoci ďalších vodičov, ak sú vodiče LED dostatočne dlhé na to, aby sa navzájom dotýkali.

V tejto konfigurácii nie je potrebný žiadny odpor, pretože MAX7219 sa postará o prúd. Vašou povinnosťou je vybrať správnu hodnotu pre rezistor ISET a vytiahnuť pin ISET týmto odporom. Pred umiestnením a pripojením LED diód vám navrhnem, aby ste skontrolovali každú LED diódu. Pretože umiestnenie zlej LED diódy zabije veľa času. V nasledujúcom kroku prepojíme riadkové a stĺpcové vodiče s MAX ic.

Krok 8: Pripojenie dosky plošných spojov k diódam LED

Pripojenie obvodovej dosky k diódam LED
Pripojenie obvodovej dosky k diódam LED
Pripojenie obvodovej dosky k diódam LED
Pripojenie obvodovej dosky k diódam LED
Pripojenie obvodovej dosky k diódam LED
Pripojenie obvodovej dosky k diódam LED

Naša doska s obvodmi vrátane RTC, Arduino a MAX7219 je pripravená dlho a v predchádzajúcej fáze sme pripravili aj maticu LED. Teraz musíme všetky veci spojiť podľa schémy. Najprv musíme k MAX7219IC pripojiť riadkové a stĺpcové vodiče. Spojenie bolo uvedené v schéme. Aby to bolo jasnejšie, postupujte podľa nižšie uvedenej tabuľky.

LED matica MAX7219CNG
ROK0 DIGIT0
1. RIADOK DIGIT1
2. RAD DIGIT2
3. RIADOK DIGIT3
STĹPEC0 SEGA
STĹPEC1 SEGB
STĹPEC2 SEGC
STĹPEC3 SEGD
STĹPEC4 SEGE
STĹPEC5 SEGF

ROW0-> Horný riadok

COLUMN0 -> Stĺpec úplne vpravo (SS COLUMN)

Po vytvorení pripojenia musíte dosku plošných spojov a Arduino pripevniť k drevenému kusu, aby ste predišli prerušeniu spojenia. Na upevnenie všetkých obvodov na mieste som použil horúce lepidlo. Aby ste sa vyhli skratu, použite veľké množstvo lepidla na skrytie spájkovacieho spoja na spodnej strane DPS.

Aby boli hodiny použiteľné, musíte mať možnosť prispôsobiť čas, ak je to potrebné. Pridal som tri tlačidlové prepínače na úpravu času. Jeden na zmenu možnosti a dva na zvýšenie a zníženie hodiny a minúty. Tlačidlá sú umiestnené v pravom hornom rohu, aby boli ľahko dostupné.

Krok 9: Ukladanie guličiek

Ukladanie guličiek
Ukladanie guličiek
Ukladanie guličiek
Ukladanie guličiek
Ukladanie guličiek
Ukladanie guličiek

Toto je posledná fáza nášho projektu. Pripojenie celého obvodu je dokončené. Teraz musíte umiestniť mramor na hornú stranu drevených hodín. Na uloženie guličiek som použil horúce lepidlo. Na tento účel použite transparentnú lepiacu tyčinku bielej farby. Do každého otvoru z vrchnej strany som naniesol horúce lepidlo a na diódy LED som do každého otvoru jemne umiestnil mramor. Rovnomerné pridanie lepidla zvýši žiaru LED diódy. Na hodiny som použil MODRÚ LED. Dalo mi to najlepší výsledok.

Dodajte hodinám silu. Ak ukazuje čas, gratulujeme !!!

Dokázal si to!

Užite si to!

Make it Glow Contest
Make it Glow Contest
Make it Glow Contest
Make it Glow Contest

Druhé miesto v súťaži Make it Glow

Odporúča: