joi, 30 iunie 2016

Radio FM cu TEA5767 si... Arduino (III)

   Am 3 ani am facut niste experimente cu un modul radio FM bazat pe integratul TEA5767, dupa cum se vede in articolele:
Radio FM cu TEA5767 si... Arduino
Radio FM cu TEA5767 si... Arduino (II)
   Am refacut montajul cu afisaj alfanumeric cu 16 coloane si 2 randuri (LCD1602) cu interfata i2c:
folosind cam aceeasi schema ca in primul articol:
fara a folosi cele 2 rezistente externe de 10k pentru ca le folosesc pe cele interne de la microcontorul placii de dezvoltare si conectand "magistralele"SDA si SCL la pinii dedicati ai placii Arduino Leonardo pe care am folosit-o acum:
   De data asta am mai modificat un pic sketch-ul si am memorat ultima frecventa, astfel ca receptorul porneste pe aceeasi frecventa ca cea ascultata cu o zi, o saptamana, o luna inainte, etc.
   Am facut si 2 filmulete:

marți, 28 iunie 2016

Sistem masurare si control umiditate sol

   Fata de articolele precedente [Masurare umiditate sol si Masurare umiditate sol (2)] in care doar am masurat umiditatea si am afisat datele pe un ecran alfanumeric cu 16 coloane si 2 randuri, de data asta am zis sa fac si un sistem de comanda a unei pompe pentru a putea folosi la un sistem de irigare...
   Schema de conectare a modulelor la o placa Arduino Mega este:
   Fata de schema anterioara, senzorul nu va fi alimentat permanent pentru a reduce efectul de coroziune (electrocoroziune), care ar face un senzor din 
in.
dupa cum se poate citi in experimentele anterioare prezentate in articolul Modul de udare automata a florilor din ghivece.
   Senzorul este compus din cele 2 tije si un mic montaj electronic cu urmatoarea schema electronica, prezentata si in primul articol, din care folosesc doar partea analogica (ramanand de baza divizorul rezisitv compius din rezistenta dintre cele cele 2 tije si rezistenta de 10k catre +5V):
   Pentru teste o sa reduc timpii dintre masuratori, dar in practica se poate alege, sa zicem la 5 minute sa se masoare cand pamantul este umed si la 30 secunde cand pamantul este uscat si dupa pornire, pompa trebuie oprita cand umiditatea creste suficient.
   In mod normal, senzorul nu este alimentat si pe ecran se afiseaza ultima valoare masurata a umiditatii si starea pompei (pornita sau oprita):
   Se alimenteaza senzorul, aprinzandu-se si un led de pe modul, se asteapta putin si se face masuratoarea:
daca umiditatea este mai mare decat cea pusa ca prag (25%, in cazul testelor) se aprinde si un led care indica umiditate ridicata:
se intrerupe alimentarea senzorului si se afiseaza valoarea umiditatii si starea pompei:
si apoi se repeta pasii.
   Sketch-ul folosit este postat pe canalul de Github si se numeste lcd1602_i2c_umditatesol_ver1.ino !
   Pentru a intelege mai bine modul de functionare am facut un filmulet numit masurare cu afisare date si control umiditate sol cu Arduino
,

joi, 23 iunie 2016

Masurare umiditate sol (2)

   In articolul precedent am folosit ca placa de dezvoltare modelul Arduino Mega (ADK chiar) deoarece acesta era liber, dar se poate folosi oricare din variantele Arduino, cum am facut eu acum, punand versiunea Arduino Uno, de fapt o copie (clona, dublura, contrafacuta) schema devenind:
iar montajul:
   Am folosit ambele versiuni de sketch:
- in limba engleza: lcd1602_i2c_soilhumidity_ver0.ino
si am facut si 2 filme:



completare articol
   Am testat si un Arduino Leonardo, care are pinii SDA si SCL separati, schema devenind:
Observatie: schema aceasta de conectare "merge" si la Arduino Uno R3...
si am facut 2 filmulete:


miercuri, 22 iunie 2016

Masurare umiditate sol

   Pe piata se gasesc niste senzori de masurare umiditate sol (soli moisture sensor) pentru a fi conectati la placi de dezvoltare:

   La unul din vanzatori on-line am gasit si schema:
   Dupa cum se observa, exista o iesire anoalogica si una digitala (se aprinde led-ul D2 cand umiditatea emai mare decat pragul reglat).
   Avand la dispozitie un afisaj alfanumeric cu interfata i2c:
si o placa Arduino Mega ADK, am incarcat un sketch numit i2c_scanner si am aflat adresa alocata interfetei:
dupa care am incarcat un exemplu din libraria LiquidCrystal_I2C pe care o aveam:
   Am adaugat si senzorul de umiditate:
si am umezit un deget si am atins cele 2 tije ale senzorului:
   Am facut un filmulet numit masurare umiditate sol si afisare pe ecran alfanumeric in care am folosit sketch-ul lcd1602_i2c_umditatesol_ver0.ino:

   Ulterior am scris si o varianta in engleza folosind sketch-ul lcd1602_i2c_soilhumidity_ver0.ino:
   De asemenea, am facut si un filmulet numit soil humidity measure system on alphanumerical lcd display
NOTA: Avand experienta unui sistem de udare pentru un ghiveci in care am testat cateva luni, dupa cum e prezentat in articolul Modul de udare automata a florilor din ghivece
trebuie sa va atentionez ca daca acest sistem se foloseste pentru automatizari, senzorul trebuie alimentat doar cand se fac masuratori.. altfel veti observa efectul electrolizei:
completare articol
   Pentru cei care (inca) nu pot realiza schema dupa sketch, prezint schema montajului:

joi, 16 iunie 2016

Sistem de supraveghere cu Raspberry Pi si camera web

   Fiind in posesia unei placi Raspberry Pi 1 model B, care e folosit, de obicei, pentru a transforma un televizor intr-unul "smart", am zis sa incerc si un sistem de supraveghere cu o camera web.
   Am ales sa testez aplicatia "MotionPie" creata de un roman, si mai exact Calin Crisan. Softul a fost dezvoltat initial pentru Raspbery Pi 1, ulterior si pentru multe alte platforme devenind "MotionEyeOs": Banana Pi, CubieTruck, Odroid C1 (si C1+), Odroid XU4 si toate generatiile de Raspberry Pi, dupa cum se poate afla de la Supported Devices.
   Revenind la programul de supraveghere, eu am urmat pasii prezentati in articolul RASPBERRY PI SECURITY CAMERA WITH MOTION PIE si am testat 3 camere web:
   Prima camera web, este inscriptionata RPC, dar in Windows este gasita ca fiind un periferic facut de Sonix si chipset SN9C255:
 a doua este inscriptionata Trust:
iar a treia este A4Tech:
   Initial, am folosit o configuratie complexa, constand din: placa Raspberry Pi 1 B in carcasa, card microSD de 8G cu adaptor SD, alimentator 5V/1A, hub usb alimentat (7 in 1), tastatura cu mouse fara fir, camera web, adaptor wi-fi si conexiune la retea.
,
dar dupa ce m-am obisnuit cu programul, am constata ca e suficinta o configuratie minima: placa Raspberry, card microSD de 8G cu adaptor SD, alimentator 5V/1A, camera web si conexiune la retea.
   Pentru inceput, am cautat adresa alocata placii Raspberry cu ajutorul programului Angry IP scanner:
care are numele MP (initialele MotionPie) si ultimele 8 cifre ale camerei web initiale:
   Optional, se poate controla prin ssh (comenzi) folosind programul PuTTy:
user-ul este admin si parola fiind ultimele 8 cifre ale camerei web:
o comanda linux (lsusb) care arata ce periferice sunt conectate la placa Raspberry):
   Revenind la programul propriu-zis, cu care am testat 3 camere web, rezultate bune au fost doar cu numarul 1 (RPC-Sonix), acceptabile cu numarul 3 (A4Tech) si nule cu numarul 2 (Trust).
   Camerele sunt "vazute" de programul MotionPie astfel:
- RPC (Sonix):
- Trust:
- A4Tech:
   Dupa conectare initiala a camerelor, imaginile in retea, vazute de pe un calculator cu Windows, sunt:
- Sonix:
- Trust:
- A4Tech:
   Dupa cate se constata, camera nr.2 (Trust) nu o pot folosi, cel putin in acest moment, nivelul meu de cunostiinte in limbajul Linux 
este minimal, asa ca o elimin din teste.
   Prima camera (Sonix) poate filma la mai multe rezolutii:
- 176x144:
- 320x240:
- 352x288:
- 640x480:
- 1280x1024:
iar a treia (A4Tech):
- 320x240:
- 640x480:
   Momentan, las in teste camera Sonix, deoarece pare cea mai ok.. sper sa fac rost de o camera dedicata (Picamera)

   PS: In materialul cu intrebari frecvente veti gasi multe informatii si raspunsuri la intrebari despre programul de monitorizare video... de exemplu, trimitere email cu poze daca se detecteaza miscare: