Kétszínû kilométeróra háttérvilágítás
-
"Azért vannak a jóbarátok.."
Az embernek ugye vannak haverjai…akiknek mindig van egy-két jó “nemelehetneztetmegcsinálnivalahogyanmertaztökjólenne” ötlete…
Egy másik projekt...
-
Egy ledes műszerfalvilágítás tunningolása volt a cél: változtatható szín, állítható fényerő legyen.
AVR-es felfedezésemhez tökéletes project. A választás ATtiny13 procira esett a következő szempontok miatt: van benne adc, két pwm és eeprom (ahol tárolhatni lehet a két szín beállított értékét)…és legfőképpen olcsó, cserébe maximum 1kb lehet a max program.
A kapcsolási és nyák rajz (ExpressPCB és ExpressSCH file) következőképpen néz ki:
-
A gombok különböző értékű ellenállásokkal az egyik adc (ADC3) bemenetre mennek – mivel nincsen sok portláb és a reset (Portb.5) lábat szabadon szerettem volna hagyni.
A két pwm kimeneten (Portb.1 (OC0A), Portb.2 (OC0B)) az egyes led csoportok meghajtása történik, biztonsági áramkorlátozó ellenállásokkal (R8-R9 egyedileg méretezve a ledcsoportokhoz).
A tápfeszültség jelenlétének (H-L) figyelése a Portb.4-es lábon történik. Amikor kikapcsolásra kerül az egység, akkor a megváltozott adatokat elmenti a belső eeprom-ba.
-
A program írásakor gondot okozott a pwm éltre keltése, de nem túl hosszú guglizás után sikerült választ találni ezen az oldalon (keresd a Tiny13TimerSettings.xls –re mutató linket)… végülis ezek az információk az adatlapban is megtalálhatóak, de így összeszedve sokkal átláthatóbb – számomra :-)
-
A bascom program lényegében “csak” ennyi:
- szokásos port, timer, adc konfigurációk,
- pwm beállítás (direkt regiszter írás)
- eepromból adatok kiolvasása,
- legutóbb használt szin bekapcsolása és lassú fényerő növelés a beállított értékre,
Főprogramrész:
- ha tápfeszültség jelen van:
- gombok figyelése, szükség esetén értékek változtatása (színválasztás, fényerő fel-le),
- a beállított érték szerint ledcsoprtok meghajtása.
- ha tápfeszültség elfogy (a szükséges energia C3-ból fedezve a következő müveletekhez):
- ledek kikapcsolása,
- megváltozott szín/fényerő adatok kimentése,
- adatok újra beolvasása, hogy ne írja felül feleslegesen az adokat (eeprom élettartam 100000 ciklus az adatlap szerint), mert ebben a ciklusban marad a program, amíg le nem merül a C3 kondenzátor.
-
Rövid teszvideó innen letölthetõ.
-