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

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.

sâmbătă, 21 septembrie 2019

Ceas cu afisare pe TFt cu ILI7575 cu reglaj

La solicitarea unei cunoștințe, pornind de la materialul de aici: https://simple-circuit.com/arduino-ds3231-st7735r-color-tft/ , am adaptat codul pentru un shield TFT de 2,8" cu ILI7575.
Din nefericire acest display TFT nu a vrut să se aprindă decât cu lib-ul lui JoaoLopesF . La acest lib încă nu m-am prins cum să-i adaug alte fonturi.
Ca să pot folosi A4 si A5 de la Arduino UNO pentru I2C-ul lui DS3231, am eliminat pinul reset de la TFT și l-am legat la reset-ul lui Arduino,
In cod modificarea este: 

#define LCD_RESET 0 // Can alternately just connect to Arduino's reset pin

De la TFT am eliminat și cei 4 pini corespunzatori conectarii SD-ului, pentru a face loc la cele 2 butoane și pentru senzorul DHT11.
Modificările se pot vedea în imaginea de mai jos:
După adaptarea codului (conform "caietului de sarcini") a ieșit ca mai jos:
Funcționalitățile butoanelor au ramas aceleasi, adică la apasarea lungă a butonului 1 se intră in mod programare situație în care fileaza câmpul de reglat, din butonul 2 se incrementează pozitiv după care  este reluat de la 0. După reglarea minutelor, apăsarea butonului 1 resetează secundele și iese din mod programare.
Pun și un link către un filmuleț scurt ce arată modul de reglaj.
Codul adaptat este pe github.

sâmbătă, 20 octombrie 2018

Test display LCD 6 digiti, 7 segmente cu HT1621

Dupa o relativa ratacire mi-a sosit si mie display-ul. Lui Nicu Florica i-a sosit mai devreme, si a reusit sa faca munca cea mai grea de studiu si a pus o sinteza la el pe blog, asa ca nu am mai inventat o alta roata ci am preluat munca lui. 
Initial am realizat testul lui ca sa-l testez si pe cel ajuns la mine, dupa care am adaugat un senzor DHT11, si un DS1307 pentru a vedea cum se misca cu date reale. Am pastrat schema lui la care DHT-ul l-am legat la D3, la A4 si A5, SDA si SCL de la modulul cu DS1307. Am adaptat codul lui si a iesit ca in imaginile de mai jos (varianta mea de test este disponibila pe github):

Afisare ora si minut

 Afisare temperatura


 Afisare umiditate


 Imaginea cu montajul de test


Am vrut sa sting LED-ul de fundal si am descoperit ca acesta era legat direct la +5V, ca in imaginea urmatoare:

Am folosit o tresa de dezlipit pentru a scoate puntea de cositor din stinga si am facut-o in dreapta. Astfel pinul LED disponibil in dreapta display-ului a devenit functional.


Ca dimensiune se poate vedea mai jos:


In curind urmeaza ca in combinatie tot cu arduino si prescalerul M506 (descris foarte frumos de Nicu Florica aici) sa se transforme in frecventmetru.

Am folosit doar DHT11 cu attiny85 si functioneaza perfect. Codul modificat pe github.

marți, 24 iulie 2018

Ceas cu reglaj pe lcd Nokia

Inspirat de articolul lui Nicu Florica am adaptat codul lui pentru un display Nokia. Am renuntat la ceasul analogic pentru ca rezolutia acestuia este doar de 64x64, si am adaugat un DHT11 pentru afisarea temperaturii si umiditatii. In plus am adaugat si o fotorezistenta care controleaza lumina de fundal pentru a-l face vizibil si pe timp de noapte. Cod pe github.
Si in aceasta situatie am cautat sa-l fac cit mai vizibil. Celelalte functionalitati sint cele descrise de Nicu Florica pe blog, partea de reglaj fiind identica.


I-am facut si o alimentare de back-up cu un acumulator de tip 18650
Schema de legaturi se poate deduce foarte usor din codul publicat pe github.
Display-ul Nokia e conectat conform:
//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
In cazul meu: U8GLIB_PCD8544 u8g(8, 9, 12, 10, 11);
Senzorul DHT11 pe A0 si pe A2 fotorezistenta

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.



Remote DHT11 pe 433MHz

S-a ivit necesitatea  transmiterii temperaturii si umiditatii la o distanta de cca 10m fara a avea posibilitatea de pozat cabluri si gaurit pereti.
In acest sens am testat 2 perechi de emitator receptor pe 433MHz ca cele de mai jos:

Pentru teste am abuzat de generozitatea lui Google si m-am oprit la proiectul de aici.
Nu am avut disponibil acel display asa ca am modificat codul pentru un OLED cu I2C.
Concluzia este ca prima pereche testata a dat rezultate bune pina la cca 15m cu antenele din imagine, iar a doua pereche pina la cca 10m printr-un perete de caramida . Antenele le-am facut dintr-un fir recuperat de la un cablu utp cu care am bobinat 15 spire pe un pix de 7mm  grosime.
Pozele cu testele pe birou, fara antene, sint mai jos:
Afisarea nu este foarte eleganta deoarece in final cind voi face si partea de reglare temperatura si umiditate, voi folosi alt display, aici am vrut doar sa ma imprietenesc cu modul de comunicare. Receptorul este pe un Arduino mini, iar transmiterul pe un Arduino nano



duminică, 8 octombrie 2017

Ceas cu reglaj, temperatura si umiditate cu attiny85

Am reluat proiectul de aici cu Attiny85 DIGISPARK si i-am adaugat si un senzor DHT11.
 Pentru reglaj am folosit pinul reset care este utilizabil ca analogRead pentru tensiuni mai mari de 2,5V. Fiindu-mi lene sa calculez un divizor cu rezistente, am pus 2 semireglabili de 1K intre +5V si masa iar pe mijlocul lor am reglat 3V (valoarea citita este 647), respectiv 4,5V (valoare citita 968).
Ca RTC in acest caz am folosit un DS1307, functioneaza si cu DS3231 fara nici o modificare la cod.
Codul este aici si sint comentate legaturile.
Avind bucla de afisare :
for (int pp=20; pp>0; pp--)
este un pic enervant  inceputul reglajului orei si minutelor, deoarece la fiecare 20 secunde va afisa temperatura si umiditatea, dar in felul acesta am folosit la maxim dotarea hard/soft a lui Attiny 85.
Reglajul odata efectuat teoretic nu mai este necesar decit la schimbarea orei de iarna sau primavara.
Am incercat initial sa blochez bucla pe perioada reglajului, insa codul depaseste memoria lui Attiny.
Schema este aici
citeva poze mai jos:
Temperatura
Umiditatea




TEST STM32F103C DS3231 TM1637

Am adaptat proiectul de aici inlocuind ATTINY85 cu STM32, si a iesit ca mai jos:
Legaturile sint comentate in cod.
Functioneaza si cu DS1307 fara modificari la cod, dar cu adaptor de nivel.( STM-ul merge la 3,3V, iar DS1307 vrea neaparat 5V).


Am conectat si senzorul DHT11 astfel incit 20 secunde se afiseaza ora apoi 2 secunde se afiseaza temperatura si 2 secunde umiditatea.codul rezultat este aici.

TEST STM32F103C DHT11 TM1637

Am testat cu STM32F103C afisarea temperaturii si umiditatii pe un display 7 segmente cu controler TM1637. Am folosit tot Arduino IDE pentru programare.
Aici treaba a fost foarte simpla, am luat exemplul lui Nicu si am modificat  in cod descrierea pinilor si a functionat fara probleme. Codul adaptat de mine este aici.


STM32F103C test cu Nokia 5110 si DHT11

Am testat afisajul Nokia 5110 cu DHT11 cu STM32F103C, utilizind Arduino IDE
Am folosit informatiile de aici pentru Nokia, si de aici pentru DHT11.
Codul si bibliotecile sint aici.
Ce a iesit vedeti mai jos:





marți, 3 octombrie 2017

Ceas cu afisare pe Nokia si reglaj

Am revenit la un proiect mai vechi  ce mi-a placut la acea vreme, inspirat de aici, si i-am adaptat reglaj manual pentru data si ora dupa modelul lui Nicu, folosind un encoder pentru a fi mai usor de bagat intr-o cutie. Cutia va fi de la un ceas cu lcd defect similar cu cel de aici.
Arata ca in imaginile de mai jos:
Modul de conectare se poate deduce din cod .
 La o apasare lunga pe butonul encoderului se trece in modul reglare, apoi rotind dreapta stinga se ajusteaza valorile. Ca sa iesiti de modul reglare trebuie parcursi toti pasii dupa care revine in display-ul principal.


Codul din faza aceasta este pe github. I-am mai adugat niste zerouri la minutele si secundele <10 pentru ca era cuidata afisarea.

Deoarece nu era vizibil pe timp de noapte i-am adaugat un fotorezistor pe A2 legat la Vcc, A2 este legat la masa printr-un rezistor de 470ohm. pe pinul D5 (PWM)  am conectat led-ul lui Nokia(pinul BL), si l-am facut ca la intuneric sa aprinda un pic acest led cit sa faca vizibil display-ul.
Intuneric simulat cu capacul de la stilou:


In plus am mai adaugat o functie astfel ca la o apasare scurta pe encoder sa afiseze timp de 2 secunde doar temperatura si umiditatea, cu caractere mari pe ecran iluminat. La apasare lunga va intra in modul reglaj.

Codul este tot pe github.

luni, 11 septembrie 2017

Ceas cu reglaj folosind Arduino, DS3131/DS1307, DH11, afisare cu fonturi

Ideea acestui proiect a fost sa scot un ceas cu afisare cit mai mare (nu patratoasa) pe TFT de 2,2" shield pentru Arduino UNO.

M-am inspirat de pe blogul lui Nicu Florica pentru ca avea realizata foarte bine partea de reglaj.

Am taiat pinul RST de la display si l-am legat cu un fir la RST-ul lui Arduino, am mai mai taiat pinii de pe TFT utlizati pentru SDcard. 
RST-ul ma incurca ca aveam nevoie de A5 pentru RTC, iar pinii de la SDcard imi trebuiau pentru butoanele de reglaj si senzorul DHT11
Codul si biblioteca utilizata se afla pe github

Initial am folosit un DS3231, iar ulterior pentru a minimiza costurile am testat si cu DS1307, care a ramas definitiv.
#define meniu 10
#define minus 12 #define plus 11 #define DHTPIN 13 #A4/A5 i2c RTC care poate fi fara nici o modificare la cod DS3231 sau DS1307


 Placa de dezvoltare avea un rind de gauri suplimentare nefolosite, si le-am atasat cite un soclu
pentru a fixa placa ce o facusem cu RTC-ul, DHT11, si butoanele



Ulterior s-au dezvoltat http://nicuflorica.blogspot.ro/2017/02/ceas-cu-termometru-cu-arduino-due-si.html https://plus.google.com/u/0/+VladGheorghe/posts/aayXR7oFVf5 https://plus.google.com/u/0/+VladGheorghe/posts/fmzrS453Y9h https://plus.google.com/u/0/+VladGheorghe/posts/Jzjp3sCHESV https://plus.google.com/u/0/+VladGheorghe/posts/6iZezjbp2CX




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