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

duminică, 1 iulie 2018

Control ton cu TDA1524 si arduino

Cu ceva timp in urma am realizat un corector de ton cu TDA1524 caruia i-au cam cedat potentiometrii. Asa ca am testat inlocuirea acestora cu un arduino. Am preluat materialul lui Nicu Florica caruia i-am adus mici modificari.
Schema este preluata fara nici o modificare:
La iesirile spre TDA1524 am inseriat cite o rezistenta de 1K cu un 10microF la masa.
In codul meu am modificat PWM-ul la 222 in loc de 255 ca sa iasa 4,2V la maxim conform datelor de catalog ale lui TDA1524. In plus ca sa am un ordin de marime asupra valorilor reglate le-am afisat si pe acestea de LCD. 
Ca mod de functionare daca se apasa butonul meniu se trece pe rind la reglat volum, balans, bas si inalte. Ajustarea se face cu cele doua botoane plus si minus. Daca nu se apasa butonul meniu din plus si minus se regleaza doar volumul. Era obositor sa trec prin tot meniul doar pentru reglajul volumului, care este manevrat mai des.

Imagini de la teste
  • La initializare afizeaza starea curenta, cea memorata la ultimul reglaj:


  •  Placa corectorului de ton pe care am lipit rezistentele de 1K si condensatorii de 10micro. Mijlocul potentiometrilor s-au sectionat de pe placa.

  •  In spate este un amplificator cu TDA2616 pus rapid pe o placa de test ca sa pot auzi efectul reglajelor. Am testat cu un arduino uno caruia ii voi transfera controlerul pe un cablaj imprimat impreuna cu cele trei butoane, rezistentele si condensatorii. (probabil si TDA-ul functie de spatiul din caseta)


  •  Valorile afisate sint de la 0 la 38


  •  Nu m-am chinuit sa aliniez datele afisate pentru ca inca sint in dubii daca voi folosi LCD-ul asta sau trec pe un TFT.


vineri, 25 mai 2018

Priza programabila utilizind arduino

Deoarece mi-a cedat priza programabila luata din magazin, am hotarit sa mi-o fac singur. In cazul meu aceasta sta de regula in aer liber, si datorita mediului cedeaza ori butoanele care nu mai fac contact, ori display-ul caruia ii crapa banda de cauciuc cu contacte. Cele din comert sint ceva mai stufoase, insa eu am nevoie doar sa porneasca zilnic un releu pe un interval orar stabilit.
Nu am avut chef sa inventez alta roata asa ca mai intii am cautat sa vad ce au facut si altii. Solutii sint multe (mai mult sau mai putin complicate), dar de lene am ales varianta cea mai simpla, unde puteam utiliza arduino.
Am pornit de la un acest proiect de ceas cu alarma caruia i-am adaptat codul la ceea ce am gasit in sertar.
Pentru teste am folosit un LCD 16x2 cu I2C, un arduino nano si un modul cu DS1307.
Initial am mers pe varianta omului cu 3 butoane pe 3 intrari separate . Ulterior in speranta de a folosi un ATTINY85, am modificat codul pentru 3 butoane legate la aceasi intrare adaptind la cele 3 butoane 3 rezistente de 10K dupa informatiile din link. Din pacate aceasta versiune de cod nu incape in ATTINY si va ramine in studiu.
Codul ocupa destul de mult:

Fazele de testare arata ca mai jos:
In dreapta sus este ora de pornire (P), iar sub el ora de oprire (O)
In stinga sus ora curenta, iar mai jos data, desi in acesta aplicatie informatia este inutila.
La apasare butonului "-" se poate porni releul manual
 La apasarea butonului SET ( cel ce pune la masa intrarea A3) se trece in modul setup (cel din mijloc este + iar capatul -)
 La apasari succesive cursorul ">" se deplaseaza in stinga fiecarui element de reglat, cu celelate 2 butoane "+" si  "-" se executa reglajul.
 Setare ora si minut pornire
 Setare ora si minut oprire
 Se salveaza datele in EEprom
Releu pornit
In curind cind vor sosi circuitele DS1307 voi utiliza un LCD16x2 fara I2C, cu un 328 simplu, puse toate pe un circuit imprimat, adaptat la cutia folosita.

Trebuind neaparat o bucata functionala l-am pus intr-o doza PT (pe tencuiala):
De data asta am folosit un RTC mai mic ca dimensiune cu un LCD fara I2C, si am pus un ATMEGA328. Releul l-am lipit peste priza, iar linga el am pus o sursa de 5v/700mA.





sâmbătă, 18 noiembrie 2017

Termostat/higrostat remote pe 433MHz

Pornind de la articolul anterior am adaptat termostatul lui Nicu Florica.
De data asta in locul lui Arduino mini am folosit o clona de Arduino UNO si un shield LCD 16x2 cu butoane. Initial am testat LCD-ul ca sa vad daca am aceleasi valori la apasarea tastelor.
Studiind codul am vazut ca Nicu folosea D11 pentru o iesire de releu
// define pins for relay or leds
#define temppeste 11
#define umidpeste 12

Si ca sa nu modific biblioteca Virtualware am mutat iesirea de releu pe D2, iar la D11 am legat pinul Data de la receptor.
// define pins for relay or leds
#define temppeste 2
#define umidpeste 12

Codul adaptat este pe github. Detalii despre functionarea termostatului gasiti la Nicu Florica pe blog.
O poza de la teste:

Emitatorul  (acelasi din testele anterioare) este in camera vecina in spatele peretelui la cca 12m.
Update:
La emitator am adaugat un display 7 segmente cu TM1637 ca sa am  afisare locala, si am folosit de data asta  un DHT22.



miercuri, 8 noiembrie 2017

Ardutester

Inspirat de o postare pe facebook  a lui Nicu si la rugaciunea unui amic ce dorea un tester super ieftin pentru identificat rapid tranzistori, am facut  probe la testerul cu arduino aparut pe un forum rusesc. 
Codul testat de mine este de aici la care eu am modificat pentru un LCD 16x2 cu I2C , iar codul adaptat de mine aici.
Firele arata cam asa:
Schema este ca mai jos:

Intii am incercat sa gasesc cite 3 rezistente de 680Ohm si 470KOhm cit mai apropiate ca valoare, dupa care am cautat liniile :

#define R_L_VAL 6800 // standard value 680 Ohm, multiplied by 10 for 0.1 Ohm resolution
//#define R_L_VAL 6620 // this will be define a 662 Ohm
#define R_H_VAL 47000 // standard value 470000 Ohm, multiplied by 10, divided by 100
//#define R_H_VAL 49500 // this will be define a 495000 Ohm, divided by 100

iar aici inlocuit cu valorile folosite de mine (662 si 495K).

Am procedat apoi la teste comparind ce arata multimetrul, testerul chinezesc ce se vede in poza si testerul cu arduino preluat de pe forumul rusesc.

Concluzii :
  • rezistentele masurate sint OK pina la valori apropiate de 5 Ohm, (sub 5 indica eronat)
  • tranzistorii si diodele testate s-au identificat corect
  • inductantele dau valori diferite dar foarte apropiate
  • condensatorii ceramici sint ok doar intre 2-3 sau 1-2, pe 1-3 e diferita valoara dar foarte apropiata
  • condensatorii electrolitici dau valori aleatorii indiferent intre care pini masor (am avut grija sa-i descarc inainte de fiecare masurare)





Tot pe forum am mai gasit o alta versiune ce foloseste display nokia5110 si display oled I2C
Am testat doar versiunea cu display Nokia in speranta ca va avea simboluri grafice. La versiune pe oled am rasfoit doar codul si am observat ca e similar cu nokia 5110 avind doar adaptarile specifice oled-ului.
Dar afisarea este tot in mod text, iar la partea de limba engleza nu afiseaza corect simbolul omega. Insa lipsind simbolurile grafice am renuntat repede. Partea de afisare se poate remedia folosind bibliotecile ce se gasesc in arhiva.

Amplificator ultra simplu cu MOS 40W/8Ohm la 2x30V

 Am început construcția unui amplificator cu tranzistori MOS după o schemă proiectată de Ionel Epure , care se împacă foarte bine cu boxele ...