![]() |
Puteti sa construiti si voi
un astfel de ceas, nu e nevoie sa fiti "specialisti" , chiar se recomanda
sa fiti amatori, asa cum se poate vedea si in viata politica romaneasca...
Un amator care se aventureaza sa-si realizeze ceasul prezentat aici va
constata cu surprindere ca, reglat corespunzator ( prin software ) are
o precizie mai buna de +/- 3...5S pe luna, ceea ce nu se poate obtine decat
rareori cu un ceas de 1$. Ceasul din imaginea anterioara utilizeaza principiul
multiplexarii. Principiul este asemanator obtinerii imaginii in salile
de cinematograf si se bazeaza pe inertia ochiului ( si dupa cum vedeti
si a aparatului fotografic digital de uz comun utilizat la fotografiere
) de a decela imagini care se succed cu o rata mai mare de 25 de cadre
pe secunda ( 25 Hz ) . Notand
digitii (
adica cele patru cifre care compun imaginea) de la stanga spre dreapta
cu U1=1, U2=5, U3=1 si U4=0 ( ora afisata este 15:10 ) si segmentele ce
compun imaginea conform standardizarii internationale pentru afisaje cu
anod comun, multiplexarea inseamna:
![]() |
1. U1 => B=0, C=0,
A=1, D=1, E=1, F=1, G=1
2. totul este stins 3. U2=> A=0, F=0, G=0, C=0, D=0, B=1, E=1 4. totul este stins 5. U3=> B=0, C=0, A=1, D=1, E=1, F=1, G=1 6. totul este stins 7. U4=> A=0, B=0, C=0, D=0, E=0, F=0, G=1 8. totul este stins 9. goto 1. |
Cu alte cuvinte, electrozii
comuni sunt
baleiati
cu
tensiunea de alimentare necesara ( in cazul nostru +5V, un timp de 3...5mS
fiecare ) iar informatia ce ilumineaza segmentele este stabila inaintea
alimentarii anozilor si se modifica in timpul in care toate afisajele sunt
stinse, la fiecare moment al schimbarii alimentarii digitilor U1=>U2=>U3=>U4
. Deoarece viteza de baleiere este sub limita perceputa de ochiul uman,
imaginea apare ca si cum toti cei patru digiti afiseaza simultan, ceea
ce este doar o iluzie. Un necunoscator va spune: "Ce smecherie beton !"
Este doar o smecherie "asfalt" ( explicatie numai pentru noua generatie)
, deoarece acest mod de afisare, desi este economic si necesita numai 11
pini din microcontroler (7segmente + 4anozi sau catozi) , poate fi utilizat
numai in interiorul cladirii sau in locuri unde afisajul nu se afla in
bataia directa a soarelui, avand o luminozitate scazuta datorita principiului
de functionare. E, acu-i acu ! Sa vedem cum arata si schema electronica
a cestui ceas:
"Pare cam stufoasa", va spune
cel care n-a pus niciodata mana pe un letcon
(
ciocan de lipit de maxim 30W incalzit electric cu rezistenta ).
In esenta, o inspectie mai amanuntita va readuce suflul pe buzele novicelui.
Daca stiti care este simbolul tranzistorului, care tranzistoare sunt PNP
si care esteNPN atunci
puteti concura cu succes la concursurile inteligente ale PRO-TeVe-ului...
Daca nu, timpul nu e pierdut, la cerere organizez cursuri de electronica
via internet/email, in conditiile tarifare de meditatii pentru admitere
in invatamantul superior.
Partea
cea mai simpatica a cestei scheme o reprezinta functia multiplexata a pinilor
RB4,RB5,RB6 ai microcontrolerului. Acestia sunt atat iesiri digitale pentru
segmentele E,F,G ale afisajelor, cat si intrari care citesc starea butoanelor
SW1,SW2,SW3. Bineinteles ca nu pot fi intrari si iesiri simultan, ci in
mod
secvential,
dupa cum programul scris de noi o dicteaza. Rezistentele R4 (3k9)
au rolul de a limita curentul prin segmentele E,F,H la o valoare care sa
nu le aprinda chiar daca digitii au comanda anodica activa la momentul
apasarii pe butoane, respectiv R5 ( 5k6 ) are rolul de a asigura nivelul
logic 1 pe intrarile microcontrolerului cand butoanele nu sunt apasate.
O dioda antiprost D1 protejeaza circuitul de mana neindemanatica care monteaza
bateria pe dos ( si conform unuia din principiile lui Murphy, va fi protejata
de arderea microcontrolerului...) Condensatorul antiparaziti, C3 se va
monta in imediata apropriere a pinilor de alimentare ai microcontrolerului,
daca acesta sta pe soclu, imediat sub "burta" lui, in spatiul liber dintre
soclu si circuit. Asigurarea curentului necesar aprinderii corecte a tuturor
segmentelor se face de catre tranzistoarele BC256. Deoarece rata de multiplexare
este de 1:4 curentul calculat prin fiecare anod va trebui sa fie de 4x
mai mare decat cel real, reglajul acestuia se face din rezistentele R2
care trebuiesc modificate identic pentru obtinerea unei alte luminozitati.
Afisajele utilizate sunt de tipul Kingbright de 25.4 mm. Cucul acestui
ceas este buzerul U6
( un
mic difuzor electromagnetic cu membrana metalica de 47 ohmi). Se poate
utiliza orice difuzor electromagnetic cu impedanta de 8...25 ohmi cu limitarea
corespunzatoare a curentului printr-o rezistenta serie. Nu va asteptati
sa auziti cantecul cucului ci un sunet asemanator cu cel al telefonului
dar ceva mai simpatic. Cum se genereaza acesta, veti vedea in continuare:
procedure tick ( byte
in ton ) is
for 20 loop pin_b7 = high delay_200us ( ton ) pin_b7 = low delay_200us ( ton ) end loop end procedure if ! cucu_flag
then
|
Ce parere aveti ? Este suficient de intuitiv ? Valoarea variabilei ton din procedura tick este transferata intarzierilor din bucla for...loop...end loop. Acest lucru echivaleaza cu generarea unei unde dreptunghiulare cu frecventa egala cu un multiplu de 1/400uS * ton. Cantecul "cucului" va fi o repetare alternata a doua astfel de frecvente, dictata de un flag care devine zero logic cand exista coincidenta intre timpul real si timpul setat pentru alarmare si isi schimba starea imediat dupa ce "cucul" a cantat. Intregul cod sursa poate fi downloadat. Nu imi solicitati "bin-ul" sau fila hexazecimala. Nu il ofer decat contra cost programat intr-un microcontroler PIC16F62x ... Demonstrati-mi ca sunteti in stare sa-l compilati singuri ! Daca ati luat un 10 la vre-un proiect semestrial la disciplina "Electronica digitala" sau "Microcontrolere" cu acest cod, trimiteti-mi email-ul profesorului dvs. ca sa ne felicitam reciproc...