Cuprins:

Ceas de birou binar: 9 pași (cu imagini)
Ceas de birou binar: 9 pași (cu imagini)

Video: Ceas de birou binar: 9 pași (cu imagini)

Video: Ceas de birou binar: 9 pași (cu imagini)
Video: Cum scrii când începi un caiet nou 2024, Noiembrie
Anonim
Ceas de birou binar
Ceas de birou binar
Ceas de birou binar
Ceas de birou binar
Ceas de birou binar
Ceas de birou binar

Ceasurile binare sunt minunate și exclusiv pentru persoana care cunoaște binarul (limba dispozitivelor digitale). Dacă ești un tip de tehnologie, acest ceas ciudat este pentru tine. Deci, faceți unul singur și păstrați-vă timpul secret!

Veți găsi o mulțime de ceasuri binare de diferite tipuri pe Internet. Chiar și dvs. puteți cumpăra un ceas binar din magazinul online, cum ar fi amazon.com. Dar acest ceas este diferit de toate și aici jucam marmură pentru a-i da un aspect elegant.

Înainte de a coborî vă rugăm să urmăriți videoclipul demonstrativ.

Pasul 1: Lista materialelor

Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale

Componente hardware

1. Arduino Pro Micro (cumpărați de la aliexpress.com): Aceasta este inima principală a ceasului și citește ora de la RTC și da instrucțiuni pentru a conduce LED-urile în consecință. Puteți utiliza Arduino Nano chiar și Arduino Uno în loc de Pro Micro dacă dimensiunea nu contează pentru dvs.

2. Modulul DS3231 RTC (cumpărați de la aliexpress.com): DS3231 RTC ține evidența timpului chiar și atunci când alimentarea se oprește. Deși pot fi utilizate alte RTC, cum ar fi DS1307, DS3231 este mai precis.

3. MAX7219CNG LED driver IC (cumpărați de la aliexpress.com): Arduino are un număr limitat de pini. Deci, dacă doriți să conduceți tone de LED-uri fără a pierde pinii Arduino MAX7219 este salvatorul. Este nevoie de date seriale și poate conduce 64 de LED-uri independent.

4. 20 de bucăți LED albastru, 5 mm (cumpărați de la aliexpress.com): albastru a dat cel mai bun rezultat pentru mine. Puteți încerca cu alte culori.

5. 20 de bucăți de joc de marmură (cumpărați de la aliexpress.com): a fost folosită marmură de joc de dimensiune standard. Marmura trebuie să fie transparentă pentru a trece lumina.

6. Rezistor 10K: Folosit pentru a controla curentul de segment al MAX7219 IC. Consultați foaia de date pentru a afla valoarea exactă a diferitelor curente de segment.

7. Sârme

8. Placă PCB prototip (cumpărați de la aliexpress.com): Am folosit o placă prototip PCB pentru MAX7219 IC cu o bază IC. De asemenea, puteți proiecta placa dvs. PCB personalizată.

Instrumente hardware

1. Mașină de răsucit CNC din lemn pentru gravarea cu laser CNC 3018 PRO (cumpărați de la aliexpress.com): Mașina DIY CNG a fost folosită pentru sculptarea lemnului pentru marmură și LED-uri. Aceasta este o mașină excelentă cu un preț redus pentru orice producător și pasionat.

2. Stație de lipit (cumpărați una de la aliexpress.com): Este necesară o anumită lipire pentru proiect, iar un fier de lipit bun este un instrument obligatoriu pentru un producător. 60W este o alegere bună pentru lipirea DIY.

3. Cutter de sârmă (cumpărați de la aliexpress.com)

4. Freză de capăt din carbură acoperită cu titan pentru CNC (cumpărați de la aliexpress.com): Puteți încerca și cu bițul furnizat împreună cu mașina. În acest caz, ar trebui să faceți câteva modificări la design.

Pasul 2: Gravare și sculptură

Gravură și sculptură
Gravură și sculptură
Gravură și sculptură
Gravură și sculptură
Gravură și sculptură
Gravură și sculptură

Am luat o piesă din lemn de arțar moale de 165X145X18,8 mm pentru plasarea LED-urilor ceasului. În partea de sus a fiecărui led, voi plasa o marmură, iar dimensiunea unei marmuri standard de joc are un diametru de 15,5 mm. Așadar, am făcut găuri de 15,7 mm cu o adâncime de 7 mm. În centrul găurii, am făcut un burghiu de 5 mm pentru plasarea LED-ului. Tot textul a fost realizat cu o adâncime de 2 mm. Puteți crește sau micșora adâncimea dorită. De asemenea, puteți încerca gravarea cu laser pentru text.

Designul complet a fost realizat de șevalet de la Inventables. Easel este o platformă software bazată pe web care vă permite să proiectați și să sculptați dintr-un singur program simplu, iar majoritatea caracteristicilor sunt gratuite. Ați solicitat să vă conectați la sistem numai prin crearea unui cont sau prin utilizarea Gmail.

Easel Pro este un software cloud bazat pe calitatea de membru, care se bazează pe software-ul gratuit Easel de la Inventables. Șevalet și Șevalet Pro minimizează barierele asociate cu software-ul complicat de fabricare a produselor CAD și CAM, facilitând producerea de produse fizice pentru utilizatori.

Folosind Easel puteți exporta fișierul de proiectare în format G-code sau puteți configura direct CNC-ul dvs. din mediul Easel și puteți trimite comanda către CNC. În acest caz, trebuie să instalați driverul pentru șevalet. De asemenea, puteți importa un cod G creat anterior în șevaletul IDE și îl puteți modifica. Am inclus fișierul de proiectare aici. Puteți modifica cu ușurință designul în funcție de alegerea dvs. utilizând șevalet.

Pasul 3: Șlefuirea și aplicarea lacului

Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului
Șlefuirea și aplicarea lacului

Lacul poate oferi un finisaj frumos proiectelor și picturilor din lemn. Înainte de a aplica lac pe lemn, șlefuiți piesa și curățați spațiul de lucru. Șlefuirea oferă un aspect neted și pregătește lemnul pentru lac. Aplicați lacul în mai multe straturi subțiri, lăsând fiecare să se usuce bine înainte de a trece la următorul. Pentru a lăsa o pictură, lăsați-o să se usuce complet și apoi periați cu grijă lacul. Un strat este suficient pentru multe picturi, dar puteți adăuga un strat suplimentar atâta timp cât îl lăsați mai întâi pe cel anterior să se usuce bine.

Înainte de a aplica lacul, trebuie să îndepărtați imperfecțiunile și petele înainte de a aplica lacul. Pentru a face acest lucru, folosiți 100 de șmirghel gresat pentru bucăți neterminate și lucrați cu bobul lemnului. Șlefuiți ușor până când piesa este netedă. După curățarea piesei de lemn, aplicați lacul într-o zonă bine ventilată.

Lacul salvează lemnul de praful și umiditatea mediului, dar poate afecta culoarea lemnului.

Pasul 4: Realizarea circuitului

Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului

Componenta principală a ceasului este o placă de microcontroler Arduino Pro Mini și un modul DS3231 RTC. Conexiunea Arduino Pro Mini și a modulului RTC este foarte simplă. Trebuie să conectați pinul SDA al modulului RTC la pinul SDA al Arduino și pinul SCL al modulului RTC la pinul SCL al Arduino. Pinii SDA și SCL sunt de fapt A4 și respectiv pinul A5 al Arduino. De asemenea, trebuie să faceți o conexiune la sol comună între modulele Arduino și RTC. Am folosit fire jumper pentru a face conexiunile.

Conexiunea dintre Arduino și DS3231 RTC:

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

Pentru a afișa ora, minutul și secunda, un ceas binar a necesitat 20 de LED-uri. Dacă doriți să afișați data, este nevoie de mai mult. Placa Arduino are o limitare a pinilor GPIO. Așadar, am folosit un driver de LED MAX7219CNG pentru a conduce tone de LED-uri folosind doar trei pini ai plăcii Arduino.

IC-ul driverului MAX7219 este capabil să conducă 64 de LED-uri individuale în timp ce folosește doar 3 fire pentru comunicarea cu Arduino și, în plus, putem conecta mai multe drivere și matrice și să folosim în continuare aceleași 3 fire.

Cele 64 de LED-uri sunt acționate de 16 pini de ieșire ai IC-ului. Întrebarea acum este cum este posibil acest lucru. Ei bine, numărul maxim de LED-uri se aprinde în același timp este de fapt opt. LED-urile sunt aranjate ca un set de rânduri și coloane 8 × 8. Deci MAX7219 activează fiecare coloană pentru o perioadă foarte scurtă de timp și, în același timp, conduce și fiecare rând. Deci, trecând rapid prin coloane și rânduri, ochiul uman va observa doar o lumină continuă.

VCC și GND ale MAX7219 merg la pinii 5V și GND ai Arduino, iar ceilalți trei pini, DIN, CLK și CS, merg la orice pin digital al plăcii Arduino. Dacă dorim să conectăm mai multe module, conectăm doar pinii de ieșire ai plăcii de breakout anterioare la pinii de intrare ai noului modul. De fapt, acești pini sunt la fel, cu excepția faptului că pinul DOUT al plăcii anterioare merge la pinul DIN al plăcii noi.

Conexiunea dintre Arduino și MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 SARCINĂ
GND GND

Pasul 5: Încărcarea programului

Încărcarea programului
Încărcarea programului

Întregul program este scris în mediul Arduino. Pentru schiță au fost utilizate două biblioteci externe. Una este pentru modulul RTC și alta este pentru MAX7219 IC. Descărcați bibliotecile de pe link și adăugați-le la Arduino IED înainte de a compila programul.

Încărcarea programului în Arduino Pro Mini este cam dificilă. Aruncați o privire la tutorial dacă nu utilizați niciodată Arduino Pro Mini înainte:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / #include "Wire.h" #include "DS3231.h" #include „LedControl.h” / * Acum avem nevoie de un LedControl pentru a lucra. ***** Aceste numere de pin nu vor funcționa probabil cu hardware-ul dvs. ***** pinul 12 este conectat la DataIn pinul 11 este conectat la CLK pinul 10 este conectat la LOAD Avem doar un singur MAX72XX. * / Ceas DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); secunde, minute, ore; număr de octet [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX este în modul de economisire a energiei la pornire, trebuie să facem un apel de trezire * / lc.shutdown (0, fals); / * Setați luminozitatea la valori medii * / lc.setIntensity (0, 15); / * și ștergeți afișajul * / lc.clearDisplay (0); //lc.setLed(0, rând, col, adevărat); // 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); // Inițializați DS3231 clock.begin (); // Setați timpul de compilare a schiței //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menu = 0, sus, jos; int hours_one; int hours_ten; int minute_one; int minute_ten; int seconds_one; int seconds_ten; bucla void () {if (digitalRead (5) == 0) {delay (300); meniu ++; if (meniu> 3) meniu = 0; } if (meniu == 0) {dt = clock.getDateTime (); ore = dt.hour; minute = dt.minute; secunde = dt.second; if (ore> 12) ore = ore - 12; if (hours == 0) hours = 1; hours_one = ore% 10; ore_zece = ore / 10; minute_one = minute% 10; minute_ten = minute / 10; seconds_one = secunde% 10; secunde_zece = secunde / 10; lc.setRow (0, 0, număr [second_one]); lc.setRow (0, 1, numărul [second_ten]); lc.setRow (0, 2, număr [minute_one]); lc.setRow (0, 3, număr [minute_ten]); lc.setRow (0, 4, număr [hours_one]); lc.setRow (0, 5, număr [hours_ten]); } if (meniu == 1) {if (digitalRead (6) == 0) {întârziere (300); ore ++; if (ore> = 24) ore = 0; } if (digitalRead (7) == 0) {delay (300); ore--; if (ore = 60) minute = 0; } if (digitalRead (7) == 0) {delay (300); minute -; if (minute <0) minute = 0; } minute_one = minute% 10; minute_ten = minute / 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, număr [minute_one]); lc.setRow (0, 3, număr [minute_ten]); } if (meniu == 3) {clock.setDateTime (2020, 4, 13, ore, minute, 01); meniu = 0; } //lc.setLed(0, rând, col, false); //lc.setLed(0, rând, col, adevărat); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, rând, (octet) 0); //lc.setColumn(0, col, (octet) 0); // Pentru a duce zero la DS3231_dateformat exemplu // Serial.print ("Date brute:"); // Serial.print (dt.year); Serial.print ("-"); // Serial.print (dt.month); 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 (""); // // întârziere (1000); }

Pasul 6: Plasarea LED-urilor

Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor
Plasarea LED-urilor

În această etapă, voi pune toate LED-urile la găurile plăcii de lemn. Conexiunile LED-urilor sunt prezentate în schemă. Deoarece vom folosi driverul cu LED-uri MAX7219 pentru a conduce LED-urile, toate LED-urile trebuie conectate sub formă de matrice. Deci, am conectat pinii anodici ai tuturor LED-urilor din fiecare coloană împreună și toți pinii catodici ai fiecărui rând împreună conform schemei. Acum, pinii coloanei noastre sunt de fapt pini anodici ai LED-urilor, iar pinii de rând sunt de fapt pini catodici ai LED-urilor.

Pentru conducerea LED-urilor folosind MAX7219, trebuie să conectați pinul catodic al unui led la un pin digital al IC și pinul anodic al ledului la un pin segment al IC. Deci, pinii noștri de coloană ar trebui să fie conectați la pinii de segment, iar pinii de rând să fie conectați la pinul de cifre al MAX7219.

Trebuie să conectați un rezistor între pinul ISET și VCC-ul MAX7219 IC și acest rezistor controlează curentul pinilor de segment. Am folosit un rezistor de 10K pentru a menține 20mA în fiecare segment pin.

Pasul 7: Conectarea LED-urilor

Conectarea LED-urilor
Conectarea LED-urilor
Conectarea LED-urilor
Conectarea LED-urilor
Conectarea LED-urilor
Conectarea LED-urilor

În acest stadiu, am conectat toate LED-urile într-un format de matrice rând-coloană. Aveam nevoie să folosesc câteva fire jumper suplimentare pentru a conecta LED-urile, dar puteți face conexiunea fără ajutorul unor fire suplimentare, dacă cablurile LED-urilor sunt suficient de lungi pentru a se atinge unul pe altul.

În această configurație, nu este necesară rezistență deoarece MAX7219 se va ocupa de curent. Datoria dvs. este să selectați valoarea potrivită pentru rezistența ISET și să trageți pinul ISET cu acest rezistor. Înainte de a plasa și conecta LED-urile, vă voi sugera să verificați fiecare LED. Deoarece plasarea unui LED rău va ucide mult timp. În pasul următor, vom conecta firele de rând și coloană la MAX ic.

Pasul 8: Conectarea plăcii de circuit cu LED-urile

Conectarea plăcii de circuite cu LED-urile
Conectarea plăcii de circuite cu LED-urile
Conectarea plăcii de circuit cu LED-urile
Conectarea plăcii de circuit cu LED-urile
Conectarea plăcii de circuit cu LED-urile
Conectarea plăcii de circuit cu LED-urile

Placa noastră de circuite, inclusiv RTC, Arduino și MAX7219, este pregătită pentru o lungă perioadă de timp și am pregătit matricea LED în etapa anterioară. Acum trebuie să conectăm toate lucrurile împreună conform schemei. Mai întâi, trebuie să conectăm firele de rând și coloană la MAX7219IC. Conexiunea a fost menționată în schemă. Pentru a fi mai clar, urmați tabelul de mai jos.

LED Matrix MAX7219CNG
ROW0 DIGIT0
RÂND1 DIGIT1
RÂND2 DIGIT2
RÂND3 DIGIT3
COLUMN0 SEGA
COLUMNA1 SEGB
COLUMNA2 SEGC
COLOANA3 SEGD
COLOANA4 SEGE
COLOANA5 SEGF

ROW0-> rândul de sus

COLUMN0 -> Coloana din dreapta (SS COLUMN)

După efectuarea conexiunii, trebuie să fixați placa PCB și Arduino cu piesa de lemn pentru a evita ruperea conexiunii. Am folosit adeziv fierbinte pentru fixarea tuturor circuitelor la locul lor. Pentru a evita orice scurtcircuit, utilizați o cantitate mare de adeziv pentru a ascunde îmbinarea de lipit în partea inferioară a PCB-ului.

Pentru a face un ceas utilizabil, trebuie să păstrați o opțiune pentru ajustarea orei atunci când este necesar. Am adăugat trei butoane pentru reglarea timpului. Una pentru schimbarea opțiunii și două pentru incrementarea și diminuarea orei și minutelor. Butoanele sunt plasate în colțul din dreapta sus, astfel încât acestea să poată fi ușor accesibile.

Pasul 9: Plasarea marmurilor

Plasarea Marmurilor
Plasarea Marmurilor
Plasarea Marmurilor
Plasarea Marmurilor
Plasarea Marmurilor
Plasarea Marmurilor

Aceasta este etapa finală a proiectului nostru. Toată conexiunea circuitului este finalizată. Acum trebuie să așezați marmura în partea superioară a ceasului din lemn. Pentru plasarea baloanelor am folosit lipici fierbinte. În acest scop, folosiți un lipici de culoare albă transparentă. Am aplicat adeziv fierbinte în fiecare gaură din partea superioară și deasupra LED-urilor am așezat ușor marmura în fiecare gaură. Adăugarea uniformă a lipiciului va crește strălucirea ledului. Am folosit LED-ul ALBASTRU pentru ceas. Mi-a dat cel mai bun rezultat.

Dă putere ceasului. Dacă arată timp, atunci Felicitări !!!

Ai făcut!

Bucurați-vă!

Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire

Locul doi în concursul Make it Glow

Recomandat: