Sari la conținut
ELFORUM - Forumul electronistilor

Ceas cu afisaj 7 segmente varianta niq_ro


daniels

Postări Recomandate

Sa vad maine dupaamiaza poate ma uit pe cod pt eliminarea datei. Eu nu am incercat inca modificarea intensitatii cu LDR, dar urmeaza.

Editat de daniels
Link spre comentariu
  • Răspunsuri 157
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • ionutz2013

    70

  • daniels

    60

  • Stefan

    4

  • teomishu

    4

Top autori în acest subiect

Imagini postate

Am incarcat codul postat pe forum si ca intensitate luminoasa la pornire e destul de slaba cam cum vreau sa fie dar dupa 10 secunde se face puternica iar ldr nu lucreaza. Merge sa il fac sa ramana petmanent pe acea luninozitate scazuta? Sa nu se mai mareasca dupa 10 secunde

Editat de ionutz2013
Link spre comentariu
Acum 13 minute, fratello a spus:

Modifica linia:

DISPLAY_BRIGHTNESS = analogRead(LDR);

Pune, de exemplu, = 5

Pai acum ezte pus 5. Sau tre sa inlocuiesc 5 cu analog(LDR)?

Link spre comentariu

Daca este pus 5 atunci luminozitatea nu are cum sa fie influentata de LDR.

Ori lasi analogRead(LDR), si atunci ar trebui sa varieze functie de luminozitate, ori pui 5, si atunci luminozitatea este fixa, dimata.

 

LE : Linia "Display_Brightness = analogRead(LDR)" am vazut ca se repeta de mai multe ori in sketch. Nu am (facut) montajul sa stiu cum reactioneaza ...

Editat de fratello
Link spre comentariu

Cand il alimentez porneste dimat la minim. Dar dupa 10 secunde se face puternic. Varianta cu brightness = 5. Sta doar 10 secunde dimat 

Link spre comentariu

M-am tot jucat cu codurile astea si nu le dau de cap. Primul cod: cel din linkul de la inceputul topicului functioneaza bine dar nu il pot dima. Daca modific valoarea de la brightness din linia 53 de la 500 la minim, nu se dimeaza iar viteza de afisare a orei, temperaturii si umiditatii creste parca ar fi filmat pe viteza mare. Codul din postare de sub link afisaza si data in plus fata fe primul cod iar dimarea sta doar 10 secunde. Dupa care afisajul lumineaza puternic. Nu stiu ce coduri ati folosit.  Dar as vrea sa fac sa afiseze ca in codul din link dar sa fie dimabil. Fie cu analog LDR, fie o rezistenta fixa care sa ii stabilesc valoarea in functie de cat de slab sau intens sa lumineze. Are cineva vreo varianta de cod? 

Link spre comentariu
La 27.06.2023 la 10:14, daniels a spus:

Am facut acest proiect, ...

 

Am o problema cu modulul RTC DS1307 in sensul ca afiseaza o ora, dupa care nu se mai schimba nimic. Temperatura si umiditatea sunt afisate corect.

DS1307 la alimentare necesita scrierea bitului 7 din linia secundelor, denumit in datasheet CH (Cloc Halt). Valoarea 1 a acestui bit blocheaza oscilatorul iar valorile din registri sunt statice. Valoarea 0 a CH porneste oscilatorul. La alimentare (sau la prima alimentare daca bateria este montata), valorile din registri sunt nedefinite si pot lua valori aleatorii, CH-ul putand fi fie 1, fie 0. 

Este recomandat ca la inceputul codului, inainte de bucla principala a programului, sa fie introdusa o secventa de cod de verificare a bitului 7 din linia 00h a memoriei si una de verificare a registrului de control, linia 07h din memorie. Pentru acest registru valoarea folosita in cazul acestui ceas trebuie sa fie 00010000, cea ce inseamna SQW activat pe pinul 7 si 1HZ la iesire. Daca valorile nu sunt cele corecte, atunci se rescrie linia cu pricina. Atentie la linia secundelor unde se pastreaza valoarea citita si se reseteaza doar bitul 7, altfel apar probleme de precizie la nivelul secundelor.

Sterge ce este sub acest text. Duplicat!

La 27.06.2023 la 10:14, daniels a spus:

Am facut acest proiect, ...

 

Am o problema cu modulul RTC DS1307 in sensul ca afiseaza o ora, dupa care nu se mai schimba nimic. Temperatura si umiditatea sunt afisate corect.

DS1307 la alimentare necesita scrierea bitului 7 din linia secundelor, denumit in datasheet CH (Cloc Halt). Valoarea 1 a acestui bit blocheaza oscilatorul iar valorile din registri sunt statice. Valoarea 0 a CH porneste oscilatorul. La alimentare (sau la prima alimentare daca bateria este montata), valorile din registri sunt nedefinite si pot lua valori aleatorii, CH-ul putand fi fie 1, fie 0. 

Este recomandat ca la inceputul codului, inainte de bucla principala a programului, sa fie introdusa o secventa de cod de verificare a bitului 7 din linia 00h a memoriei si una de verificare a registrului de control, linia 07h din memorie. Pentru acest registru valoarea folosita in cazul acestui ceas trebuie sa fie 00010000, cea ce inseamna SQW activat pe pinul 7 si 1HZ la iesire. Daca valorile nu sunt cele corecte, atunci se rescrie linia cu pricina. Atentie la linia secundelor unde se pastreaza valoarea citita si se reseteaza doar bitul 7, altfel apar probleme de precizie la nivelul secundelor.

 

Link spre comentariu

Repet :

-PROBABIL linia "Display_Brightness = analogRead(LDR)" trebuie inlocuita cu "Display_brightness = 5"

-Linia "Display_Brightness = analogRead(LDR)" am vazut ca se repeta de mai multe ori in sketch

brightness.jpg

Link spre comentariu
Acum 13 minute, fratello a spus:

Repet :

-PROBABIL linia "Display_Brightness = analogRead(LDR)" trebuie inlocuita cu "Display_brightness = 5"

-Linia "Display_Brightness = analogRead(LDR)" am vazut ca se repeta de mai multe ori in sketch

brightness.jpg

Daca o dau pe 5 creste viteza cu care se schimba afisarea, si viteza de clipire a punctelor. Iar cu analog ldr sta dimat doar 10 secunde. Celalalt cod din link nu are nici macar ldr in cod. Dar la fel daca micsorez valoarea la brightness imi mareste viteza aia si nu schimba luminiozitatea. O sa incerc sa dimez cu rezistente, ca din soft nu reusesc sa il fac.

Link spre comentariu
La 27.06.2023 la 10:14, daniels a spus:
delayMicroseconds(DISPLAY_BRIGHTNESS)

Eu nu inteleg de ce foloseste DISPLAY_BRIGHTNESS argument pentru delayMicroseconds

Link spre comentariu

Da e foarte ciudat asta cu brightnessu care modifica defapt altceva. Daca ma uit mai atent la el se observa ca cele : dintre digitul 2 si 3 lumineaza mai slab decat digitii.  Nu ma pricep la programare la coduri. Am incercat sa fac o combinatie intre cele 2 coduri dar face la fel. Unde as gasi un soft pt un ceas sa afiseze ora si temperatura? Bazat pe arduino, DS3231 RTC si DHT11 pt temperatura? Dar un cod care sa pot face dimare pe el fara sa schimbe altele prin el.

Link spre comentariu

Eu am schimbat peste tot

delayMicroseconds(DISPLAY_BRIGHTNESS)

cu

 

delayMicroseconds(500)

cat era initial, dar cand modific  DISPLAY_BRIGHTNESS=50, tot incepe sa clipeasca rapid

 

Editat de daniels
Link spre comentariu

Insist cu neintelegerea din seara Sf. Ilie.

Functia 

delayMicroseconds()

produce o intarziere in microsecunde (1s=1 milion microsecunde). O foloseste mult, cred ca de peste 30 de ori.

De ce o foloseste? Si mai pune un argument care variaza.

 

Editat de daniels
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