Inhaltsverzeichnis:

C/C++ und Arduino: Uso De Librerías Y Aufgaben – Gunook
C/C++ und Arduino: Uso De Librerías Y Aufgaben – Gunook

Video: C/C++ und Arduino: Uso De Librerías Y Aufgaben – Gunook

Video: C/C++ und Arduino: Uso De Librerías Y Aufgaben – Gunook
Video: Getting Started with MicroPython and The Raspberry Pi Pico 2024, Juli
Anonim
C/C++ und Arduino: Uso De Librerías Y Objetos
C/C++ und Arduino: Uso De Librerías Y Objetos

Las posibilidades de Arduino se puede Extender Usando Librerías. Die Librerías haben sich als zusätzliche Funktionen erwiesen, und sind anweisbar, für die Verwendung von OLED-Pantalla. Acá se utilizan 3 librerías, una para conexión digital I2C, otra utilizar pantalla OLED, y la tercera para crear gráficos and la pantalla.

Una de las librerías nos allowe crear a tipo pantalla, con la cual podemos controlar the pantalla OLED und nuestro código. Ein Objekt in C++ (C orientado a objetos), es ist eine große Struktur, die eine Variable (von así decirlo) hat, die alle Eigenschaften und Funktionen besitzt. 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 #include:

#include < nombreLibreria.h >

Esto lo veremos en detalle en este instructable

Schritt 1: Materialien

Materialien
Materialien
Materialien
Materialien

Los Materiales Sohn Pocos:

  1. Arduino UNO
  2. Pantalla OLED (de Costa Rica)
  3. Kabel
  4. Brustbrett

Schritt 2: Konexionen

Konexionen
Konexionen
Konexionen
Konexionen
Konexionen
Konexionen

Das OLED-Display zeigt an, dass es indica und die Fotos enthält:

  1. OLED vcc - Arduino 3.3V
  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, oder 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

Schritt 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 agregan 3 librerías en las líneas 4 a 6:

#enthalten

#enthalten

#enthalten

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

Librería Wire.h

Esta Librería Permite comunicación I2C. El Acrónimo I2C, viene de interintegrierte Kommunikation, und erlaubt die digitale Kommunikation des arduino que es "Master" mit verschiedenen Sensoren oder digitalen Komponenten von simultanen Formaten. Allí que utilizamos los pines SDA y SCL und 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 primeo cargar esa librería.

Librería Adafruit_SDD1306.h

Esta librería allowe conectar y hacer funcionar la pantalla OLED a Través del Arduino. AL usarla, creamos a objeto SDD1306 que nos allowe use the pantalla fácilmente, eso lo veremos en la siguiente sección.

Librería Adafruit_GFX.h

Esta librería nos allowe dibujar figuras geométricas, textos and utilizar todas las posibilidades gráficas de la pantalla OLED. Als letztes instructable hago eine Liste von Algunas de las funciones que se pueden utilizar con esta Libreía und que transforman die pantalla OLED und eine pantalla de múltiples propósitos.

Instanciación de objeto

Deklarierte Erklärungen für die Bibliotheken, auf der Linie 10 von Codes, die ein Ziel von Tipp SDD1306 que lo Llamamos "Anzeige" deklarieren. Al declararlo, debemos indicar cual es el pin de reset, en este caso el pin 4:

SSD1306-Anzeige (4);

A partir de este punto, ya se crea a objeto tipo SSD1306, und podemos access todas las funciones del objeto escribiendo el identificador del objeto y luego un punto con la propiedad oder función que deseamos. Así por ejemplo las líneas 13 y 14, display.begin(SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay();

La primea inicializa la pantalla und los argumentos "SSD1306_SWITCHCAPVCC" und "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 line 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 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 circleGröße:

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

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

Luego inkrementamos circleSize en 2 unidades:

Kreisgröße+=2;

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

Que sería exactamente lo mismo.

Ja, es ist zu tun.

Schritt 4: Funcionando Y Adicionales

Image
Image

Cargar el código en el Arduino und 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(), erlauben dibujar lineas entre dos puntos, für alle drawLine(0, 0, 10, 10)
  2. drawRect(), es para dibujar rectángulos. Sport. 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(), hace lo mismo pero relleno
  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(), luego se escriben con println().

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