Fes-ho tu mateix
Classes magistrals, instruccions, consells útils, receptes.
» » »Com connectar la pantalla OLED I2C a ARDUINO
Introducció: Presentació de la pantalla OLED I2C de 128 * 64/128 * 32.
Com connectar la pantalla OLED I2C a ARDUINO

Hola Per ser un aficionat, un entusiasta de l’electrònica, estic segur que tot el que fem són joguines electròniques - productes casolans o grans projectes, tot per curiositat i mandra. La curiositat busca comprendre i comprendre l'immens, desconegut, entendre com funciona allà, què fa, com es mou. I la mandra s’inventa, per tal d’aconseguir això, per no aixecar-se, no encaixar-se, no aixecar-se, no embrutar-se o alguna cosa important.

Atès que veure informació és millor que comprendre què està a punt de passar al nostre dispositiu, o ja ha passat o està passant, sens dubte voldrem obtenir aquesta informació molt útil dels nostres microcontroladors, sensors o altres dispositius. I jo, en qualsevol cas, vull rebre missatges, com ara preguntes, avisos, recordatoris, emoticones, asteriscs, cors i similars.

Per a aquells que també tinguin un desig similar, aquí teniu una guia ràpida per connectar i comprovar pantalles OLED petites i econòmiques.
A continuació, parlarem d’un dels models àmpliament disponibles per a ràdio de pernil de pantalles OLED controlades pel xip SSD1306, amb una mida de pantalla de 0,96 polzades i una resolució de 128 * 64 o 128 * 32 píxels. Aquests pantalles són ideals per a petits dissenys de ràdio amateur i productes casolans.
Com connectar la pantalla OLED I2C a ARDUINO

Pas 1: Conceptes clau


El connectarem a Arduino UNO / NANO, així, i per programar, respectivament, també el connectarem a través d’Arduino.
  • OLED és un díode emissor de llum orgànic, és a dir, un dispositiu semiconductor fabricat amb compostos orgànics, que comença a emetre llum quan hi passa un corrent elèctric.
  • ARDUINO és una plataforma d’entrenament i automatització d’edificis i sistemes de robòtica.
  • ArduinoIDE és un entorn de desenvolupament. Es tracta d’una eina de programació gratuïta d’Arduino.
  • I2C - Circuits interintegrats, línia de comunicació entre microcircuits.
  • Un esbós, és un codi, és un programa: terminologia arduino.

Seguiu les instruccions per entendre com connectar i configurar correctament una pantalla OLED a Arduino i com mostrar el vostre propi missatge a la pantalla.
Ho fem tot per passos.

Pas 2: Accessoris


Només necessitarem quatre coses:
  • 1. La pantalla OLED és de 0,96 ”(es pot comprar a Aliexpress o Ebay, - de llarg, però barat!).
  • 2. Arduino UNO / Nano (al mateix lloc que la pantalla).
  • 3. Cables de connexió (ibid.).
  • 4. Instal·lat un ordinador o ordinador portàtil amb ArduinoIDE.

Com connectar la pantalla OLED I2C a ARDUINO

En general, comprar peces per a diversos projectes a Aliexpress i Ebay és una cosa molt maca, mentre que esteu fent un projecte, altres peces ja estan en marxa. El principal és no oblidar fer una comanda.

Pas 3: connecteu la pantalla


La pantalla està controlada pel xip SSD1306, que admet cinc protocols de comunicació i un dels quals és I2C. Les dades d’aquest protocol es transmeten en dos fils, i menys fils en el cas, millor, per tant ens convé bé. Però! Hi ha mòduls amb protocol SPI i fins i tot commutació de protocols, així que tingueu cura de comprar aquest mòdul.
Com connectar la pantalla OLED I2C a ARDUINO

Conclusions utilitzades:
Pantalla OLED: SCL / SCK (rellotge) i SDA (dades), potència "Plus" (VCC) i "Minus" (GND).
Com connectar la pantalla OLED I2C a ARDUINO

Conclusions utilitzades:
Arduino UNO - SCL / SCK en A5 i SSD en A4, potència "Plus" (+ 5V) i potència "Menor" (GND).
Connecta la pantalla a l'Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Com connectar la pantalla OLED I2C a ARDUINO

Pas 4: escàner I2C


Cada dispositiu del bus I2C té una adreça hexadecimal, no es pot canviar, està cosit amb força, cada fabricant responsable l’ha d’indicar en algun lloc del cas o a les instruccions. Hi ha mòduls amb commutadors i saltadors amb els quals es pot canviar l'adreça, però ... si els dispositius són barats, per a la lletjor, potser el fabricant no es molestarà en fer front a una trifle, així que hauràs de determinar-ho tu mateix.

En total es poden utilitzar fins a 127 adreces al bus: 119 per a dispositius i 8 adreces de servei. La comunicació es realitza a aquestes adreces.Hi ha un mestre, és un mestre, però hi ha un esclau, també és un esclau - els amos demanen, els seguidors responen, tot és senzill.
Com que el nostre display OLED utilitza el protocol de comunicació I2C i és possible que no s’indiqui l’adreça, intentarem esbrinar aquesta mateixa adreça.

Això es pot fer baixant un breu esbós a la vostra placa Arduino amb OLED connectat. PERUT!
Aprofiteu-vos per penjar el croquis a Arduino de seguida. Comencem baixant el "controlador", és a dir. connectarem les biblioteques i, per això, anirem directament al “Pas 5”, i després tornarem a continuar i continuarem.

Pas 4: Continuació:


Descarregueu CODE Finder_I2C_Hex_Address.ino, pengeu-ho a Arduino.
Obriu el "Port Monitor", configureu la velocitat a 9600 i si tot està connectat correctament, el programa mostrarà l'adreça del dispositiu, en el meu cas OLED amb l'adreça 0x3F.
Com connectar la pantalla OLED I2C a ARDUINO

Pas 5: descarregueu i connecteu les biblioteques


Perquè tot funcioni correctament i no haureu de reinventar la roda, heu de connectar un parell de biblioteques a l’entorn ArduinoIDE, a saber: ADAFRUIT GFX i ADAFRUIT SSD1306, són necessaris perquè Arduino pugui comunicar-se de manera independent amb la pantalla OLED.
Podeu connectar aquestes biblioteques seguint aquests passos.
  • 1. A ArduinoIDE, aneu al menú Esbós.
  • 2. Seleccioneu "Incloure biblioteques".
  • 3. Seleccioneu "Gestiona biblioteques" / Biblioteques gestionades.
  • 4. Cerqueu ADAFRUIT GFX i instal·leu-los.
  • 5. Cerqueu ADAFRUIT SSD1306 i instal·leu-los.

Amb les versions actuals de les biblioteques, la pantalla va funcionar de manera tortuosa per a mi, potser per descomptat, això es deu a la curvatura de les mans, però després d’instal·lar les primeres versions d’aquestes biblioteques, tot va començar a aparèixer de forma fluida i bonica. Per alguna raó, les línies de Pushkin apareixen a la seva memòria:
... i l'experiència, el fill dels errors difícils,
i geni, paradoxes amigues.

Una altra manera d’instal·lar biblioteques és trobar, descarregar i instal·lar aquestes biblioteques tu mateix.
Per a un exemple de Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Són les mateixes biblioteques d’Adafruit, però es poden cercar fàcilment biblioteques similars als motors de cerca, a petició de OLED I2C. Molts entusiastes escriuen les biblioteques "per ells mateixos", i després les posen a la xarxa. Quina biblioteca heu de fer.
Per tal que la pantalla mostri lletres russes també calen biblioteques especials, però es tracta d’un tema diferent per a un article a part.
Després d’instal·lar les biblioteques, podeu tornar al pas 4 i finalment esbrinar l’adreça hexadecimal de la pantalla.

Pas 6: Prova de la pantalla


Per comprovar si tot funciona com s’esperava, executeu l’exemple de prova d’ArduinoIDE.
Per fer-ho:
Vés A FILE> EXEMPLES> SSD 1306> Seleccioneu 128x64 i2c
Si obteniu un "error", proveu d'escollir el SSD 1306> 128x32 i2c.
Si torna a aparèixer Error, intenteu canviar l'adreça I2C de la línia 61 del codi de demostració i substituir-la per l'adreça del vostre display, que heu determinat al pas # 4.
Si es torna a produir l’error, podeu provar d’editar el fitxer Adafruit_SSD1306.h, que es troba a la carpeta amb les biblioteques Arduino.
Com connectar la pantalla OLED I2C a ARDUINO

Obriu el fitxer Adafruit_SSD1306.h en un editor de text i cerqueu les línies:
// # define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16 

Descompensa la línia:
#define SSD1306_128_64. 

Hauria de ser així:
#define SSD1306_128_64
// # define SSD1306_128_32
// #define SSD1306_96_16

Si torna a produir l’error, cal comprovar les connexions correctes.
Un cop finalitzada la baixada, veureu una animació de prova a la pantalla, cosa que significa que heu configurat correctament la pantalla OLED.

Quan gaudiu d’aquesta animació, podeu passar al següent pas.

Pas 7: Escriptura del vostre propi missatge


Per escriure el vostre propi missatge, creeu primer un nou croquis a l’entorn de programació ArduinoIDE.
A la capçalera, connectem 4 biblioteques:
#incloure 
#incloure 
#incloure 
#include 

Després escrivim el protocol de restabliment:
#defineix OLED_RESET 4
Pantalla Adafruit_SSD1306 (OLED_RESET);

Al VOID SETUP, especifiqueu l'adreça hexadecimal de la nostra pantalla 0x3C, que trobem al "Pas núm. 4".
Després, inicialitzeu la pantalla i esborreu-la:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

A continuació, a VOID LOOP, escrivim el codi principal, és a dir, el nostre missatge, que volem mostrar a la pantalla.
Per fer-ho, descrivim la mida del text, el color del text, la posició del cursor i, finalment, mostrem un missatge mitjançant la comanda println:
display.setTextSize (2);
display.setTextColor (BLANC);
display.setCursor (0,0);
display.println ("Ben fet!");
display.display ();

Al final, no oblideu escriure display.displayde manera que la imatge es mostra a la pantalla, en cas contrari obtindreu un buit.
Si ho heu fet correctament, apareixerà un missatge a les pantalles.
Com connectar la pantalla OLED I2C a ARDUINO

Aquí teniu el CODI d’inici_amb_Arduino_OLED.ino del nostre programa:
[946 b] (descàrregues: 1100)
Comentaris (3)
  1. Tatoshka
    #1 Tatoshka Convidats 14 de novembre de 2018 21:18
    0
    Gràcies amic! Aquest és el meu primer esbós penjat i la meva presentació a Arduino. Sense comptar que parpelleja el parpelleig))
  2. alisher
    #2 alisher Convidats 28 de juliol de 2019 19:35
    0
    I on descarregar aquest codi Finder_I2C_Hex_Address.ino?
    1. Al
      #3 Al Convidats 14 d’agost de 2019 12:51
      0
      a sota de la imatge hi ha un enllaç "Aquí teniu el CODI Inici_ amb_Arduino_OLED.ino del nostre programa:"

Llegiu també

Codis d’error per a rentadores