Orodha ya maudhui:

C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Hatua
C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Hatua

Video: C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Hatua

Video: C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Hatua
Video: Introducción a programación en C/C++ para arduino || Salidas digitales. 2024, Julai
Anonim
C / C ++ En Arduino: Uso De Librerías Y Objetos
C / C ++ En Arduino: Uso De Librerías Y Objetos

Las posibilidades de Arduino se puede extender usando librerías. Las librerías inathibitisha funcionalidad ya ziada, na hii inaweza kufundishwa, kwa kutumia vifaa vya OLED. Tumia 3 bure, ikiwa ni pamoja na I2C ya dijiti, ambayo inaweza kutumika kwa OLED, kwa sababu ya matumizi ya bidhaa mpya.

Una de las librerías nos permite crear un objeto tipo pantalla, con la cual podemos controlar of pantalla OLED en nuestro código. Un objeto en C ++ (C orientado a objetos), unajua kwamba unaweza kuibadilisha kwa sababu ya kutofautisha (ikiwa ni pamoja na uamuzi) kwa sababu ya mpango huu unaofurahisha. Usándolo quedará más claro.

Para incorporar una librería al ambiente de Arduino IDE, pueden seguir estas instrucciones de Arduino. Para usarla en una porción de código, estas se llaman al inicio del código, de la siguiente manera con la directiva # pamoja na:

# pamoja na <nombreLibreria.h>

Esto lo veremos en detalle en este instructable

Hatua ya 1: Materiales

Materiales
Materiales
Materiales
Materiales

Los materiales mwana pocos:

  1. Arduino UNO
  2. Pantalla OLED (en Kosta Rika)
  3. Nyaya
  4. Ubao wa kuzunguka

Hatua ya 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

O O onyesho linaonyesha maoni kama picha kwenye picha:

  1. OLED vcc - Arduino 3.3V (aunque esta conexión no hace falta)
  2. Ndoa ya OLED - Arduino GND
  3. Cs za OLED - Arduino GND
  4. OLED res - pini ya Arduino 4
  5. OLED c / s - Arduino GND
  6. OLED sda - Arduino SDA (pini A4, o el pin SDA)
  7. OLED scl - Arduino SCL (pini A5, o el pin SCL)

Tener cuidado de que el vcc se conecta a 3.3v. Aunque extrañamente, for the menos para la OLED ni nini kwenye picha, sio muhimu kwa sababu ya uhusiano

Hatua ya 3: Código Y Uso De Librerías

Código Y Uso De Librerías
Código Y Uso De Librerías

Cargar librerías

Hii ni sehemu ya matumizi ya vyombo vya habari tofauti. Como se indicó anteriormente y se ve en la fotografia, las librerías se incorporan al inicio del código. Kwa maana hii inakubaliana 3 uhuru kwa las 4 4: 6

# pamoja

# pamoja

# pamoja

La librería Wire.h, es una librería nativa, es decir, viene como parte del paquete de Arduino IDE na hakuna nyongeza ya kuanzisha mazungumzo. Por otro lado, las librerías Adafruit_GFX.h y Adafruit_SSD1306.h, deben ser instaladas. Par instalarlas, solamente descargarlas de Adafruit GFX na Adafruit SDD1306, y seguir las instrucciones acá.

Librería Waya.h

Esta librería kibali cha mawasiliano I2C. El agronimo I2C, inahusiana na Mawasiliano ya Jumuiya, na inaruhusu ruhusa ya mawasiliano ya dijiti kutoka "bwana" kwa aina tofauti tofauti za sehemu za kuchimba habari kutoka wakati huo huo. De allí que utilizamos los pines SDA y SCL en el Arduino para conectar con la pantalla OLED. Kwa sababu hii kuna sababu inayofafanua hali ya I2C. Para que funcione entonces la pantalla se necesita primero cargar esa librería.

Librería Adafruit_SDD1306

Esta librería inaruhusu ruhusa ya kufanya kazi kwa njia ya OLED a través del Arduino. AL usarla, creamos un objeto SDD1306 ni orodha ya vibali vya utumiaji wa vifaa vya kufanya kazi, ambazo zinaweza kutekelezwa.

Librería Adafruit_GFX.h

Esta librería nos permite dibujar figuras geométricas, escriptir textos y utilizar todas las posibilidades gráficas de la pantalla OLED. Mwisho wa kuorodheshwa kwa orodha ya orodha zote za orodha ya kazi zitakazotekelezwa kwa matumizi ya huduma na mabadiliko ambayo yatatekelezwa kwa OLED kwa sababu ya programu zinazotumiwa.

Instanciación de objeto

Después de declarar todas las librerías, en laínea 10 del código se declara un objeto de tipo SDD1306 que lo llamamos "display". Matangazo, mijadala inaonyesha ishara ya kuweka upya, na hii ni siri 4:

Onyesho la SSD1306 (4);

Sehemu moja ya kura ya maoni, ambayo itaunda SSD1306, na maoni yako yanapatikana na vifaa vya kujifurahisha vya kujulikana kwa utambulisho wa utambulisho wa orodha ya watu wanaotumiwa. Así por ejemplo las líneas 13 y 14, onyesha. kuanza (SSD1306_SWITCHCAPVCC, 0x3c); onyesha wazi Cleplay ();

La primera inicializa la pantalla y los argumentos "SSD1306_SWITCHCAPVCC" y "0x3c", mwanawe atapata nafasi ya kufanya kazi kwa OLED (puede cambiar para otras pantallas, pero el fabicante indica lo que hay que usar acá). Onyesha kuonyesha. WaziDisplay (), tutaona kama ni rahisi kupata maelezo zaidi kuhusu hali hii.

Dibujando algo

En la línea 8, se declara una variable tipo entero llamada "circleSize" y se inicializa en 1, mduaraSize = 1;

Esta la vamos a utilizar for incrementar el diámetro del círculo que dibujaremos.

De las 19 19, 22, en sec secónón, lo que hacemos es dibujar un círculo de color blanco (WHITE) en la posición x = 62 y y = 32, es decir, en la mitad de la pantalla, con radio circleSize:

onyesha Mzunguko (64, 32, duaraSize, NYEUPE); onyesha onyesha ();

Kuonyesha mafundisho.display () tazama maoni yako juu ya alama ya alama ya maonyesho.

Luego incrementamos circleSize en 2 unidades:

mduaraSize + = 2;

Kwa sababu hiyo ni muhimu "+ =", hii ndio sababu ya maoni haya, duaraSize = mduaraSize + 2;

Que sería exactamente lo mismo.

Y esos es todo.

Hatua ya 4: Funcionando Y Adicionales

Image
Image

Cargar el código en el Arduino na orodha. Verán un círculo que se dibuja con radio creciente.

Librería Adafruit_GFX.h

Esta librería tiene una serie de comandos para dibujar en la pantalla. Katika sehemu hii ya matunda, maelezo ya kila aina ya funciones. Acá voy a mencionar algunas para que jueguen con el código:

  1. DrawLine (), ruhusu dibujar líneas entre dos puntos, por ejemplo drawLine (0, 0, 10, 10)
  2. drawRect (), es para dibujar rectángulos. p. DrawRect (10, 15, 10, 10, WHITE), dibuja un rectángulo en posición x = 10 y y = 15, de tamaño 10 y rangi blanco
  3. jazaRect (). Es igual al anterior pero el rectángulo es relleno
  4. chora Mzunguko (). dibuja un círculo, como en el código que estamos utilizando. fillCircle (), hace lo mismo pero relleno
  5. choraTrangle (). Dibuja triángulos, para ello hay ni kwa nini inaashiria puntos en la pantalla.
  6. Para textos, hay que utilizar varios comandos. Primero localizarlo con setCursor (), luego se escriben con println ().

Para ver las funciones en uso, pueden cargar el código de ejemplo que viene con la librería.