Sari la conținut
ELFORUM - Forumul electronistilor

proiect ceas/temperatura yo6pir


costelusss

Postări Recomandate

o metoda simpla cum gandesc eu.....

 

pragul de deschidere a BC prin fototranzistor se poate pune un semireglabil

la lumina zilei deci sunteaza rezistenta de limitare a afisajului

C pentru schimbare lenta a intensitatii

 

post-201871-0-69807900-1418971488_thumb.jpg

Link spre comentariu

o idee pe care am vazut-o implementata in mai multe scheme e urmatoarea: se inseriaza  o rezistenta si o fotorezistenta,un pin al rezistentei se conecteza la + 5 volti, pinul liber al fotorezistentei se conecteaza la masa; de pe conexiunea comuna celor doua elemente se culege un semnal fata de masa care merge direct intr-un pin al atmega8 (intrare analogica). in functie de tensiunea din acest punct microcontrolerul ajusteaza timpul de afisare in asa fel incat luminozitatea displayului sa se modifice cum dorim!

Link spre comentariu

De "citit" lumina ambientala nu e prea greu ca nici nu trebuie precizie , mai greu e sa modifici din soft ( si sa mai si mearga calumea ) iluminarea afisajului multiplexat . Dar probabil ca se poate da iti bati putin capul . Asa ar fi cel mai elegant

Link spre comentariu

Ideile toate sunt bune; apreciez efortul. Acuma ma gandesc la un mod de aplicare:

- sa comand un tranzistor serie cu anodul comun al afisajului, de la o iesire din mcu ca sa modifice deschiderea acestuia in functie de orele din zi/noapte sau un fotorezistor cum s-a expus anterior. Asta e prima varianta. Trebuie sa tin cont de curentul insumat al afisajelor sa dimensionez corespunzator tranzistorul. Eventual BDxxx.

- sa modific frecventa de multiplexare in functie de ce citesc de pe un fotorezistor. Asta e mai greu deoarece actualmente multiplexez cu o frecventa de 8ms data de TIMER0 din setarile initiale ale procesorului. Daca incerc sa modific in regim dinamic aceasta frecventa va fi mai dificil si mai greu de implementat. Deocamdata nu stiu cum. Ramane mai viabila prima varianta.

Mai studiem.

Link spre comentariu

Poate e mai simplu de implementat atunci sistemul fara senzor de lumina. Sunt doua intensitati luminoase, una redusa si una normala, intre orele 22_7 setam intensitate scazuta, deci o frecventa de multiplexare, in restul zilei intensitate normala, deci o alta frecventa de multiplexare.Pentru varianta cu tranzistor eu zic ca e suficient senzorul si cateva componente discrete, se poate scoate din ecuatie microntrolerul

Link spre comentariu

Frecvența de multiplexare nu va modifica strălucirea ledurilor, factorul de umplere fiind același. Reducerea timpului cît anodul/catodul comun este activ, va modifica strălucirea.

Link spre comentariu

Nu am cititit cu atenție subiectul în întregime deci intervenția mea este legată doar de luminozitatea LED-urilor. Modificarea prin soft a factorului de umplere ( nu a frecvenței de multiplexare , cum bine a subliniat @XAN77 ) este soluția elegantă. Dacă , din diferite motive se dorește o soluție ”hardware” externă µC , combinată cu un senzor de lumină eventual, vă povestesc cum am făcut eu în urmă cu muuuulți ani , la niște lumini de Crăciun cu integrate TTL ( vreo 20 buc ) . Un bistabil cu tranzistori - că nu mai aveam nimic liber printre porți - cu un potențiometru care varia factorul de umplere și cu comanda unui tranzistor care era în serie cu toată alimentarea LED-urilor ( erau peste 30V că erau 10LED -uri în serie ) . Acest PWM lucra la câteva sute - mii de Hz ( nu mai rețin exact ) , oricum mult mai mult decât viteza de ”plimbare” a LED-urilor . Cu un 555 e mult mai simplu - cred că atunci nu mai puteam să-l pun pe placă sau , pur și simplu nu aveam la îndemână și trebuia să termin !!! 

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

Si o imbunatatire de ultim moment:

- Cipul RTC DS1307 este perfect compatibil cu cipul ISL1208 de la INTERSIL; au aceeasi schema si aplicatie tipica. Cine are acel tip de RTC de la Intersil il poate folosi fara probleme. Am facut un mic artificiu in soft si am adaugat un jumper JMP pe terminalul ramas liber PinC.3.

post-176683-0-76935200-1420220293_thumb.gif

 

Softul se schimba si acum se pot folosi ambele cipuri cu acest soft:

 

RTC_DS1307_ISL1208.zip

 

Si inca un "amendament": Porturile SCL-SDA trebuie "trase" la +5V cu cate o rezistenta de 10K. Am uitat sa le desenez, HI!

post-176683-0-95275400-1420221031_thumb.gif

Succes!

Editat de yo6pir
Link spre comentariu

Imbunatatesc proiectul "din mers". Am un nou Upgrade la acest ceas:

- Daca se apasa ambele taste simultan se intra in meniul de setare a perioadelor de afisare, astfel:

post-176683-0-38108300-1420386738_thumb.gif

 

In acest pas se poate seta perioada de afisare a ceasului de la (0...10)sec, cu tasta "MIN".

Daca s-a ales valoarea de 0(zero) ceasul nu va mai fi afisat deloc. Se va afisa doar termometrul.

Daca s-a ales valoarea dorita se apasa tasta "HRS" si va fi afisat:

 

post-176683-0-10453200-1420386917_thumb.gif

 

In acest pas se poate seta perioada de afisare a termometrului de la (0...10)sec, cu tasta "MIN".

Daca s-a ales valoarea de 0(zero) termometrul nu va mai fi afisat deloc. Se va afisa doar ceasul.

Daca s-a ales valoarea dorita se apasa tasta "HRS" si va fi afisat in continuare mersul normal al ceasului, cu intervalele setate anterior. Aceste intervale se vor memora in memoria ne-volatila a uC-ului.

Noul soft cu setarea intervalelor se poate descarca de aici:

 

RTC_ISL1208.zip

 

 

Link spre comentariu

Un An Nou Fericit, va doresc tuturor !

 

imbunatatirile aduse sunt formidabile !

 

cu ultimul soft se poate adapta si pentru cel cu afisare dubla ?

 

ce am inteles ....nu se poate la temperatura cu zecimale la afisare dubla...

pentru 'design' as opta si daca mai adaug un mcu.....

+ un dimmer pentru afisaj  , chiar daca din soft inca nu se poate....realizez simplu cum am descris mai sus....

 

multumim pentru noile idei !

cu siguranta se vor mai dezvolta pe parcurs.....

Link spre comentariu
  • 1 lună mai târziu...

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