Cuprins:

Ceasul nu este atât de prost: 4 pași
Ceasul nu este atât de prost: 4 pași

Video: Ceasul nu este atât de prost: 4 pași

Video: Ceasul nu este atât de prost: 4 pași
Video: Vescan - Tic-Tac (feat. Mahia Beldo) Xsession Version 2024, Iunie
Anonim
Ceasul nu este atât de prost
Ceasul nu este atât de prost
Ceasul nu este atât de prost
Ceasul nu este atât de prost
Ceasul nu este atât de prost
Ceasul nu este atât de prost

De davidjwattsdavidjwatts.com Urmăriți mai multe de la autor:

PiBot: Calcularea Pi cu un Arduino Uno
PiBot: Calcularea Pi cu un Arduino Uno
PiBot: Calcularea Pi cu un Arduino Uno
PiBot: Calcularea Pi cu un Arduino Uno

În primul rând, de ce să-l numim Crap Clock? Ei bine, scade așteptările cu speranța de a le depăși:-) Glumesc desigur, ceasul reprezintă multe dintre eșecurile și succesele mele în egală măsură. Reprezentarea fizică a subalternului în electronică.

În al doilea rând, acest lucru nu este într-adevăr un mod de a face „lucrul” mai mult o reflecție asupra alegerilor de proiectare și a tuturor materialelor de care aveți nevoie pentru a vă construi propriile.

Crap Clock este un ceas care rulează de la un ATMEGA328 care acționează 82 de LED-uri printr-un 74HC595 care conduce rândurile și un TLC5940 care scufundă curentul pe coloane. Deoarece DS3231 păstrează timpul și poate fi menținut în funcțiune cu terminalele de intrare ale bateriei. Ceasul are mai multe ‘moduri’ pentru a vizualiza ora, data, anul, temperatura și apoi modurile pentru setarea orei și datei cu cele două butoane. LED-urile pot fi estompate cu TLC5940 și afișajul secundelor (LED-urile roz de mai sus) pot fi utilizate pentru a afișa o literă contextuală alături de modul în care este ceasul.

Există câteva caracteristici pe care nu le-am folosit sau le-am scos din PCB, cum ar fi încărcarea bateriei Li-ion, am făcut asta în această versiune pentru a reduce costul pieselor și pentru că DS3231 într-adevăr sorbe doar o cantitate mică de curent. Există încă pini pentru pinul de alarmă incorporat DS3231 INT / SQW și un pin buzzer de la ATMEGA. Pinul 10 este defect pentru uz general și există, de asemenea, un pin analogic disponibil pentru o caracteristică precum un LDR pentru a modifica luminozitatea în funcție de lumina ambientală.

Am alcătuit o listă de redare cu toate videoclipurile în care îmi amintesc că am vorbit sau am proiectat Crap Clock.

Pasul 1: Pasul 1: PCB și schemă

Pasul 1: PCB și schematică
Pasul 1: PCB și schematică
Pasul 1: PCB și schemă
Pasul 1: PCB și schemă

Aspectul și schema PCB au fost proiectate în Eagle, a durat mult;-), dar a fost, de asemenea, foarte distractiv și chiar m-a învățat multe despre design. Nu vă faceți griji, există încă o mulțime de greșeli dacă orice alt proiect pe care l-am făcut, inclusiv toate cele despre care nu știu în acest proiect.

Am vrut ca ceasul să aibă un afișaj matricial și ca totul să existe pe o singură placă, așa că am început să creez o placă rotundă pentru a emula un ceas analogic. Da … care nu s-a lipit, a fost o formă teribilă de parcurs și a cerut milioane (poate sute) de LED-uri. Apoi am decis să fac un afișaj în stil matricial folosind LED-urile, inițial toate acționate cu registre de deplasare (venerabilul 74HC595), dar am decis în cele din urmă că familiarizatul driver LED TLC5940 ar fi minunat să scufunde curentul din acele LED-uri și să ofere extraordinarul caracteristică de estompare PWM.

Iată lista materialelor:

1 x 16 MHz cristal SM49

82 x 0603 LED-uri (cam orice culoare doriți)

1 x Mini USB tip B (nu este necesar, este doar pentru alimentare care este oricum ruptă la pini)

7 x condensatori 100nf 0805

9 x 10k 0805 rezistențe

2 x condensatoare 1080 0805 (Nu sunt necesare pentru a fi sinceri, iar 0805 sunt scumpe)

5 x rezistențe 1k 0805

1 x 2k 0805 rezistențe

5 x 2n3906 SOT23

2 rezistențe 22pf 1206

Rezistențe 16 x 470 ohm 0805

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x comutator tactil SMD DTSM-3

1 x TLC5940PWP

Pasul 2: Pasul 2: Codul mizeriei

Pasul 2: Codul Crap
Pasul 2: Codul Crap

Codul a fost un pic de coșmar, sa dovedit că codificarea unui ceas cu un afișaj matricial homebrew nu este atât de ușor chiar și atunci când utilizați câteva biblioteci.

Desigur, nu este un cod grozav, ci un cod prost. Dar funcționează și este ușor de modificat, habar n-am cum să fac o bibliotecă, așa că totul este un pic o epavă de tren. Ha ha, dar sincer lucrez pentru a-mi îmbunătăți codul și a învăța cum să îmi creez propriile biblioteci.

A fost scris în Arduino IDE și folosește câteva biblioteci (Shifter.h, MD_DS3231.h și Tlc5940.h) create de oameni mult mai inteligenți pe care I. Va trebui să încărcați acest lucru cu un programator, am folosit un Arduino ca ISP și l-a conectat la reset, 11, 12, 13 pini de pe placa.

Butoanele:

Există două butoane, au funcții multiple, în funcție de modul în care este ceasul. Puteți să le utilizați pentru a schimba modul de afișare înainte și înapoi, prin ora, data, anul, temperatura și apoi pentru a seta ora.

Pasul 3: Pasul 3: Crap Case

"încărcare =" leneș "pot să spun, este un pic prost, dar sunt cam îndrăgostit de ea. Noua versiune a designului PCB nu are acele fire atractive pentru bodge;-) Cele finisate pe care le am se bazează pe prototipurile mele.

Simțiți-vă liber să îl sfâșiați, să-l remixați și să utilizați orice părți pe care le considerați utile. Am fost ajutat de o mulțime de oameni din comunitatea YouTube pe toată durata acestui proiect, așa că în final este al tuturor.

Recomandat: