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

joi, 27 ianuarie 2022

Ceas cu VFD bazat pe arduino

 De curând am primit cadou de la Baricz János un afișaj VFD cu care am construit un ceas bazat pe arduino.



Baza de pornire constă în munca lui Nicu Florică la care am adăugat doar partea de comandă specifică VFD-urilor. Un alt material cu acelasi afișaj mai este aici cu mai multe detalii specifice.

În cazul meu schema de pornire este cea de mai jos:


Comanda este similară cu cea folosită într-un articol precedent unde am utilizat un VFD cu 8 digiți.

Pentru comanda VFD-ului am înseriat pe conexiunile către afișaj doua circuite ULN2003 ale cărui ieșiri le-am închis la +24V prin câte un rezistor de 22K . Pentru alimentarea grilelor am folosit un step-up cu UC3843,

 iar pentru alimentarea filamentului un banal oscilator cu LM555:

Impulsurile în drena lui MOS alimentând filamentul

Inițial am făcut cablajul utilizând un 7805 care s-a dovedit a funcționa foarte fierbinte. În final l-am scos și am adaptat un step-down chinezesc reglat pentru 5V.
Cîteva imagini de pe parcursul testării:
Cablajul l-am gândit pentru dublu placat deoarece avea câteva treceri foarte lungi și care mă încurcau la realizare trebuind blocate în final cu adeziv.

Cablajul este dimensionat să încapă în cutia din poză:
Legăturile între placa afișaj și comanda le-am făcut cu fire flexibile.
Tot pe placă am pus și RTC-ul cu DS1307

Prima versiune pentru afișare umiditate:

Versiunea finală de afișare pentru umiditate:



Codul adaptat pentru VFD este pe github. Sunt urcate ambele variante cu afișarea umidității. 



sâmbătă, 22 ianuarie 2022

Un alt ceas pe vfd Samsung 16LF01

 Am primit de la Baricz János un display Samsung 16LF01 pentru a încerca să-l aprind.

Din fericire am găsit pe github și un lib pentru el.
Un prim test a ieșit așa:

Apoi am folosit un material muncit de Nicu Florica pe care l-am adaptat pentru acest display:
Și a ieșit un ceas deosebit:
Ceea ce am făcut eu este pe github.



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.

duminică, 4 martie 2018

Ceas cu reglaj si termometru pe LCD "amber-gold" 128/64

Am gasit la chinezi un display mai ciudat dar interesant ca tip de afisare, pe care m-am hotarit sa-l aprind ca sa vad ce face. Aceste este denumit "AMBER GOLD" cu lumina de fundal aurie, cu o rezolutie de 128/64 si arata ca mai jos:

Lipsind documentatia la el am abuzat din nou de google si am descoperit ca are la baza chip-ul ST7565, si se poate aprinde cu ajutorul u8g2
Testele le puteti vedea mai jos cu un cod de test:

Am preluat apoi un proiect anterior dar fara succes pentru ca dimensiunea codului era prea mare pentru arduino uno (mini in cazul meu). Astfel am inceput sa teste cu vechiul u8glib la diverse display-uri suportate si asa am ajuns la :

U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Rst = 8

In cod am adaugat linia de mai sus si am comentat-o pe cea veche care era pentru ST7920, am  mai redefinit pinii pentru senzorul de temperatura si butoanele de reglaj.
Desi codul este pentru DS1307, merge foarte bine si cu DS3231 pe care l-am folosit la teste.
Pe github am ridicat si arhiva bibliotecilor folosite.
Rezultatul se poate vedea mai jos, nimic spectaculos fata de ST7920, doar ca e auriu fundalul.
 Desi dimeniunea utila este de 4/2 cm reuseste sa fie suficient de vizibil si pentru ochii mei fara ochelari
 In modul reglaj datele apar afisate imediat dupa denumirea zilei
 Afisarea fara LED-ul de fundal


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




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




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