Índice:

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

Vídeo: C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Passos

Vídeo: C / C ++ En Arduino: Uso De Librerías Y Objetos: 4 Passos
Vídeo: 8. Ejemplo del uso de librerías en Arduino 2024, Julho
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 podem ser extender usando bibliotecas. Las librerías proveen funcionalidad extra, en este instructable, para poder utilizar um pantalla OLED. Você pode utilizar 3 bibliotecas, uma para conexão digital I2C, ou para usar o pantalla OLED, e a terceira para criar gráficos em pantalla.

Uma das bibliotecas nos permite criar um objeto tipo pantalla, com o cual podemos controlar a pantalla OLED em nosso código. Um objeto em C ++ (C orientado a objetos), é uma estrutura mais grande que uma variável (por así decirlo) que tiene propiedades e funções propias. Usándolo quedará más claro.

Para incorporar uma biblioteca ao ambiente de Arduino IDE, siga estas instruções de Arduino. Para usar em uma porção de código, este é o início do código, de acordo com a diretiva #include:

#include <nombreLibreria.h>

Esto lo veremos en detalle en este instructable

Etapa 1: materiais

Materiales
Materiales
Materiales
Materiales

Los materiales filho pocos:

  1. Arduino UNO
  2. Pantalla OLED (na Costa Rica)
  3. Cabos
  4. Brearboard

Etapa 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

O display OLED se conecta como se indica nas 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. Res. OLED - Arduino pino 4
  5. OLED c / s - Arduino GND
  6. OLED sda - Arduino SDA (pino A4, o el pin SDA)
  7. OLED scl - Arduino SCL (pino A5, o el pino SCL)

Tenha cuidado para que o vcc se conecte a 3.3v. Aunque extrañamente, por lo menos para la OLED que está na foto, pareciera não se importante esta conexão

Etapa 3: Código Y Uso De Librerías

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

Bibliotecas Cargar

En este proyecto se utilizan varias librerías. Como se indicado anteriormente e se ve na fotografia, as bibliotecas se incorporam ao início do código. Neste caso, encontramos 3 bibliotecas nas linhas 4 a 6:

#incluir

#incluir

#incluir

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 outro lado, as bibliotecas Adafruit_GFX.h e Adafruit_SSD1306.h, deben ser instaladas. Par instalarlas, descargarlas de Adafruit GFX e Adafruit SDD1306, e seguir as instruções.

Librería Wire.h

Esta biblioteca permite a comunicação I2C. El acrónimo I2C, viena de Inter-Integrated Communication, y permite a comunicação digital del arduino que é "master" com vários sensores ou componentes digitales de forma simultánea. Todos os que utilizam os pinheiros SDA e SCL no Arduino para conectar com o 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 biblioteca permite conectar y hacer funcionar la pantalla OLED a través del Arduino. AL usarla, cria um objeto SDD1306 que não permite usar a pantalla facilmente, eso lo veremos na seção siguiente.

Librería Adafruit_GFX.h

Esta biblioteca nos permite dibujar figuras geométricas, escrever textos e utilizar todas as posibilidades gráficas de la pantalla OLED. Todo este instrutível final deve ser listado de todas as funções que podem ser utilizadas com esta biblioteca e que transforman a pantalla OLED em uma pantalla de múltiplos propósitos.

Instanciación de objeto

Después de declarar todas as bibliotecas, na linha 10 do código é declarar um objeto do tipo SDD1306 que chamamos "display". Al declararlo, debemos indicar cual es el pin de reset, neste caso el pin 4:

Display SSD1306 (4);

A partir deste ponto, você cria um objeto tipo SSD1306, e podemos acessar a todas as funções do objeto escrito o identificador do objeto e deixar um ponto com a propriedade ou função que deseamos. Assim por ejemplo las líneas 13 e 14, display.begin (SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay ();

A primeira inicializa a pantalla e os argumentos "SSD1306_SWITCHCAPVCC" e "0x3c", filho que se ocupa 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 (), lo que hace es limpiar cualquier cosa que esté mostrando la pantalla.

Dibujando algo

En la linea 8, se declara uma variável tipo entero llamada "circleSize" e se inicializa em 1, int circleSize = 1;

Vamos usá-lo para incrementar o diâmetro do círculo que dibujaremos.

De las lineas 19 a 22, en la sección loop, lo that 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 ();

A instrução display.display () lo que hace es dibujar o círculo que indica na pantalla.

Luego incrementamos circleSize em 2 unidades:

circleSize + = 2;

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

Que sería exactamente lo mismo.

Sim, es todo.

Etapa 4: Funcionando Y Adicionales

Image
Image

Pesquise o código no Arduino e na lista. Verán um círculo que se dibuja com rádio creciente.

Librería Adafruit_GFX.h

Esta biblioteca possui uma série de comandos para distribuir na tela. En este sitio de adafruit, explica algunas de sus funciones. Acá voy a mencionar algunas para que jueguen con el código:

  1. drawLine (), permite dibujar líneas entre dos pontos, por ejemplo drawLine (0, 0, 10, 10)
  2. drawRect (), es para dibujar rectángulos. educaçao Fisica. 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 um círculo, como en el código que estamos utilizando. fillCircle (), hace lo mismo pero relleno
  5. drawTrangle (). Dibuja triángulos, para ello hay que indicar três pontos na pantalla.
  6. Para textos, feno que utiliza vários comandos. Primero localizarlo com setCursor (), basta escrever com println ().

Para ver as funções em uso, pueden cargar el código de ejemplo que viene con la librería.