vineri, 3 iunie 2016

Afisare informatii pe monitor PC


   Fata de afisarea pe monitor TV, cea pe monitor PC nu este asa larg raspandita, dar tot am gasit ceva informatii si am reusit sa fac si niste teste.
   La inceput, am gasit articolul Simple VGA/Video Adapter care rezolva ambele proble, deoarece poate afisa informatii pe monitor TV sau pe minitor PC, schema fiind:
   Articolul mentionat mai sus este preluarea celui scris de Maxx Ibragmov pe site-ul sauMontajul lui arata asa:
   Pe minitor TV, rezolutia este de 20 linii a 38 caractere fiecare:
iar pe monitor VGA este de 20 linii a 20 caractere fiecare:
   Nu am reusit sa fac experimente cu aceasta interfata, dar am testat altele, care au avut schema simpla si am putut folosi o placa pentru mai multe (diodele nu sunt montate):
   Pentru inceput, am reprodus informatiile din articolul Arduino generated VGA (color) signal - Complete!
doar ca am scos diode deoarece apar deformatii alea imaginii:
   Pentru rezultate optime, am compilat in programul Arduino IDE 1.0.3 si am obtinut o imagine frumoasa si stabila:

NOTA (27.09.2017): Deoarece site-ul mentionat mai sus a "picat" (nu stiu daca total sau temporar), puteti descarca informatiile necesare (sketch) de la https://github.com/LaboratorioDeGaragem/VGA-com-Arduino !

   Am incercat sa reproduc si cealalta varianta prezentate pe un alt blog al autorului, Marcelo Rodrigues, dar apar deformatii ale imaginii (rupturi, liniute pe langa ce trebuie, etc).
   Am trecut la alt material, cel prezentat in articolul Basic Arduino VGA
    Pentru a avea o imagine acceptabila a trebuit sa compilez tot in Arduino IDE 1.0.3:
   Am facut si experimente cu materialul prezentat de Nick Gammon la el pe site, in prezentarea de pe forum
care transforma o placa Arduino intr-o placa video alb/negru cu rezolutia de 30 linii a cate 20 de caractere fiecare.
   Schema "placii video" este:
cealalta placa Arduino este legata prin i2c la ea.
   Din pacate, imaginea este stabila, dar apar deformatii si alte linii, cand se primesc date, asa ca am renuntat la continuarea experimentelor cu acest tip de afisare, dar am facut filmuletul numit Arduino ca placa video alb-negru si primire date pe i2c
   Am mai testat partea de afisare color "miscatoare", care are conectarea asa:
iar o imagine arata asa:
   Am facut si eu filmulete:
   Tot acolo, Nick Gammon prezinta libraria VGAx scrisa de Sandro Maffioda, care are rezolutia de 120x60, ese o librarie color cu 4 culori obtinute din 2 culori de baza.
   Schema de baza este:
   Functie de modul de conectare se obtine alte combinatii de culori:





   Am facut si eu cateva filmulete:
03.04.2018
    Se pot afisa si alte informati, de exemplu temperatura citita de un senzor analog TMP36, dupa cum se vede in filmuletele de mai jus, cand se foloseste programul VGAx_TMP36.ino:
>

Afisare informatii pe monitor TV

   Acum ceva timp am testat libraria TVOUT, care afiseaza pe un monitor TV in format PAL(si SECAM, ca e alb negru imaginea) sau NTSC caractere si grafica primitiva, deoarece rezolutia e redusa 128x96. Schema de conectare este simpla:
dar numai folosind anumiti pini, functie de microcontrolerul de pe placa Arduino sau derivate de'ale ei:
   Am testat o "statie meteo", realizata cum e prezentat in articolul Arduino Masterclass Part 3: TV weather channel.
   Schema de conectare e foarte simpla:
    Am testat pe un mic monitor de se foloseste uzual la masini pentru camera din spate:
si pe un televizor cu tub clasic, cu PIP:
   Ulterior, am incarcat si testat un sketch de termostat de centrala, care e prezentat in articolul Build a fully featured Arduino Thermostat (libraria folosita e usor modificata, dupa cum puteti citi in comentariile din articol).
   Schema foloseste un Arduino Mega, deoarece sketch-ul e mare:
eu am redesenat-o sa fie mai usor de inteles:
   Montajul meu arata ca si schema lui:
   Filmuletul meu se numeste Arduino thermostat with classical LCD monitor


marți, 31 mai 2016

Sistem de alarma (2)


   Fata de sistemul de alarma prezentat in articolul precedent, in care activarea si dezactivarea alarmei se facea cu un comutator, acum am conectat o tastatura cu 12 butoane:
   Sistemul de alarma functioneaza astfel, dupa incarcarea sketch-ului alarm_system_2a.ino:
- la pornire sistemul este dezactivat, confirmat prin aprinderea led-ului albastru;
- daca se tasteaza codul corect (1234* sau mai bine #1234* pentru a elimia posibilitatea erorilor din cauza unor apasari anteriorare, deoarece tasta # asta face), led-ul albastru se stinge si incepe sa clipeasca led-ul verde timp de 20 secunte, indicand ca alarma se pregateste de armare;
- dupa trecerea timpului de pregatire, se intra in modul activ de supraveghere, indicat de aprinderea continua a led-ului verde;
- daca se detecteaza o miscare, led-ul verde se stinge si se aprinde intermitent led-ul rosu, timp de 10 secunde, timp pentru a putea dezactiva alarma
- daca a trecut timpul si alarma nu a fost dezactivata, ledu-ul rosu se aprinde permanent indicand activarea avertizarii sonore (eu am doar led-ul de pe placa Arduino)
- daca nu se intervine nici acum pentru dezactivare alarma, sistemul trece in supraveghere si daca este iar miscare, asteapta 10 secunde si apoi se declanseaza avertizorul sonor tot 10 secunde.
- alarma se poate dezactiva in orice moment prin intorducerea codului.
   Am facut niste filmulete in care se vede mai bine modul de functionare:

Sistem de alarma


   Pe site-ul polonez http://majsterkowo.pl/ se gaseste un articol foarte interesant cu o alarma, care se poate activa/dezactiva dintr-un comutator.
   Schema alarmei este:
iar sketch-ul original se gaseste in articol, la pagtina 3.
   Dupa ce am tradus variabilele si am urmarit sketch-ul, am constatat urmatoarele:
- pinul D3 este pus permanent la masa (gnd), deci il pot elibera;
- led-ul albastru nu e folosit
- alarma este oprita cand comutatorul este in pozitia din stanga, adica pinul D2 in aer (la +5V prin rezistenta interna)
- alarma este functionala cand comutatorul este in pozitia din dreapta (pinul D2 la masa)
- dupa trecerea comutatorului spre dreapta, alarma este in asteptare timp de 20 secunde (pentru a pleca din casa), led-ul verde clipeste intermitent;
- dupa activarea supravegherii, led-ul verde este aprins permanent;
- daca se detecteaza miscare, led-ul rosu se aprinde cu intermitenta timp de 10 secunde, timp in care se poate dezactiva alarma prin trecerea comutatorului in stanga
- daca alarma nu se dezactiveaza ledul rosu ramane aprins permanent si avertizorul sonor este activ (suna), pana se dezactiveaza alarma (prin trecerea comutatorului in pozitia din stanga).
   Eu am facut mici modificari si schema a devenit:
   Am facut modificari si in sketch (alarm_system_1a.ino):
- comutatorul are pozitie de OFF (pin D2 in aer) sau ON (pin D2 la masa);
- daca alarnma este dezactivata led-ul albastru este aprins
- dupa trecerea comutatorului spre dreapta, alarma este in asteptare timp de 20 secunde (pentru a pleca din casa), led-ul verde clipeste intermitent;
- dupa activarea supravegherii, led-ul verde este aprins permanent;
- daca se detecteaza miscare si alarma nu este dezactivata, dupa trecerea celor 10 secunde, se aprinde led-ul galben (care se poate inlocui ca in schema originala cu un avertizor sonor, la mine este folosit led-ul de pe placa) timp de 10 secunde.. apoi se revine in starea de supraveghere, daca exista miscare, se asteapta iar 10 secunde si apoi 10 secunde avertizare.
 
 
   Am facut si 2 filmulete:

- in engleza, numit Arduino system alarm with delay

marți, 12 aprilie 2016

Afisaj cu 4 cifre controlate de TM1637 si Arduino

   Un afisaj ieftin este cel cu 4 cifre de 0.36"(9,14mm) din 7 segmente led controlate de integratul TM1637:
   El se poate folosi pentru un ceas, pentru indicatii de temperatura si umiditate, ceas cronometru, etc.
   Pentru inceput am cautat pe net si am gasit cateva articoole in care se prezinta acest afisaj impreuna cu Arduino, doar ca eu m-am oprit la articolul de la http://www.arduino.md/hardware/lcd-and-leds/0-36-led-display-4-digit-red/ care foloseste libraria care se poate descarca de la http://www.arduino.md/wp-content/uploads/library/TM1637-4-digit-display-tube.zip !
  Schema de test e foarte simpla:
   Am adaptat libraria mentionata mai sus pentru a afisa si alte simboluri:
si am folosit si un senzor de temperatura si umiditate DHT11 (sketch-ul permite folosirea si a unui senzor AM2302/DHT22):
   Schema utilizata este:
   Pe canalul de github (https://github.com/tehniq3/) am pus libraria mea modificata, care include si sketch-ul cu DHT11, adresa fiind https://github.com/tehniq3/TM1637-display.
   Am facut si un filmulet numit Arduino, afisaj cu TM1637 si senzor DHT11

si inca unul in engleza, numit Arduino, TM1637 display & DHT11 sensor