Оглавление:

C / C ++ En Arduino: Использование библиотеки Y Objetos: 4 шага
C / C ++ En Arduino: Использование библиотеки Y Objetos: 4 шага

Видео: C / C ++ En Arduino: Использование библиотеки Y Objetos: 4 шага

Видео: C / C ++ En Arduino: Использование библиотеки Y Objetos: 4 шага
Видео: #4 Программирование на C/C++ в среде Arduino. Делаем Термостат. 2024, Ноябрь
Anonim
C / C ++ En Arduino: использование ресурсов и объектов
C / C ++ En Arduino: использование ресурсов и объектов

Las posibilidades de Arduino se puede extender usando librerías. Las librerías Proen Funcionalidad extra, en este tectable, para poder utilizar una pantalla OLED. Вы можете использовать 3 библиотеки, подключенные к цифровому I2C, или использовать OLED-технологии, а также создавать графические изображения на прозрачной основе.

Una de las librerías nos permite create un objeto tipo pantalla, con la cual podemos controlar la pantalla OLED en nuestro código. Объект на C ++ (C ориентирован на объекты) - это большая структура переменной (por así decirlo), которая пропиедадес и функции пропиас. Usándolo quedará más clas.

Для включения свободной библиотеки в среду разработки 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: Materiales

Materiales
Materiales
Materiales
Materiales

Los materiales son pocos:

  1. Arduino UNO
  2. Pantalla OLED (en Коста-Рика)
  3. Кабели
  4. Накладка

Шаг 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

OLED-дисплей, как показано на фотографиях:

  1. OLED vcc - Arduino 3,3 В (не работает без помех)
  2. OLED gnd - Arduino GND
  3. OLED cs - Arduino GND
  4. OLED res - вывод 4 Arduino
  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 seve en la fotografía, las librerías se Included al inicio del código. En esta caso segotigan 3 librerías en las líneas 4 a 6:

#включают

#включают

#включают

La librería Wire.h, является естественной библиотекой, 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. Акронимо I2C, интерфейс Inter-Integrated Communication, позволяет использовать цифровую коммуникацию для Arduino, которая является «главным» с различными сенсорами или цифровыми компонентами одновременной формы. Все они используют сосны SDA и SCL на Arduino для подключения к 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 permite 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 y utilizar todas las posibilidades gráficas de la pantalla OLED. В конце концов, можно проинструктировать его список алгоритмов функций, которые можно использовать с установленной библиотекой, и преобразовать ее в OLED-экран в одно целое с множеством свойств.

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 ();

Пример инициализации панталлы и аргументов "SSD1306_SWITCHCAPVCC" и "0x3c", является сыном, который используется для этой модели панталлы OLED (используется для других цветов, перо эль-фабиканте, что указывает на то, что сено, что используется). La línea display.clearDisplay (), lo que hace es limpiar cualquier cosa que esté mostrando la pantalla.

Dibujando алгоритм

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 circle Размер:

display.drawCircle (64, 32, circleSize, БЕЛЫЙ); display.display ();

La Instrucción display.display () lo que hace es dibujar el círculo que indicamos 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 = размер круга + 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 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 (), разрешить dibujar líneas entre dos puntos, por ejemplo drawLine (0, 0, 10, 10)
  2. drawRect (), если вы используете прямоугольник. p.e. drawRect (10, 15, 10, 10, БЕЛЫЙ), 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. Пример локализации с setCursor (), нужно написать с println ().

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