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.








6 comentarii:

  1. Hello Vlad!
    What do I need to do to use this sketch with the ILI9488
    3.5" or ILI9341 2.8" TFT Display? Thanks

    RăspundețiȘtergere
  2. It has to be tested if the code fits using the specific lib for that driver. So far, I dont`t have the TFT with those drivers.

    RăspundețiȘtergere
    Răspunsuri
    1. At the beginning of your sketch is written: adapted by Vlad Gheorghe for Arduino Mega and 3.95 display with ILI9844. I believe it to be ILI9488; do you have this sketch? Thanks

      Ștergere
    2. The archive is here :https://drive.google.com/drive/folders/0B6GN3A9w-wA7Z3Fqc3oxN1ExZFE?usp=sharing

      Ștergere
  3. Hi Vlad! Thanks for the sketch.
    My display is like this from the link, so I ask you: how to connect the pins to Arduino Mega and what should be changed in the sketch? Because the pins are different. Thanks again

    Link display: https://www.ebay.com/itm/3-5-inch-480-320-SPI-Serial-TFT-LCD-Module-Display-Screen-Driver-IC-ILI9488/192714343868?var=492856453212

    RăspundețiȘtergere
    Răspunsuri
    1. I don't have that test display, but it did change the code for ILI9488. Library is here: https://github.com/jaretburkett/ILI9488 , and code:https://drive.google.com/file/d/1CTAcZ0wYVELi6hUmNMLEf8JKTXNzN3l9/view?usp=sharing . If it works give me feedback, to put on github the modified code. I will be putting out other tested versions on github soon. Good luck with that

      Ștergere

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