جدول المحتويات:

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 خطوات
فيديو: 10 PRIMEROS PASOS para PROGRAMAR ARDUINO desde 0 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 proveen funcionalidad extra، en este in este، para poder used una 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 var (por así decirlo) que tiene propiedades y funciones propias. Usándolo quedará más claro.

تم دمج مكتبة Arduino IDE في مكتبة Arduino IDE. Para usarla en una porción de código، estas se llaman al inicio del código، de la siguiente manera con la directiva # تشمل:

# تضمين <nombreLibreria.h>

Esto lo veremos en detalle en este التعليمي

الخطوة 1: المواد

المواد
المواد
المواد
المواد

لوس ماتيريالز ابن بوكوس:

  1. اردوينو UNO
  2. بانتالا أوليد (في كوستاريكا)
  3. الكابلات
  4. Brearboard

الخطوة 2: Conexiones

المخروط
المخروط
المخروط
المخروط
المخروط
المخروط

شاشة OLED حد ذاتها Conecta como se indica en las fotos:

  1. OLED vcc - Arduino 3.3V (aunque esta conexión no hace falta)
  2. OLED gnd - اردوينو GND
  3. OLED CS - Arduino GND
  4. دقة OLED - اردوينو دبوس 4
  5. OLED c / s - Arduino GND
  6. OLED sda - Arduino SDA (pin A4 ، o el pin SDA)
  7. OLED scl - Arduino SCL (دبوس 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

الخطوة 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ó inicio del código. En esta caso se likgan 3 librerí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. بواسطة otro lado، librerías Adafruit_GFX.h y Adafruit_SSD1306.h، deben ser instaladas. بشكل متوازن ، حل المشكلة من Adafruit GFX y Adafruit SDD1306 ، y seguir las instrucciones acá.

سلك Librería

Esta librería permite comunicación I2C. El acrónimo I2C، viene de inter-Integrated Communication، y permite la connectación digital del arduino que es "master" con varios sensores o elementes de forma وقت واحد. استخدام جميع أنواع الصنوبر 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 un objeto SDD1306 que nos enjoyizar 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 y useizar todas las posibilidades gráficas de la pantalla OLED. كل شيء نهائي قابل للتوجيه من قائمة الجوناس دي لاس فونسيونيس كيو سي بويدن توزار كون ستا ليبرريا وي كيو ترانسفوران لا بانتالا OLED أون نا بانتالا دي ميلتيبس بروسيتوس.

Instanciación de objeto

Después de Advertisar todas las librerías، en la línea 10 del código se likara un objeto SDD1306 que lo llamamos "display". Al Discarlo، debemos indicar cual es el pin de reset، en este caso el pin 4:

عرض SSD1306 (4) ؛

A partir de este punto، ya se crea un objeto tipo SSD1306، y podemos accesar a todas las funciones del objeto y luego un punto con la propiedad o función que deseamos. عاصي بور ejemplo las líneas 13 y 14 ،

display.begin (SSD1306_SWITCHCAPVCC ، 0x3c) ؛ display.clearDisplay () ،

La primera inicializa la pantalla y los argumentsos "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 likara una variable tipo entero llamada "CircleSize" y se inicializa en 1،

int دائرةالحجم = 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 Circle الحجم:

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 Circle الحجم إلى 2 unidades:

حجم الدائرة + = 2 ؛

Vean que acá utilizamos la notación "+ ="، este es una forma corta de escribir،

CircleSize = CircleSize + 2؛

que sería الضيقة 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 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 ()، permite dibujar líneas entre dos puntos، por ejemplo drawLine (0، 0، 10، 10)
  2. drawRect ()، es para dibujar rectángulos. ع. 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 الأمامي pero el rectángulo es relleno
  4. رسم دائرة(). 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 librería.