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

duminică, 19 ianuarie 2025

Temporizator cu modul afisaj OLED si encoder

    Am achizitionat un modul ce contine un afisaj de 1.3", un encoder si 2 butoane fara retinere, dar exista si versiune cu afisaj OLED de 0.96".

   Am gasit pe internet si schema acestor module, sau cel putin foarte asemanatoare
deoarece nu apar si cele 2 butoane fara retinere (CONFIRM si BACK)
   Am vrut sa fac un test rapid de functionare, asa ca am  cautat pe net si am dat de articolul Timer with OLED Display +Encoder + Esp8266
   Eu am adaptat schema si programul sa folosesc o placa Arduino Nano, inclusiv am modificat programul sa fie mai corect afisat timpul, fiind usor de selectat afisaj cu driver SH1106 (diagonala de 1.3") sau cel de SSD1306 (diagonala de 0.96"). 
   Schema de conectare este
   Programul adaptat de mine este Timer_1a.ino si cu incarcat am realizat 2 filmulete:


miercuri, 16 august 2023

Ceas NTP in format de 12 ore pe afisaj OLED 0.96" (i2c 128x64 SSD1306)

    Daca tot am testat diferite afisaje OLED pe i2c cu rezolutie de 128x64 (sau 64x128) am zis sa vad cum e si cu unul clasic de 0.96", care are driver SSD1306.

    Schema este cea clasica (am testat si alimentarea de la 3,3V dupa cum se vede in poza de mai sus)

pe care am folosit-o si cand am realizat ceasul NTP anterior pe acest tip de afisaj
   Folosind programul adaptat, NTPclock_12864_ssd1306_v1d.ino, se vede functionare in filmuletele urmatoare:

luni, 6 iulie 2015

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

   Am primit un afisaj OLED cu driver SSD1306, dar nu e identic cu cel dinainte, acesta are 7 pini (5 pini comanda + 2 alimentare)
nu ca celalalt care se conecteaza pe i2c s are 4 pini (2 pini comanda + 2 alimentare)
   Mi-am adus aminte ca exemplele de la libraria Adafruit SSD1306 exista un sketch si pentru versiunea de conectare SPI, asa ca am realizat schema conform exemplului (DO/CLK = D10, DI/MOSI = D9, RST/RESET = D13, DC = 11, CS = 13)
rezultatul este bun:
   Am incercat si libraria u8glib, care am mai folosit-o la alte afisaje, dar a functionat doar daca am pus pinul de RESET la D2. dupa cum am citit pe forumul Arduino, apoi am configurat restul pinilor cum am dorit eu: 
iar schema de conectare devine:
   Incarcand exemplul cu grafica librariei u8glib, pe ecran apar diverse imagini de grafica si text:
 
 
   Partea de configurare a sketch-ului cu libraria Adrafruit SSD1306 devine:
   In articolul http://nicuflorica.blogspot.ro/2015/06/afisaj-oled-de-096-24cm-cu-rezolutie-de_22.html am prezentat un ceas mai deosebit, asa ca am modificat sketch-ul,devenind ro_DHT_RTC_adjust_ver6m0.ino, iar schema arata asa:
 
   Fata de sketch-ul pentru i2c am introdus cateva linii de configurare:
dar se poate folosi si afisajul I2c, daca se anuleaza aceste linii si reactivarea celor initiale:
   Am facut un filmulet numit statie meteo si ceas cu alarma pe afisaj OLED (3)

  Am adaptat si celalalt sketch, cu pisica, prezentat initial pe www.instructables.com, devenind ro_Pusheen_Generic_ro3.ino:

29.7.2015
   Am gasit si o librarie pentru text, desi se pot face si niste grafice din liniute, dar partea importanta e ca ocupa spatiu putin; aceasta librarie se numeste SSD1306_text !!!

luni, 22 iunie 2015

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

   In articolul precedent am prezentat noua achizitie a mea, un mic afisaj OLED care este comandat de integratul SSD1306.
   Am prezentat un montaj de ceas gasit pe http://www.instructables.com, care avea si o animatie cu o pisica si indica temperatura oferita de integratul DS3231.
   Acum am pus un senzor de temperatura AM2302 (cel care echipeaza placuta DHT22) si am schimbat modul de afisare:

   Se pastreaza sistemul de modificare a datei, orei si alarmei, dupa cum se vede in cele 2 filmulete:
   Am doua variante de sketch pe https://github.com/tehniq3, unul cu ceasul afisat cu cifre mici si altul cu cifre mari, cum e in poza de mai sus.

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: