Se afișează postările cu eticheta ATTINY85. Afișați toate postările
Se afișează postările cu eticheta ATTINY85. Afișați toate postările

sâmbătă, 27 ianuarie 2018

Voltmetru/ampermetru cu Attiny85 pe LCD8x2

Pentru sursa din articolul anterior am facut un indicator tensiune/curent cu Attiny85 pe un LCD 8x2 . Initial la teste am plecat cu un LCD 16x2 care a cedat si care oricum nu incapea unde voiam sa-l pun.
Sursa de inspiratie a fost blogul lui Nicu, (nu voi intra in detalii ca sint suficiente cele oferite de Nicu) unde am facut urmatoarele modificari care de fapt se pot observa si in cod:
Pe pinul 2 al lui Attiny85 am pus un divizor de tensiune cu  o rezistenta de 470Ohm la masa si 100k catre  tensiunea de masurat, pe pinul 3 am cules tensiunea de pe rezistenta de sunt din circuitul sursei. Partea de interfata cu LCD-ul a ramas identica, iar referinta am trecut-o pe intern. Pinul 1 reset a ramas legat la 5V printr-o rezistenta de 10K.
Alimentarea lui Attiny85 am luat-o de firul violet al sursei (+5V).
Se poate observa din imaginile de mai jos ca erorile de afisare sint relativ mici.
Citeva imagini de la teste:
 Montajul urmeaza sa fie strins pe un cablaj imprimat




 Aici este sursa din articolul anterior la care i-am adaptat un modul cuTL494 fixat pe o lamela de radiator

And ready for work
Si o varianta de cablaj imprimat

In teste:





duminică, 8 octombrie 2017

Ceas cu reglaj, temperatura si umiditate cu attiny85

Am reluat proiectul de aici cu Attiny85 DIGISPARK si i-am adaugat si un senzor DHT11.
 Pentru reglaj am folosit pinul reset care este utilizabil ca analogRead pentru tensiuni mai mari de 2,5V. Fiindu-mi lene sa calculez un divizor cu rezistente, am pus 2 semireglabili de 1K intre +5V si masa iar pe mijlocul lor am reglat 3V (valoarea citita este 647), respectiv 4,5V (valoare citita 968).
Ca RTC in acest caz am folosit un DS1307, functioneaza si cu DS3231 fara nici o modificare la cod.
Codul este aici si sint comentate legaturile.
Avind bucla de afisare :
for (int pp=20; pp>0; pp--)
este un pic enervant  inceputul reglajului orei si minutelor, deoarece la fiecare 20 secunde va afisa temperatura si umiditatea, dar in felul acesta am folosit la maxim dotarea hard/soft a lui Attiny 85.
Reglajul odata efectuat teoretic nu mai este necesar decit la schimbarea orei de iarna sau primavara.
Am incercat initial sa blochez bucla pe perioada reglajului, insa codul depaseste memoria lui Attiny.
Schema este aici
citeva poze mai jos:
Temperatura
Umiditatea




duminică, 27 august 2017

Ceas cu ATTINY85 Digispark, RTC, afisare pe I2C 7 segmente HT16K33

Sosise de ceva vreme un display  de 1,2" (3cm) cu interfata I2C,  controlat de HT16K33 si i-am utilizarea pentru carea fost construit impreuna cu un DS3231 si un modul ATTINY85 Digispark..
Trebuia sa iasa doar un ceas foarte vizibil, si sa aiba posibilitatea de ajustare a orelor si minutelor.

Schema de conectare este aici  Pentru reglaj am folosit tot 2 butoane de data asta legate fiecare pe cite un pin.
Dupa un pic de documentare si adaptari am reusit sa-l aprind.
Codul folosit impreuna cu bibliotecile utilizate aici
Prototipul l-am facut tot pe o placa te test cu sirme la care i-am atasat si o sursa:
Ulterior s-a facut o caseta din doua placi fata-spate una transparenta si una opaca, cu gauri pentru butoanele de reglaj.


Ceas cu ATTINY85 Digispark pe TM1637

Vazind cum se lucreaza cu modulele celor de la Digispark, m-am hotarit sa fac un ceas cu afisare pe display cu TM1637. P e internet nu am gasit mare mi-a atras atentia proiectul de aici.
M-am oprit asupra lui si -am adaptat la situatia mea iesind schema de aici.

Am pus doar doua butoane pentru reglaj ora, respectiv minute. Nu am gasit rezistente adecvate ca sa fac divizorul, asa ca am pus un semireglabil din care reglez cca 1,8V. Am testat cu modul de RTC cu DS3231, si DS1307 fara nici o modicare la cod.

Initial facusem sa nu afiseze zero la orele<10 insa se aprinde aleator acel digit si nu m-am prins ce-l deranjeaza, asa ca am renuntat



 In final am folosit un diplay mai mare cu acelasi controler TM1637
 Aici am facut un prototip pe placa de test, cu display-ul cel mare, montajul iesind la dimensiunea acestuia.





Aici este un alt prototip




Termometru ATTINY85 Digispark

Aveam mai multe module cu ATTINY85 de la Digispark si m-am hotarit sa fac un termometru cu DHT11 si afisare pe un display cu TM1637
Dupa o scurta documentare descpre placa de dezvoltare am ajuns la tutorialul lor de aici . Am urmat pasii de acolo si am instalat driver-ul de aici .
La Arduino IDE a aparut urmatoarea situatie:
Aici a aparut un alt programator dupa instalarea driver-ului.
 Aici a aparut si placa mea

M-am jucat un pic cu aprins LED-uri ca sa ma obisnuies cu modul de progrmare. Aici ideea este ca dupa editarea codului, se compileaza de test, se da upload fara a conecta placa la USB
Doar dupa ce apare mesajul de mai sus se conecteaza si placa la USB, va apare mesajul de ok cind termina si se mai asteapta cca 10 secunde dupa care se poate deconecta.
Am incercat si programarea cu circuitul realizat, si din 4-5 incercari merge o data. Pinii PB4 si PB3 sint conectati la USB in timpul programarii, iar daca schema utilizata ii foloseste se pare ca ceva nu-i place. In aceasta situatie am preferat sa scot placa din breadboard, s-o programez si apoi s-o atasez la loc in breadboard.

Acum ca am vazut cum se lucreaza, am folosit biblioteca si codul lui Nicu la care am adaptat modul de conectare conform schemei de aici si a rezultat codul de aici. Pentru DHT11 am folosit biblioteca de aici
Am avut placuta surpriza de a se compila fara erori, asa ca am incarcat codul. Dupa conectarea placutei pe breadboard chiar a functionat:

Testat  si cu un simplu  ATTINY85


Stabilizator 12V/800mA de la 85Vcc-700Vcc cu LNK3209

  Am testat zilele acestea un stabilizator de 12Vcc bazat pe LNK3209 cu intrarea variabilă între 85Vcc-700Vcc (la 400V m-am oprit pentru că ...