Sadržaj:

Wort-Uhr: 5 koraka
Wort-Uhr: 5 koraka

Video: Wort-Uhr: 5 koraka

Video: Wort-Uhr: 5 koraka
Video: ЖЕНСКАЯ ГРУДЬ - ПОМОЩЬ за 5 секунд 2024, Studeni
Anonim
Wort-Uhr
Wort-Uhr

Pozdrav zajedno!

Ovo će biti moje prvo uputstvo, a ako imate bilo kakvih ideja kako to poboljšati ili olakšati razumijevanje, ne ustručavajte se kontaktirati me!

Pa na prvu, ovakav "sat" nije moja ideja! Vidio sam puno interneta i mogu se naručiti za samo nekoliko dolara u različitim web trgovinama. Ali nisam ga želio kupiti, želio sam napraviti svoj vlastiti za učenje i razumijevanje kako to funkcionira.

Jednom riječju za "ne-njemačke" članove … Oprostite na činjenici da je ovo samo "njemačka zrna Uhr". Možda se lako može pretvoriti u engleski ili bilo koji drugi jezik, ali kako sam Nijemac, napravio sam to na svom jeziku. Ako vam je potrebna podrška za vaš jezik, obratite mi se i pokušat ću vam pomoći.

Pa počnimo…

Korak 1: Shema

Shema
Shema

Shema je jasna i ako je slika loša za čitanje, postoji i PDF datoteka.

Počnimo u donjem lijevom kutu. Postoji jednostavno napajanje koje koristi LM7805 za generiranje stabilnog 5V izlaza za PIC, registre pomaka (74HC164) i čip u stvarnom vremenu DS3231. Sve LED diode se također napajaju iz ovog dijela. D22 na desnom kraju služi samo za označavanje napajanja i lako se može ostaviti odvojeno ako se ne želi.

Za sat možete koristiti bilo koje istosmjerno napajanje sa manje od 40 V, no tada biste trebali odabrati odgovarajuću vrijednost za C7. Napon bi trebao imati barem dvostruki ulazni napon i zapamtite da stvarate toplinu u LM7805 pa biste trebali pokušati ulazni napon držati što je moguće nižim jer je sve ostalo samo gubljenje energije. Najbolje odgovara nešto između 9V i 12V DC.

Ne zamarajte se oko polariteta napajanja … P-kanalni MOSFET (Q1) djeluje kao zaštita od lažnog polariteta i sat jednostavno neće raditi i neće se oštetiti. To možete provjeriti na "napajanju" LED D22 ako je montiran.

Na desnoj strani sheme nalaze se serijski paralelni registri pomaka. Odlučio sam ih koristiti jer nisam želio koristiti ogroman PIC s puno I/O-portova. Htio sam upotrijebiti manji, a još sam imao 16F1829 kod kuće pa je izbor već bio jasan. Podatke (IN_1, IN_2 i IN_3) pruža PIC (vidi odjeljak koda u nastavku) i REGISTER_CLK također. Radi jednostavnosti u kodu i rasporedu PCB -a koristio sam dva od 74HC164 za sate, a posljednji za "logiku".

U gornjem lijevom kutu je PIC i svi potrebni dijelovi. Koristio sam unutarnji sat pa oszillator nije potreban. Samo tri otpornika za SCL, SDA i MCLR. Zbog činjenice da sam koristio 32kHz kao pokazatelj "točnih sekundi", nema potrebe za prilično stabilnom i točnom frekvencijom za PIC.

U sredini se nalazi DS3231 s najmanje vanjskih dijelova. Zapravo sam koristio samo SDA i SCL ulaze za komunikaciju preko I²C i izlaz od 32 kHZ kao vanjsku referentnu vrijednost sata za Timer1 PIC16F1829. Za ovaj izlaz podatkovna tablica kaže da je potreban vanjski pull-up otpornik. Ostale izlaze koje nisam koristio u ovom projektu i ostavio sam ih nepovezanim.

Također u sredini, LED diode … Kao što možete pročitati na shemi, koristio sam plave LED diode (one s prozirnim kućištem) i vrijednost otpornika od 1 k Ohma. Ako namjeravate sami izraditi ovaj projekt, trebali biste odabrati vrijednosti ovih otpornika prema boji i vrsti LED dioda koje odaberete. Također imajte na umu gdje želite postaviti sat. Moj jedan stoji u mojoj spavaćoj sobi pa nisam želio da LED diode budu previše svijetle i odabrao sam veću vrijednost za otpornike. Isprobajte ploču s LED -ima i vrijednostima otpornika prije nego ih postavite na tiskanu pločicu.

Korak 2: Raspored

Raspored
Raspored
Raspored
Raspored
Raspored
Raspored

Nakon što dovršite shemu, vrijeme je za usmjeravanje PCB -a. Za to sam koristio KiCAD (također za shemu). Nema se puno za reći, samo usmjerite linije.

Budući da sam kućište sata sam tiskao, bilo je vrlo važno gdje se nalaze LED diode na gornjem sloju. Stavio sam samo LED diode i otpornike na gornji sloj, jer sam naručio svoje PCB djelomično montirano (svi SMD dijelovi) i zato što je tvrtka koju sam odabrao za to samo postavljala dijelove s jedne strane, a ne dvostrano.

Možete vidjeti mjesto na dvije trodimenzionalne slike koje sam napravio od KiCAD-a.

Ako ste zainteresirani … Moguće je izvesti KiCAD PCB u Eagle, a zatim je vrlo lako izgraditi kućište jer imate referencu s PCB -a.

Korak 3: "Logika" "Wort-Uhr"

Najveći dio ovog projekta bio je kod za PIC …

Isprva pronalaženje "logike" govornog vremena na njemačkom i njegovo prevođenje u kod.

Nažalost, nije bilo moguće izravno prenijeti Excel datoteku, ali nadam se da je izvoz PDF -a za vas dovoljno čitljiv. Ako ne, kontaktirajte me i poslat ću vam originalnu Excel datoteku. U PDF -u možete vidjeti kako postavljam logiku za svoj sat. Možete vidjeti kako sam prošao različite vremenske korake i kakav je pravopis. Izračun unutar koda (uglavnom if-else izrazi) može se izvesti iz informacija na desnoj strani tablice. Jedan dio je za minute, a drugi za sate.

Kao što vidite, ovo nije magija i može se lako kodirati u C. "Najluđa" točka unutar logike je kako postupati sa satom kao što vidite u datoteci da se samo na početku sata prikazuje stvarni sat. U njemačkom (možda bi ovo mogla biti samo bavarska specifičnost) "sljedeći sat" koristi se prilično rano.

Za kodiranje sam koristio MPLABX kao svoj IDE po izboru.

Korak 4: Isječci koda

Isječci koda
Isječci koda
Isječci koda
Isječci koda

Neću ovdje objavljivati svoj kôd, ali ako namjeravate napisati vlastiti kôd, dat ću vam neke savjete o čemu sam "sapleo" tijekom razvoja …

Prvo popunjavanje "registra":

Ako prečesto prenosite nove podatke u registre i u prekratkim ciklusima, napravio sam iskustvo, LED diode su počele treperiti. Tako sam napravio neke "zastavice za blokiranje", da se samo svaku minutu napravi novi "izračun" govornog vremena i izvrši ažuriranje registra.

Kôd za popunjavanje registara je na gornjoj slici. Kao što vidite, paralelno ispunjavam sva 3 registra pa mi trebaju 3 pina PIC -a za podatke i 1 pin za CLK. 74HC164 preuzima nove podatke o prijelazu na liniji CLK od 0 do 1.

Ostatak koda uglavnom ovisi o PIC-u, logici "govornog vremena" i rukovanju komunikacijom i gumbima. Komunikaciju uglavnom pruža Microchip MPLABX jer sam koristio MSSP modul.

Dobra ideja je čitanje podatkovne tablice DS3231 jer su podaci pohranjeni unutra kao BCD pa ćete to možda morati "transformirati" u svom kodu. Pa što se mene tiče, ja sam tip koji "uči radeći" i NARAVNO nisam pročitao podatkovnu tablicu … Koštalo me puno živaca i sati.

Kao što ste mogli primijetiti, postoje dva načina za "praćenje vremena" s ovom implementacijom.

  1. Možete pročitati stvarno vrijeme izvan DS3231
  2. Možete "brojati sekunde" u samom PIC -u i s vremena na vrijeme samo sinkronizirati vrijeme s DS3231

Na vama je i oba su načina praktična i naprijed. Koristio sam prvu opciju i samo sinkronizirano vrijeme pri podešavanju vremena pomoću gumba (vrijeme pisanja u DS3231) ili svaka 24 sata (vrijeme čitanja iz DS3231), jer sam htio implementirati više logike. Okrećem sat i noću (23:00 do 05:00) pa je to po meni bilo malo lakše.

Korak 5: Stanovanje

Na kraju, ali ne i najmanje važno, vrijeme je da malo pogledamo kućište.

Kao što sam gore spomenuo, kućište sam napravio sam (koristeći Eagle) i ispisao ih svojim 3D-pisačem tako da sam morao stalno gledati položaje različitih LED dioda.

U privitku možete pronaći STL datoteke ako ih želite koristiti.

Nadam se da će vam ovo uputstvo pomoći pri izgradnji vlastitog "Wort-Uhr". Ako ima još "otvorenih pitanja", ne ustručavajte se kontaktirati me. Najbolji način kroz komentiranje u nastavku, jer možda niste jedini koji ima određeno pitanje.

Preporučeni: