Talaan ng mga Nilalaman:

C / C ++ En Arduino: Uso De librerías Y Objetos: 4 Mga Hakbang
C / C ++ En Arduino: Uso De librerías Y Objetos: 4 Mga Hakbang

Video: C / C ++ En Arduino: Uso De librerías Y Objetos: 4 Mga Hakbang

Video: C / C ++ En Arduino: Uso De librerías Y Objetos: 4 Mga Hakbang
Video: Uso del controlador de motor paso a paso L298N Para controlar el motor paso a paso de 4 cables 2024, Nobyembre
Anonim
C / C ++ En Arduino: Uso De Libraryerías Y Objetos
C / C ++ En Arduino: Uso De Libraryerías Y Objetos

Ang posibilidad ng Arduino se puede extender usando librerías. Las librerías proven funcionalidad extra, en este itinuturo, para poder utilizar una pantalla OLED. Magagamit ang 3 librerías, isang para sa digital na I2C, upang magamit ang pantulong OLED, at ang iyong kamangha-manghang mga artista sa mundo.

Una de las librerías nos permite crear un objeto tipo pantalla, con la cual podemos controlar la pantalla OLED en nuestro código. Unjjn en C ++ (C orientado a objetos), ito ay isang estruktura na nakakabuo ng isang variable (por decía decirlo) que tiene propiedades y funciones propias. Usándolo quedará más claro.

Para sa pagsasama-sama ng isang librería al ambiente de Arduino IDE, nabuo ang mga ito bilang mga 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 #include:

# isama ang <nombreLibreria.h>

Ang mga veremos at detalle na ito ay maaaring turuan

Hakbang 1: Mga Materyales

Mga Materyales
Mga Materyales
Mga Materyales
Mga Materyales

Los materiales son pocos:

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

Hakbang 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

El OLED display se conecta como se indica en las 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 sa OLED que está en la foto, pareciera no se important esta conexión

Hakbang 3: Código Y Uso De Libraryerías

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

Cargar librerías

Magagawa natin ito upang magamit ang iba't ibang mga aklatan. Ang mga ito ay nagpapahiwatig ng anteriormente se se en en fotografía, las librerías se integrporan al inicio del código. Ito ay isang kasunduan 3 librerías en las líneas 4 a 6:

# isama

# isama

# isama

Ang librería Wire.h, ay isang librería nativa, es decir, viene como parte del paquete de Arduino IDE at walang hay que installar nada adicional. Para sa otro lado, las librerías Adafruit_GFX.h y Adafruit_SSD1306.h, deben ser instaladas. Par instalarlas, solamente descargarlas de Adafruit GFX y Adafruit SDD1306, y seguir las instrucciones acá.

Libraryería Wire.h

Pinahintulutan ng Esta librería ang comunicación I2C. Ang El Aktona I2C, ang Inter-Integrated Communication, ay nagbibigay ng komunikasyon sa digital del arduino para sa "master" na may iba't ibang mga sensor o mga bahagi ng digitales for 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 sa funcione entonces la pantalla se necesita primero cargar esa librería.

Libraryería Adafruit_SDD1306.h

Esta librería permite conectar y hacer funcionar la pantalla OLED a través del Arduino. AL usarla, creamos un objeto SDD1306 que nos permite utilizar la pantalla fácilmente, so lo veremos en la siguiente sección.

Libraryerí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. Ang pangwakas na itinuturo na hago un listado de algunas de las funciones que se pueden utilizar con esta librería y que transforman la pantalla OLED en una pantalla de múltiples propósitos.

Instanciación de objeto

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

Display ng SSD1306 (4);

Ang isang partir de este punto, maaari mong mai-tipo ang SSD1306, at i-access ang mga ito para sa iyo na mag-iwan ng mga impormasyon tungkol sa pagkakakilanlan ng mga ito at ilalagay ang mga puntos na ito sa pamamagitan ng función que deseamos. Así por ejemplo las líneas 13 y 14, display.begin (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 (), lo que hace es limpiar cualquier cosa que esté mostrando la pantalla.

Dibujando algo

Sa ika-8 ng ika-8 na araw, isang deklarasyon ng isang variable na tipo entero llamada na "circleSize" at isang opisyal para sa 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 nagpapahiwatig en la pantalla.

Luego incrementamos circleSize en 2 unidades:

circleSize + = 2;

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

Que sería eksakto lo lo mismo.

Y esos es todo.

Hakbang 4: Funcionando Y Adicionales

Image
Image

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

Libraryerí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. Mag-click sa iyo upang suriin ang algunas para sa jueguen con el código:

  1. drawLine (), pinahintulutan na mabigyan ng libreng puntos, por ejemplo drawLine (0, 0, 10, 10)
  2. drawRect (), es para dibujar rectángulos. p.e. drawRect (10, 15, 10, 10, WHITE), na nabanggit para sa bawat posisyong x = 10 y y = 15, de tamaño 10 y color blanco
  3. punanRect (). Ito ay nauuna ngunit nauuna pa ring mag-aaral
  4. drawCircle (). dibuja un 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 nagpapahiwatig tres puntos en la pantalla.
  6. Para sa mga teksto, 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.