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

vineri, 10 septembrie 2021

Vizualizator grafic pentru audio

 Zilele acestea am realizat un vizualizator grafic pentru banda audio. Materialul de inspirație este de pe forumul lui Kazus. Eu am înlocuit cele 70 LED-uri cu 7 elemente bargraf cu 4 culori de tip 2510BGHR, și astfel schema finală s-a modificat ca mai jos, mai exact nu am mai avut nevoie de D10, iar intrarea am pus-o pe A0, iar în locul lui arduino nano am folosit un Atmega328. Codul meu este pe github. La testul pe generatorul de semnal s-a comportat normal.

L-am realizat din două placi suprapuse, una cu display-ul și una cu comanda:


Display-ul l-am făcut pe dublu placat pentru că trebuia foarte multe treceri cu sârmă.:






Iar comanda a ieșit pe o singură parte:



Realizarea aproape finală: (în stânga sus lipsește un LED verde din fabricație, așa că data viitoare vor trebui verificate fiecare în parte)



sâmbătă, 9 noiembrie 2019

Radio cu SI4703 pe TFT 1,44" ST7735

Zilele acestea a sosit un modul radio FM cu SI4703  ce este cumva similar la specificații cu RDA5807 ( este pregatit pentru RDS si RBDS) numai că se conectează diferit cu Arduino.  La fel ca RDA-ul are și acesta posibilitatea de reglaj a volumului. Arată ca în poza de mai jos:
Funcționează și acesta ca și TFT-ul tot la 3,3V însă intrările suportă nivel TTL, eu am testat  vreo două săptamâni pe un arduino nano, unde SI-ul și TFT-ul sunt alimentate la 3,3V iar intrările sunt legate direct la Arduino. Conexiunile sunt comentate în cod.
Modulul are antena conectată la firul de masă al jack-ului de căști, iar în link este dată schema placuței, și  modificarea pentru o eventuală antenă exterioară.
Pentru funcționarea cu arduino, am abuzat din nou de google, și m-am oprit pe un material al lui Matthias Hertel  care a studiat în amanunt aceste circuite având github lib-urile testate.
Dupa ce am verificat testele, am luat exemplul cu LCD și butoane și l-am adaptat pentru un TFT de 1,44" 128/128 cu ST7735.
În general s-a comportat foarte bine, ținând cont că zona de test nu este favorabilă recepției radio.
Teoretic codul ar fi funcțional și pentru RDA5807 și TEA5767 (acesta nu are RDS și volum - va trebui găsit atceva pentru a ocupa spațiul de pe TFT). Deocamdată nu am pentru un test rapid. Modificarea ar fi doar de aici:

// RDA5807M radio;    ///< Create an instance of a RDA5807 chip radio
          SI4703   radio;    ///< Create an instance of a SI4703 chip radio.
//SI4705   radio;    ///< Create an instance of a SI4705 chip radio.
// TEA5767  radio;    ///< Create an instance of a TEA5767 chip radio.

iar aici: 
  #include <SI4703.h>
trebuie înlocuit corepunzător.

Varianta testată a  ieșit ca mai jos:
 Deocamdată lipsesc butoanele, pentru test am simulat cu un conductor legat la masa. (Seek up/down, volum up/down, și un buton care apăsat aduce forțat un anume post radio ce este definit în cod)
 Pentru că mai aveam loc în arduino, am adaugat și un DHT11



Pe ondrive am pus un mic filmuleț cu funcționarea acestuia.

duminică, 4 martie 2018

Modul cu HT16K33

Pentru un viitor proiect cu ATTNY85 am testat doua module cu circuitul HT16K33 adaptor I2C catre 4x7 segmente cu catod comun. Cele  doua module arata ca mai jos:
Precum se vede nu exista prea multe informatii scrise pe el. Ca sa-l pot folosi am abuzat din nou de google si am descoperit ca sint clone ale acestuia de mai jos:


Insa nici aici nu am gasit o schema concreta de conexiuni. Am folosit datasheet-ul circuitului si am identificat cei 4 pini care ma interesau +5V, GND, SCL, SDA.
Implicit modulele au circuitele A0,1,2 deschise pentru  0X70 adresa I2C.


 Inchizind circuitul A0 adresa devine 0x71


Am incarcat pe arduino nano un scaner I2C pentru a verifica daca este corect:


In urma studierii materialului de aici, concluzia  este ca pinii 7 si 8 sint folositi pentru cele 2 puncte ce clipesc la secunda, (nefolositori in ceea ma intereseaza) in rest ceilalti corespund cu afisajul de mai jos:


Se observa ca display-ul are doar 6 pini pe linie, care corespund  modulului de mai sus  montat de la stinga spre dreapta, lasind in aer gaurile 7 si 8.

Testele le-am facut cu display-ul de mai sus care este ceva mai mic, dar cu pinii suficient de lungi ca sa-i pot modela, avind doar 0,36" fata de 0,56" .
Am modificat exemplul de aici pentru a afisa pe 2 display-uri, unul incrementeaza cu o unitate, al doilea aduna 1000 la unitatea incrementata.


 Am urcat pe google drive si un filmulet scurt.



luni, 18 septembrie 2017

Test LM317 comandat cu Arduino

In articolul anterior am testat comanda cu Arduino a unei surse cu tranzistori, dar m-am gindit si la fanii lui LM317 si am testat si comanda acestuia. Schema a devenit in acest caz urmatoarea:


Restul ramine ca in articolul anterior, din semireglabilul de 1Kohm din pinul de reglaj al lui LM317 se ajusteaza tensiunea minima, dar atentie sa nu intre in limitare BC107. In cazul testat rezistenta poate avea o valoare intre 120 si 180Ohm. La teste am obtinut o plaja de reglare de la  1,6V la 20V.
Tensiunea negativa de pe AO poate fi si de -3V, caz in care putem creste tensiunea pozitiva la 27V, situatie in care la iesire obtinem un maxim de 23,8V


20-sep-2017

Dupa ce am incercat sa fac teste cu un transformator am observat ca variaza tensiunea de iesire functie de consum in ambele variante si cea cu tranzistor simplu si cea cu LM317 datorita reactiei negative pe un lant prea lung. Asa ca am separat partea de referinta data de arduino de partea de stabilizator. Schema a devenit:
Detalii despre al doilea AO aveti pe blogul lui Nicu
O poza de la testele cu transformator:
-5V i-am scos ca aici obtinuti la capatul lui R3


vineri, 8 septembrie 2017

Ceas cu alarma si termometru cu Arduino ProMini TFT 2,2"-ILI9163 , DS3231, DS18B20

In articolul anterior am adaptat codul lui Nicu Florica pentru un display de 2" cu ILI9163 care functiona pe STM32. 
M-am gindit sa fac un test si pe un Arduino ProMini avind ca scop sa folosesc un font elegant pentru afisarea orei (fara utilizarea fontului afisarea este foarte "patratoasa" si deranjanta la dimensiuni mari afisate de display mare). Problema e ca aceste fonturi ocupa foarte multa memorie.
Pinul LED al display-ului l-am legat la Vcc printr-o rezistenta de 470Ohm, pentru ca Arduino este alimentat in cazul meu la 5V. Biblioteca este cea folosita in cazul lui STM .
Dupa mai multe teste de fonturi m-am oprit la ceea ce se vede mai jos:
S-au pastrat toate functionalitatile descrise de Nicu la el pe blog, numai ca s-au micsorat dimensiunile proportional cu acest display care are rezolutia de 128/160
Pe viitor intentionez sa-i fac si un cablaj imprimat. Aceste display-uri au un pret decent pentru 1,8", 2", 2,2" si sint suficient de vizibile (mai putin pentru mine care imi trebuie 4").
Schema este aici.




Schema de legaturi se poate deduce foarte usor din cod care este curatat de modificarile anterioare.
Codul ocupa aproape toata memoria disponibila

Deasemenea se poate folosi si display cu ILI9143 cu alimentare la 3,3V cu definirea in cod a noii biblioteci, Arduino alimentindu-se la 3,3V in acest caz.

I-am minimizat costurile inlocuind DS3231 CU DS1307, si am mai facut mici corectii la cod. Am inlocuit LED-ul de la alarma cu un difuzor piezo, si am scos fontul de la afisarea datei care depasea ecranul.
Pregatit de o caseta eleganta.




Update 19-mar-2023
Am refăcut proiectul de mai sus pe un arduino uno și un TFT shield HX8347G. Acestuia i-am izolat pinii pentru SD card, pinul CS pe care l-am conectat la GND și pinul RST pe care l-am legat la RST-ul lui arduino uno. Astfel am eliberat 6 pini, A5 pentru I2C, 4 pini pentru butoane și unul pentru buzer.
Pentru temperatură și umiditate am folosit un senzor GY21 pe interfață I2C, iar pentru clock un DS3231.
Definirea lor se vede foarte ușor în cod care este pe github.
TFT-ul cu pinii îndoiți:
Alarmă oprită:
Alarmă activă:
Alarmă activată:
Datorită utilizării celor două font-uri codul a ocupat aproape toată memoria.








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 ...