Sari la conținut
ELFORUM - Forumul electronistilor

Ceas cu AT2313 rtc si senzor de temperatura


Postări Recomandate

Primul cod pentru calculul zilei din saptamana l-am scris pentru Z80 acuma mai bine de 10 ani. Foloseam un DS1307 luat de la o casa de marcat. Numai ca Z80 are instructiuni pentru calcul in format BCD asa ca toate calculele erau facute direct in format BCD. Daca as fi pus codul ala aici, ar fi fost inutil pentru-ca atmega nu are decat o singura instructiune care aminteste de calcule in format BCD si anume SWAP. Asa ca repede am facut altul, dar cu numere binare pentru avr. L-am si pus intr-un ceas cu atmega32 si imi calculeaza denumirea zilei doar daca modific data. Atat DS1307, cat si DS3231 pot memora denumirea zilei (sau ziua in saptamana cum e scris in datasheet), dar nu stiu sa o calculeze singure dupa data. Banuiesc ca nici MCP7490 nu stie.

La mine sunt 2 senzori LM73 pusi pe 2 placute mici separate. Unul e in aer iar celalalt e lipit de un calorifer. Asta pentru-ca ceasul care l-am facut mai are si functia de termostat. La mine snzorii, afisajul, DS3231 si o memorie de 32K sunt puse toate pe aceeasi magistrala I2C.

Link spre comentariu
  • 2 luni mai târziu...
  • Răspunsuri 39
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Metoda rapida de calcul a anilor bisecti intr-un secol valabila de la 1900 in sus, tot in Bascom:

 

Dim year as Byte

Dim zile_february as Byte

Dim I as Byte

 

For i = 0 to 96 Step 4

If year = i Then

zile_february = 29

Else

zile_february = 28

Endif

If i > year Then

Exit For

End If

Next

 

 

 

Link spre comentariu

Pentru ceasurile construite de noi regula e suficienta, dar regula completa e putin diferita:

Citat

Sunt necesare unele excepții de la această regulă simplă, întrucât durata anului tropical este puțin mai mică decât 365,25 zile. Eroarea se acumulează și pe o perioadă de 4 secole ea ajunge la 3 zile. Pentru aceasta, calendarul gregorian renunță la trei ani bisecți în 400 de ani. Aceasta se face prin renunțarea la ziua de 29 februarie în anii multipli de 100 și care nu sunt și multipli de 400.[3]

 

Link spre comentariu
  • 1 an mai târziu...
  • 3 săptămâni mai târziu...

Raspund unei cereri a unui coleg de forum, care doreste afisarea cifrei 7 in stil asiatic:

ceas_attiny_7.jpg.c0d16e04ccc664d8e598a50f41cc2369.jpg

Softul este dezvoltat in Bascom, daca sunt colegi care lucreaza cu acest soft si sunt interesati de acest ceas, voi posta codul sursa, astfel incat sa-l poata personaliza dupa dorinta.

In acest moment, codul poate fi compilat pentru 3 tipuri de RTC (DS1307, DS3231 si MCP7940), 2 tipuri de afisaj cu driver de tranzistoare (pnp pentru Anod Comun, npn pentru Catod Comun) sau direct, fara tranzistoare (Anod Comun_0, Catod Comun_0).

ceas-led-at2313-nou-v17(7).hex

Link spre comentariu
  • 4 săptămâni mai târziu...

Am gasit putin timp disponibil si sunt hotarat sa construiesc ceasul folosind urmatoarele componente: ds3231, at2313, afisaje catod comun sau anod comun! intentionez sa folosesc softul din postarea precedenta!

- puteti indica valorile pentru fuses bites? 

- in cazul utilizarii afisajului AC, sau CC este suficient folosirea jumperului dedicat, si eliminarea/alegerea tranzistorilor? mentionez ca voi incerca sa folosesc si niste afisaje albastre, cu doua diode inseriate pe segment, care necesita o tensiune de alimenatare mai mare de 5volti (voi folosi niste tranzistori pt a asigura nivele suficiente de tensiune/curent)! 

multumesc

mentionez ca nu am experienta in programarea AVR, nu lucrez cu Bascom! 

Link spre comentariu
  • 6 luni mai târziu...

Pentru @expert, un hex cu urmatoarele proprietati:

Procesor = at2313 (Fusebits LOW=0xE4, HIGH=0xDF)

Rtc = 3231

Display = Cc (Catod/Anod = Low, Segment = High)

Cifra 7 = model asiatic

 

Fisier:  "ceas-led-2313-3231-cc7-v19.hex"

 

Obs: Inteleg ca ai un ceas cu afisoare anod comun care functioneaza la tensiuni peste 5V, deci ai drivere pe anozi respectiv segmente. Anozii sunt activi in Low (comandati cu BTS4140)  iar segmentele active in High (comandate cu tranzistoare npn), echivalent cu comanda unui afisor Catod Comun direct de la procesor.

ceas-led-2313-3231-cc7-v19.hex

Link spre comentariu

multumesc pentru hex!

ceasul pe care incerc sa il construiesc eu are afisaje KW1-1501ASA de la Lucky Light! Pentru segmente folosesc o interfata simpla cu tranz npn, iar pentru anozi folosesc bts4140, driver mosfet de 1 amper! Schema si cablajul sunt proiectate cu EasyEda, pentru cei interesati pot oferi fisierele necesare!

ceas_1.jpg

ceas_2.jpg

Link spre comentariu

In schema ceasului tau vad ca pinul 11 al Attiny 2313 este legat la masa printr-un rezistor de 1k.

Pinul 11 ar trebui sa fie legat la pinul 3, INT/SQW, al DS2313, astfel se realizeaza sincronizarea procesorului cu RTC.

Hex-ul postat mai sus ar trebui sa functioneze daca pinul 11 procesor este conectat la pin 3 RTC.

Spor.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări