O aplicatie interesanta si, mai ales, utila este un temporizator ce comanda un releu si un motor pas cu pas unipolar de tip 28BYJ-48. Acest ansamblu este similar unui cuptor cu microunde, ce are sistemul de incalzire (cel comandat de releu) si platanul ce se roteste (comandat de motorul pas cu pas).
Schema de test este simpla, montajul real fiind cel din poza de sus:
Schema a fost gandita ca sa am un led (verde) ce indica iesirea pinului pentru comanda releului (in cazul de fata, am ales ca il comanda cu logica invers, adica daca am led aprins releul nu este actionat, deoarece asa sunt majoritatea modulelor de pe piata).
Motorul pas cu pas 28BYJ-48 se va comanda prin intermediul unui driver, cum a fost prezentat in articolul Getting Started With Stepper Motor 28BYJ-48. Comanda se face fara o librarie dedicata.
Revenind, pentru a nu se actiona din greseala motorul si sistemul de incalzire, am pus ca la pornire sa nu fie nici un timp selectat
si daca se apasa butonul START, vom vedea un meaj ca nu e ales timpul
Primul pas e sa se aleaga timpul dorit pri apasarea succesiva a butonului STOP (+), in cazul de fata se poate regla de la 0 la 10 minute:
si daca se apasa butonul START incepe numaratoarea inversa, cupland releul si pornind motorul (ledul verde stins si ledul rosu palpaie)
Daca se apasa butonul STOP (+) se intrerupe alimentarea releului si se opreste motorul (led verde aprins si led rosu stins)
Daca se lasa sistemul sa functioneze, la finalul timpului avem situatia:
Am facut 2 filmulete, in care se vede modul de functionare si reglaj, in care am incarcat programul timer.ino:
In mare, trebuie creat un fundal (poza si loc pentru afisare valori), dupa cum se prezinta pe pagina producatorului la "support" folosind programul lor
si locul variabilelor, pentru temperatura, respectiv umiditate
Schema pentru statia meteo cu senzor DHT22 (AM2302) este
si programul scris de mine pentru Arduino este StoneTech_DHT.ino, iar fisierele pentru fundal si configurarea variabilelor este in arhiva STONE_Arduino2g.zip.
Am realizat de data aceasta un cantar pentru maxim 50kg.
Senzorul folosit are doar 3 fire (alb, rosu, negru), deci 2 elemente tensiometrice (sau o rezistenta fixa si un element tensiometric),
asa ca trebuie realizata o punte de masura Wheatstone si pentru asta se foloseau, de obicei, 2 rezistente de 1kΩ 1%, doar ca eu nu am avut acea valoare si am pus de 680Ω 1%. Dupa puntea Wheastone urmeaza un amplificator cu HX711 cu rezolutie de 24 biti. Am adaugat un afisaj LCD1602 cu interfata i2c si 2 butoane fara retinere (unul pentru calibrare si unul pentru aducere la zero).
Libraria folosita este cea de la github.com/olkal/HX711_ADC si in ea sunt cate exemple, din care unul pentru calibrare si unul pentri citirea datelor, asa ca eu le-am combinat.
Puteti citi mai multe in articolul Load Cell Amplifier HX711 Breakout Hookup Guide (Sparkfun),
dar acesta este un proiect personalizat, asa ca nu pot publica programul.
Momentan, am realizat montajul pe un cablaj de test, urmand sa-l transfer pe un cablaj realizat prin transfer de toner (metoda la rece) de catre zvonacfirst, cu care am realizat indicatorul de panou cu protectii.
Am dorit sa realizez un radio cu tunerul TEF6686 si un Arduino Nano (sau Uno), deoarece versiunea de program a lui eggplant886 permite functionarea cu acestea. O versiune imbunatatita este cea a lui stailus, care permite controlul, ca in cazul versiunuii lui eggplant886, cu programul https://fmdx.pl/xdr-gtk/
Profitand de o comanda la PCBway am desenat un cablaj pentru versiunea dorita, care poate fi descarcat (si comandat) de AICI !
Am vrut sa pastrez si comanda de pe serial (programul Windows), dar sa implementez pe langa butoane si un encoder pentru volum, iar informatiile sa le vad pe un ecran alfanumeric cu 20 de coloane si 4 randuri (LCD2004):
Implementarea a fost pe etape, dupa cum apare si in interiorul programului tef6686_rds_stailus.ino, primind multe informatii si sugestii de la Mihai, dar si folosindu-ma de blocuri de program de pe net
Am realizat mai multe filmulete, cand parcurgeam cate o etapa, cu descriere in romana:
- radio cu TEF6686 si Arduino Nano (versiune stailus)
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 2
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 3
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 4
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 5
- radio cu TEF6686 si Arduino Nano (versiune stailus) - 6
respectiv, descriere in engleza:
- TEF6686 radio with Arduino Nano (stailus version)
- TEF6686 radio with Arduino Nano (stailus version) - 2
- TEF6686 radio with Arduino Nano (stailus version) - 3
- TEF6686 radio with Arduino Nano (stailus version) - 4
- TEF6686 radio with Arduino Nano (stailus version) - 5
- TEF6686 radio with Arduino Nano (stailus version) - 6
Versiune finala (din acest moment) indica:
- pe primul rand: frecventa postului, codul de identificare al postului PI(programme identification) din 4 caractere si nivelul semnalului radio
- pe al doilea rand: stereo (2 difuzoare), nivelul volumului audio, numele postului PS (programme service name) din 8 caractere
- pe randul al treilea: 20 caractere din radio text RT (radio text)
- pe randul al patrulea: alternativ, tipul emisiunii PTY (programme type) sau alte 20 de caractere din radio text RT.