vineri, 19 iunie 2015

Afisaj OLED de 0,96" (2,4cm) cu rezolutie de 128x64 pixeli

   De curand, am achizitionat un afisaj OLED cu diagonala de 0,96", adica 2,4cm, care are o rezolutie de 128x64 pixeli si este controlat de integratul dedicat SSD1306.
   Ca in majoritatea cazurilor, am cautat pe internet si am gasit o librarie de la Adafruit_SSD1306.
   Am incarcat sketch-ul corespunzator rezolutiei si modului de conectare, dar nu ecranul a ramas stins, asa ca am incarcat in Arduino sketch-ul "i2c scanner" gasind adresa 0x3C:
   Am inlocuit adresa in sketch si imediat ecranul a "prins viata":
   Gasisem acum ceva timp un articol numit DS3231 OLED alarm clock with 2-button menu setting and temperature display scris de df99:
asa ca am realizat si eu legaturile si am incarcat unul din cele 2 sketch-uri, din care unul are si grafica animata cu o pisica.
   Schema realizata dupa sketch-ul din material este:
   Am tradus in romana indicatiile si am schimbat sa indice temperatura in grade Celsius:
   Am facut si un prim filmulet, numit ceas animat cu alarma pe afisaj oled de 0,96" in care am prezint ce face acel ceas animat:

   Ulterior, am schimbat si modul de afisare al datei, intai ziua si apoi luna:


 
   Sketch-urile traduse in romana se gasesc pe https://github.com/tehniq3 !!!
   A facut un al doilea filmulet, numit ceas animat cu alarma pe afisaj oled de 0,96" (2), in care se observa modul de afisare "romanesc":
   Montajul de test arata asa: 

Afisare pe 4 cifre LED din 7 segmente controlate de MAX7219 (3)

   In articolul Afisare pe 4 cifre LED din 7 segmente controlate de MAX7219 am prezentat o statie meteo cu senzorul DHT22 (AM2302) si ceas cu DS1307 sau DS3231, care avea schema:
apoi am scos senzorul DHT22 si am masurat temperatura cu senzorul intern al integratului DS3231, cum am prezentat in articolul Afisare pe 4 cifre LED din 7 segmente controlate de MAX7219 (2), schema simplificandu-se:
   Pentru a creste precizia masurarii, am adaugat un senzor de temperatura dedicat, un DS18B20, dupa ce am vazut un articol pe site-ul Arduinoprojects.ru
   Conectarea senzorului DS18B20 se face la pinul D8:
   Sketch-ul modificat de poate descarca de pe https://github.com/tehniq3 !!!
   Am facut cateva poze, cu montajul si indicatiile lui:
- ansamblul:
- senzorul DS18B20:
- ora:
- temperatura:
- ziua si luna:
- anul:
- reglaj an:
- reglaj luna:
- reglaj zi:
- reglaj ora:
- reglaj minut:
   Am facut si un filmulet numit termometru cu DS18B20 si ceas cu DS3231 pe afisaj de 4 cifre cu MAX7219 - reglaj cu encoder in care se vede modul de functionare si reglaj:
   

miercuri, 17 iunie 2015

Senzorul ultrasonic de distanta HC-SR04 si Arduino (2)

    In articolul Senzorul ultrasonic de distanta HC-SR04 si Arduino, am afisat datele pe un ecran alfanumeric cu 16 coloane si 2 randuri. De data asta am conectat un ecran de Nokia 5110 pentru a avea si o reprezentare grafica a variatiei distantei masurate.
   Schema de conectare este:
   Primele teste, in care am folosit sketch-ul ultrasonic_5110_ver1m0.ino, imi arata urmatoarele informatii pe ecran:
apoi am modificat sketch-ul, care devine ultrasonic_5110_ver1m2.ino, si am o reprezentare grafica prin puncte:
 
 
care nu mi-a placut, asa ca am memorat masurarea anteriar, realizand un grafic cu linii (sketch-ul devine ultrasonic_5110_ver1m3.ino):
 
 
   Pentru a se intelege mai bine modul de prezentare pe ecran, am facut 2 filmulete:



marți, 16 iunie 2015

Statie meteo cu ceas pe afisaj de Nokia 5110

   O statie meteo cu ceas si date meteo prezentate pe un afisaj de Nokia 5110 se gasesc in articolul Afisajul folosit la telefoanele Nokia 5110/3310 si Arduino (III); montajul prezentat acolo are in componenta sa: 
- o placa compatibila Arduino Uno
- un ceas cu DS1307
- temperatura si umiditate cu DHT11
- afisaj de Nokia 5110 (controler PCD8544)
iar schema de conectare este:
   Acum am schimbat senzorul de temperatura si umiditate cu unul mai bun, DHT22, care este mult mai precis, dupa cum am prezentat si in articolul Ceas RTC cu DS1307 si date mediu cu DHT22 pe afisaj alfanumeric LCD1602 folosind Arduino.
   Cum am scris si acolo, senzorul DTH22 se vinde ca modul cu 3 pini sau ca piesa cu 4 pini, avand cod AM2302, care necesita o rezistenta de 4k7 intre iesire (OUT/DATAS) si plus (VDD/5V):
   Schema de conectare este identica:
   Adaptorul de afisaj la care fac referire are schema (fundalul se poate aprinde fie punand conectorul "background" la masa, fie la +5V, depinde de schema de conectare al ledurilor de pe modul)
   Sketch-ul este foarte putin modificat, modificare consta in anularea liniei cu DHT11 si introducerea uneia in care este scris DHT22:
   Sketch-ul se gaseste pe https://github.com/tehniq3 !!
   Am facut cateva poze cu montajul si datele de pe afisaj:
   In mod normal, in sketch, ceasul de timp real cu DS1307 ia data de la calculator, daca nu este niciuna inscrisa:
iar daca vrem sa reglam ceasul (ora de vara/iarna, etc), activam linia:
incarcam scketch-ul, apoi anulam linia (cum a fost initial) si reincarcam sketch-ul..

PS: Avand in vedere ca senzorul DHT22 ofera informatii mai detalite despre temperatura, am pus si cifra dupa virgula:
sketch-ul versiunea 1.8b se gaseste pe https://github.com/tehniq3.

PS2: Am facut si poze cu un aparat de fotografiat:
 
 
   Am facut si un scurt filmulet numit Statie meteo cu ceas pe afisaj de Nokia 5110 in care se vede modul de afisare si ce componente are montajul.