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

sâmbătă, 15 februarie 2020

Pseudoceas pe 2 matrici de 8x8 leduri (16x8)

    Pana acum am realizat ceasuri cu 4 sau 6 module din matrici de 8x8 leduri cu driver-e MAX7219, dar am zis sa fac si cu 2 matrici, cum am vazut la niste kit-uri din China.
   Am cautat pe internet si nu am gasit pentru modelul acela de se fixeaza in continuare, unul in celalalt, ci doar pentru cele cu pini paraleli, dupa cum se vede in articolele:
- Arduino Cheap Minimal Parts Digital Clock
- Digital and Binary Clock With Two LED Matrix and RTC
  Dupa ce am incarcat programul din primul articol, ce folosesti libraria LedControl, am observat ca textul este rotit la 90 grade, dupa cum era de asteptat, asa ca am incercat sa fac mici schimbari, dar nu am reusit decat regenerand cifrele din nou, folosindu-ma de articolul Online led matrix font generator with binary and hex codes for Arduino, doar ca a trebuit sa fac fiecare cifra sau grup de cifre de la 1 la 12 pentru ore, cu secunde si fara, apoi cele 60 de numere (00-59) pentru minute. Cifrele le-am facut maxim posibile cu inaltime de 8 si latime de 3 pentru ca mai trebuie spatiu (deci 8x4 fiecare), trebuind generate in oglinda, pentru a nu ma chinui in soft, cu aceasta ocazie mi-am testat si abilitatile de "a vedea in oglinda".
   Vedeti un exemplu in care este numarul 13 cu 2 puncte:
si minutele 20 si 47
   Programul folosit este pseudoclock.ino si cu el incarcatat facut 2 filmulete:
- pseudoceas pe 2 matrici de 8x8 leduri
- pseudoclock on two 8x8 led matrix
   Schema de conectare este simpla, dupa cum se poate observa si din mentiunile din program:
adica ca in articolul How to use a MAX7219 LED dot matrix with an Arduino
   Urmeaza a face un ceas real, cu modul RTC cu DS3231 (sau cu mai imprecisul DS1307), o alta varianta ar fi cu o placa cu ESP8266 ce se conecteazala un server NTP.

joi, 23 februarie 2017

Modul de 4 afisaje de 8x8 leduri controlate de MAX7219

   Fata de afisajele de 8x8 leduri controlate de MAX7219 care se pot configura dupa dorinta ca pozitionare, dupa cum am prezentat in articolul Afisaj matriceal din 8x8 leduri controlat de MAX7219, pe piata se gaseste un modul cu 4 afisaje:
   Daca se incarca un sketch prezentat in articolul mentionat anterior, se observa ca textul este rotit la 90 grade pe fiecare afisaj. La inceputul acelui articol am prezentat libraria LedControl dupa informatiile gasite intr-un articol de pe site-ul tronixstuff.com, doar ca pentru modelul meu, de atunci, nu era ok, fiind rotit.. asa ca e numai bun pentru modulul de acum.
   Modul de legare este identic
   Am conectat un sezor DS18B20 la pinul D8 si am scris sketch-ul LedControl_MAX7219_DS18B20.ino obtinand modul de prezentare din filmuletele:
- termometru pe matrice led 32x8 cu MAX7219
- termomether on 32x8 led display module with MAX7219
  Schema de conectare este simpla:
  Dupa asta, am adaugat si un modul de ceas cu DS1307:
si am incarcat sketch-ul LedControl_MAX7219_DS18B20_DS3231.ino, care merge si cu DS3231, dar si cu DS1307.
  Modul de presentare a informatiilor se vede din filmuletele:
- ceas cu termometru pe afisaj de 32x8 leduri
- termomether with clock on 32x8 led matrix
14.03.2018
   Deoarece versiunile noi de Arduino IDE nu mici modificri trebuie schimbate const prog_uchar ---> const unsigned char pentru a evita mesajul error: 'prog_uchar' was not declared in this scope si astfel, ultima versiune e LedControl_MAX7219_DS18B20_DS3231rev1.ino !!!

luni, 26 septembrie 2016

Masurare valoare tensiune retea (2)


    In articolul anterior, am calculat tensiunea retelei dupa ce am masurat tensiunea continua redresata de la un transformator coborator, dar am zis sa testez si varianta de masurarea a tensiunii alternative din secundarului unui transformator peste care se suprapune o tensiune continua, cum este prezentata in articolul Measuring AC Voltage with an AC to AC power adapter de pe site-ul OpenEnergyMonitor:
   Dupa cum se observa, tensiunea din secundarul transformatorului are o valoare mare pentru a fi masurata direct de Arduino si, in plus, are si componenta negativa, de accea se foloseste un divizor cu raportul de 1/11 si apoi se adauga 2,5V tensiune continua, asa ca aceasta tensiune se poate masura de Arduino sau alt microcontroler.
   Am realizat si eu un montaj de test si am incarcat sketch-ul de test din libraria EmonLib:
    Dupa cum am scris mai inainte, daca nu ar fi componenta continua dupa divizor tensiunea ar avea forma:
dar dupa "injectarea" celor 2.5V (jumatate din tensiunea de alimentare a placii Arduino):
   Deoarece sunt greu de urmarit datele pe ecranul de monitorizare seriala, am conectat un modul de afisaj cu 8 cifre led controlate de un MAX7219, care l-am mai folosit si prezentat si prin articole, primul fiind Modul de afisare cu 8 cifre LED din 7 segmente fiecare controlate de MAX7219
   Am pastrat schema de baza, prezentata acolo, pentru libraria LedControl despre care se poate citi in materialul The Arduino LedControl library:
si am conectat pinul A2 la punctul de masura:
   Am scris un sketch pentru a afisa tensiunea, el fiind main_voltage_emonlib_1.ino si am facut teste
ulterior am folosit sketch-ul main_voltage_emonlib_1a2.ino care masoara de 10 ori si face o medie a masuratorilor.
   Am facut si niste filmulete:

 

joi, 6 august 2015

Afisaj matriceal din 8x8 leduri controlat de MAX7219

   Am achizitionat de pe site-ul bangggod niste kit-uri de afisaje matriceale din 8x8 leduri, fiecare controlat de MAX7219:
   Dupa cum se observa pe placa pe care se monteaza componentele, sunt folosit doar 3 pini de comanda (CLK=clock, CS=load si DIN=data), pe langa alimentare, iar pentru a se conecta un alt modul se conecteaza DOUT la DIN-ul modulului urmator):
   Dupa asamblare, montajul arata asa:
 
   Dupa ce am asamblat primul modul, l-am conectat conform indicatiilor de pe site-ul tronixstuff.com folosind libraria Ledcontrol si exemplele de acolo:
 
 
  Ulterior, am testat si libraria Maxmatrix dupa informatiile gasite pe site-ul brainy-bits.com, pastrans modul de conectare:
 
   Am facut si 2 filmulete in care ma folosesc de libraria MaxMatrix:
   Deoarece modul de conectare al celorlalte module este corespunzator ultimei librarii, am considerat ca pot dezvolta sketch-uri folosindu-ma de aceasta.
   Dupa lipirea pielselor pe alte 3 module, am facut noi teste pentru a simula afisarea unor temperaturi, umidate, data, ora:
 
 
 
 
dupa cum se vede in filmuletul teste cu 4 module de 8x8leduri cu MAX7219 in care am folosit sketch-ul maxmatrix_good_scrool_4digit.ino:
   Am conectat un senzor de temperatura si umiditate DHT22 (AM2302) si am facut un filmulet numit temperature and humidity on 32x8 led display in care am folosit sketch-ul maxmatrix_DHT22_4module_ver1m0.ino
   Schema de conectare este:
   Dupa asta am conectat si un modul de ceas de timp real cu DS3231 (dar merge fara probleme si un modul cu DS1307, doar ca acesta din urma are o precizie mai mica) si am facut filmuletul date meteo si ceas pe afisaj led de 32x8 leduri
ulterior am pus si data, dupa cum se vede in filmuletul statie meteo si ceas cu data pe afisaj led de 32x8 leduri (2)
   Schema de conectare este:
   Am pus si o fotorezistenta pentru a regla automat nivelul intensitatii luminoase in functie de mediu, dupa cum se vede in filmuletul statie meteo si ceas cu data pe afisaj led de 32x8 leduri (3), iar sketch-ul folosit este maxmatrix_DS3231_RTC_4module_ver4m0.ino:
   Schema folosita este:
   Deoarece am realizat ca pot aparea moduri de afisare ciudate la temperaturi mai mici de 10 grade Celsius, inclusiv la cele negative, am modificat sketch-ul (care devine maxmatrix_DHT22_DS3231_4digit_ver5m0.ino):
- temperatura negativa, mai mica de -10 grade Celsius
- temepratura negativa unitara:
- temperatura pozitiva unitara:
- temperatura pozitiva, mai mare de +10 grade Celsius:
   In filmuletul numit afisare corecta temperaturi pozitive si negative pe ecran din 32x8 leduri se vede modul de afisare al diverselor temperaturi: