תוכן עניינים:

C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 שלבים
C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 שלבים

וִידֵאוֹ: C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 שלבים

וִידֵאוֹ: C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 שלבים
וִידֵאוֹ: Tutorial: Uso de Visual Studio Code y PlatformIO para crear librerías con framework Arduino. 2024, נוֹבֶמבֶּר
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 להוכיח את הפונקציונליות הנוספת, ולדעת ההוראות והמשתמשות מאפשרות שימוש ב- OLED. Acá se utilizan 3 librerías, una for conexión digital I2C, otra for 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. עבור C ++ (C orientado a objetos), זה יכול להיות מבנה גדול של משתנה (por así decirlo) que tiene propiedades and funciones propias. Usándolo quedará más claro.

Para incorporar una librería al ambiente de Arduino IDE, ניתן לראות את ההנחיות של 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 להוראה

שלב 1: חומרים

חומרים
חומרים
חומרים
חומרים

Los materiales son pocos:

  1. ארדואינו UNO
  2. Pantalla OLED (בקוסטה ריקה)
  3. כבלים
  4. לוח חבטות

שלב 2: קונקסיונים

קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים

תצוגת OLED מציגה את כל התמונות והלא תמונות:

  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 - סיכת ארדואינו 4
  5. OLED c/s - Arduino GND
  6. OLED SDA - Arduino SDA (סיכה A4, או פי פי SDA)
  7. OLED scl - Arduino SCL (סיכה A5, או פין 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

שלב 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 librarías en las líneas 4 a 6:

#לִכלוֹל

#לִכלוֹל

#לִכלוֹל

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 instaladas. Par instalarlas, solamente descargarlas de Adafruit GFX y Adafruit SDD1306, y seguir las instrucciones acá.

Librería Wire.h

Esta librería permite comunicación I2C. El acrónimo I2C, viene de Inter-Integrated Communication, and permitt la communicación del del arduino que es "master" with varios sensores or componentes 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 que funcione entonces la pantalla se necesita primero cargar esa librería.

Librería Adafruit_SDD1306.h

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

Librería Adafruit_GFX.h

Esta librería nos permite dibujar figuras geométricas, escribir textos and utilizar todas las posibilidades gráficas de la pantalla OLED. Al final de este instructable 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 declararlo, debemos indicar cual es el pin de reset, en este caso el pin 4:

תצוגת SSD1306 (4);

חלק זה יכול להעריך את התכונה SSD1306 או לקבל את התכונה 'פונקציות של התייחסות לאתר' לזיהוי של אובייקטי ופרטים של פונקציות. 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

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

Esta la vamos a utilizar for 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 מעגל רדיו גודל:

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 incrementamos מעגל גודל en 2 unidades:

מעגל גודל+= 2;

Vean que acá utilizamos la notación "+=", este es una forma corta de escribir, מעגל גודל = מעגל גודל + 2;

Que sería exactamente lo mismo.

Y esos es todo.

שלב 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 radio.

Librería Adafruit_GFX.h

Esta librería tiene una series 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 (), לאפשר לינוסים לאפשרויות אחרות, למשל, drawLine (0, 0, 10, 10)
  2. drawRect (), es para dibujar rectángulos. פ. drawRect (10, 15, 10, 10, WHITE), תאריכים ונקודות x x 10 y y = 15, 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 (), לא יכול להיות לא נכון
  5. drawTrangle (). Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
  6. בשביל טקסט, אפשר להשתמש במגוון נושאים. Primero localizarlo con setCursor (), יכול להירשם עם הדפסה ().

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