สารบัญ:

C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos: 4 Steps
C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos: 4 Steps

วีดีโอ: C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos: 4 Steps

วีดีโอ: C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos: 4 Steps
วีดีโอ: Introducción a programación en C/C++ para arduino || Salidas digitales. 2024, กรกฎาคม
Anonim
C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos
C/C++ สำหรับ Arduino: Uso De Librerías Y Objetos

Las posibilidades de Arduino se puede extender ใช้งานไลบรารี่ Las librerias ได้รับการพิสูจน์แล้วว่าเป็น funcionalidad พิเศษ, en este ที่สอนได้, ใช้งานได้จริงกับ OLED ใช้งานได้จริง 3 ไลบรารี่, ไม่ใช้สำหรับ conexión ดิจิตอล I2C, ใช้งานได้หลากหลายประเภท OLED, และใช้งานได้หลากหลาย

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 variable (ตามต้องการ decirlo) que tiene propiedades และ funciones propias Usándolo quedará más claro.

Para incorporar una librí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 < nombreLibreria.h >

Esto lo veremos en detalle en este Instructable

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ
วัสดุ
วัสดุ

Los materiales ลูกชาย pocos:

  1. Arduino UNO
  2. Pantalla OLED (ในคอสตาริกา)
  3. สายเคเบิล
  4. เบรียบอร์ด

ขั้นตอนที่ 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

จอแสดงผล El OLED ที่เชื่อมต่อ como se indica en las fotos:

  1. OLED vcc - Arduino 3.3V (aunque esta conexión ไม่มี hace falta)
  2. OLED gnd - Arduino GND
  3. OLED cs - Arduino GND
  4. ความละเอียด OLED - ขา Arduino 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (พิน A4, o el พิน SDA)
  7. OLED scl - Arduino SCL (พิน A5, o el พิน 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 สำคัญ 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 liberías

En este proyecto se utilizan Varias liberí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 ห้องสมุด en las líneas 4 a 6:

#รวม

#รวม

#รวม

ห้องสมุด Wire.h, es una libría nativa, es decir, viene como parte del paquete de Arduino IDE y no hay que instalar nada adicional. Por otro lado, las librerias Adafruit_GFX.h y Adafruit_SSD1306.h, การติดตั้ง พาร์ติดตั้ง, เล่นเกมออนไลน์โดย Adafruit GFX y Adafruit SDD1306, และคำแนะนำอื่นๆ

Librería Wire.h

Esta libreria อนุญาต comunicación I2C. El acrónimo I2C, viene de Inter-Integrated Communication, และอนุญาติการสื่อสาร digital del arduino que es "master" กับเซ็นเซอร์ต่างๆ o ส่วนประกอบดิจิทัลในรูปแบบพร้อมกัน การใช้งานทั้งหมดสำหรับ SDA และ SCL และ Arduino สำหรับการเชื่อมต่อ OLED En este sitio sparkfun explica bien que es I2C. ไฟล์แนบ Para que funcione entnces la pantalla se necesita primero cargar esa libreria

Librería Adafruit_SDD1306.h

Esta libreria อนุญาตให้ใช้ conectar และ hacer funcionar la pantalla OLED ผ่าน Arduino AL usarla, creamos un objeto SDD1306 que nos permite utilizar la pantalla fácilmente, eso lo veremos en la siguiente sección. การใช้งาน:

Librería Adafruit_GFX.h

Esta librería nos allowe บล็อก figuras geométricas, escribir textos y utilizar todas las posibilidades gráficas de la pantalla OLED. Al final de este สอนได้ 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 ข้อเสนอ

อินสแตนซ์ของ 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". อัลประกาศ, 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, and podemos accesar a todas las funciones del objeto escribiendo el identificador del objeto y luego un punto con la propiedad o función que deseamos. จากตัวอย่าง las líneas 13 y 14, display.begin(SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay();

เริ่มต้นจากปัญหา la pantalla และ 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 ac hay que usar). ลา línea display.clearDisplay(), lo que hace es limpiar cualquier cosa que esté mostrando la pantalla

ดีบูจันโด อัลโก

En la línea 8, se ประกาศ una ตัวแปร 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.

เดอลาสลิเนียส 19 และ 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, ขนาดวงกลม, สีขาว);display.display();

คำสั่งสอน 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, CircleSize=circleSize + 2;

Que seríaแน่นอน lo mismo.

ใช่แล้ว สิ่งที่ต้องทำ

ขั้นตอนที่ 4: Funcionando Y Adicionales

Image
Image

Cargar el código en el Arduino และรายการ Verán un círculo que se dibuja con radio creciente. การแปล

Librería Adafruit_GFX.h

Esta libría tiene una serie de comandos para dibujar en la pantalla. ถ่ายทอดสด En este sitio de adafruit, algunas de sus funciones อธิบาย Acá voy a mencionar algunas para que jueguen con el código:

  1. drawLine(), อนุญาติให้เข้าร่วม entre dos puntos, จากตัวอย่าง 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 สีบลังโก
  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, hay que utilizar varios comandos. Primero localizarlo กับ setCursor(), ดูที่ escriben con println()

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