Indholdsfortegnelse:

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

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

Video: C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 Steps
Video: Crea tus propias librerías para Arduino | C++ 2024, November
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 bevise funcionalidad ekstra, og este instruerbare, til poder, der bruger en pantalla OLED. Acá se utilizan 3 librerías, una para conexión digital I2C, otra para utilizar la pantalla OLED, y la tercera para crear gráficos en la pantalla.

Una de las librerías nos permite crear un objeto tipo pantalla, con la cual podemos controlar la pantalla OLED en nuestro código. Un objeto en C ++ (C orientado a objetos), es una estructura más grande que una variable (por así decirlo) que tiene propiedades y funciones propias. Usándolo quedará más claro.

Para incorporar una librería al ambiente de Arduino IDE, der kan læses af 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 #include:

#include <nombreLibreria.h>

Esto lo veremos en detalle en este instructable

Trin 1: Materialer

Materialer
Materialer
Materialer
Materialer

Los materiales son pocos:

  1. Arduino UNO
  2. Pantalla OLED (en Costa Rica)
  3. Kabler
  4. Brearboard

Trin 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

El OLED -displayet viser kontekst og viser fotos:

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

Tener cuidado de que el vcc se conecta a 3.3v. Aunque extrañamente, por lo menos para la OLED que está en la foto, pareciera no se importante esta conexión

Trin 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

En este proyecto se utilizan varias librerías. Como se indicó anteriormente y se ve en la fotografía, las librerías se incorporan al inicio del código. En esta caso se overeengan 3 librerías en las líneas 4 a 6:

#omfatte

#omfatte

#omfatte

La librería Wire.h, es una librería nativa, es decir, viene como parte del paquete de Arduino IDE y no hay que instalar nada adicional. Por otro lado, las librerías Adafruit_GFX.h y Adafruit_SSD1306.h, deben ser installations. Par instalarlas, solamente descargarlas de Adafruit GFX og Adafruit SDD1306, og du kan læse instrucciones acá.

Librería Wire.h

Esta librería permite comunicación I2C. El acrónimo I2C, viene de Inter-Integrated Communication, og tillader kommunikation digital del arduino que es "master" con varios sensores of componentes digitales de forma simultánea. De allí que utilizamos los pines SDA y SCL en el Arduino para conectar con la pantalla OLED. En este sitio sparkfun explica bien que es I2C. Para que funcione entonces la pantalla se necesita primero cargar esa librería.

Librería Adafruit_SDD1306.h

Esta librería permite conectar and hacer funcionar la pantalla OLED a través del Arduino. AL bruger, cremer og objekter til SDD1306, som vi ikke kan bruge til at bruge, kan også bruges til at se, hvad der skal gøres.

Librería Adafruit_GFX.h

Esta librería nos permite dibujar figuras geométricas, escribir textos y utilizar todas las posibilidades gráficas de la pantalla OLED. Endelig kan det instrueres af en liste over de funktionsmuligheder, der kan bruges til at anvende et bibliotek og transformere la pantalla OLED.

Instanciación de objeto

Después de declarar todas las librerías, and la línea 10 del código se declara un objeto de tipo SDD1306 que lo llamamos "display". Al declararlo, debemos indicar cual es el pin de reset, and este caso el pin 4:

SSD1306 -skærm (4);

A partir de este punto, du kan oprette et objekt på SSD1306, og få adgang til en funktion, der kan bruges til at identificere og identificere emner og dele, der kan bruges til at levere funktioner. Así por ejemplo las líneas 13 y 14, display.begynder (SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay ();

La primera inicializa la pantalla y los argumentos "SSD1306_SWITCHCAPVCC" y "0x3c", son los que se ocupan para este modelo de pantalla OLED (puede cambiar para otras pantallas, pero el fabicante indica lo que hay que usar acá). La línea display.clearDisplay (), der er en limpiar cualquier cosa que esté mostrando la pantalla.

Dibujando algo

En la line 8, se declara una variable tipo entero llamada "circleSize" y se inicializa da 1, int circleSize = 1;

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

De las líneas 19 a 22, en la sección loop, 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:

display.drawCircle (64, 32, circleSize, WHITE); display.display ();

La instrucción display.display () lo que hace es dibujar el círculo que indicamos en la pantalla.

Luego inkrementamos cirkel Størrelse en 2 unidades:

cirkelstørrelse+= 2;

Vean que acá utilizamos la notación "+=", este es una forma corta de escribir, circleSize = cirkelstørrelse + 2;

Que sería exactamente lo mismo.

Y esos es todo.

Trin 4: Funcionando Y Adicionales

Image
Image

Cargar el código en el Arduino og listo. 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. En este sitio de adafruit, explica algunas de sus funciones. Acá voy a mencionar algunas para que jueguen con el código:

  1. drawLine (), gør det muligt at indsætte entre dos puntos, for eksempel drawLine (0, 0, 10, 10)
  2. drawRect (), es para dibujar rectángulos. p.e. drawRect (10, 15, 10, 10, WHITE), dibuja un rectángulo en posición x = 10 y y = 15, de tamaño 10 y color blanco
  3. fillRect (). Es igual al anterior pero el rectángulo es relleno
  4. drawCircle (). dibuja un círculo, como en el código que estamos utilizando. fillCircle (), men vi kan ikke mene det
  5. drawTrangle (). Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
  6. Para textos, hay que utilizar varios comandos. Primero localizarlo con setCursor (), kan læses med println ().

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