INHOUDSOPGAWE:

C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 Stappe
C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 Stappe

Video: C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 Stappe

Video: C/C ++ En Arduino: Uso De Librerías Y Objetos: 4 Stappe
Video: Uso del controlador de motor paso a paso L298N Para controlar el motor paso a paso de 4 cables 2024, November
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. Ons kan ook ekstra funksies aanbied, maar ook 'n instruksionele funksie vir die gebruik van 'n OLED -paneel. Daar kan 3 biblioteke gebruik word, vir 'n digitale I2C, of vir 'n gebruik van OLED -pantoffels, sowel as vir 'n groot aantal grafiese items.

U kan die librerías nie deur 'n deurlopende paneel of met 'n nuwe paneel beheer nie. As ons 'n C ++ (C orientado a objetos) het, kan ons 'n groot struktuur hê wat 'n veranderlike (por así decirlo) is wat tiene propiedades en funciones propias bied. Ons kan meer duidelik wees.

Para incorporar una librería al ambiente de Arduino IDE, bevat 'n groot aantal instruksies van Arduino. Para usarla en una porción de código, dit kan ook in die eerste instansie gebruik word, insluitend:

#sluit <nombreLibreria.h> in

Esto lo veremos en detalle en este instructable

Stap 1: materiaal

Materiale
Materiale
Materiale
Materiale

Los materiales son pocos:

  1. Arduino UNO
  2. Pantalla OLED (in Costa Rica)
  3. Kabels
  4. Brearboard

Stap 2: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Die OLED -skerm kan 'n aanduiding van foto's en foto's gee:

  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 res - Arduino -pen 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (pen A4, o pin SDA)
  7. OLED scl - Arduino SCL (pen A5, of 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

Stap 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. As ons 'n vooraanstaande beeld het, kan ons 'n lys van foto's insluit. En esta caso se overeenkom 3 boekwoorde en las líneas 4 a 6:

#insluit

#insluit

#insluit

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, las librerías Adafruit_GFX.h y Adafruit_SSD1306.h, deben ser instaladas. Par instalarlas, solamente descargarlas de Adafruit GFX en Adafruit SDD1306, en u kan die instruksies ook aanskaf.

Librería Wire.h

Esta librería permite comunicación I2C. Die I2C, die inter-geïntegreerde kommunikasie, en die digitale kommunikasie van 'n "meester" is moontlik vir verskillende digitale komponente en gelyktydige vorme. Ons kan alle SDA en SCL -tegnologieë gebruik om die OLED -arduino te gebruik. 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 and hacer funcionar la pantalla OLED a través del Arduino. AL kan ons 'n SDD1306 -room gebruik, wat ons nie in staat sal stel om 'n langdurige gebruik te maak nie.

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 die uiteindelike instruksies kan 'n volledige lys van funksies bevat wat gebruik kan word in die vorm van 'n biblioteek en 'n transformasie van die OLED -paneel.

Instanciación de objeto

Ons kan 'n lys van 10 weergawes vir 'n volledige weergawe van SDD1306 sien. In die eerste instansie kan ons ook die PIN weergee:

SSD1306 -skerm (4);

Een van die belangrikste aspekte wat u vir SSD1306 kan gebruik, is 'n funksie wat u kan identifiseer en die funksies wat u benodig, kan beskryf. 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 display display.clearDisplay ().

Dibujando algo

En la line 8, se declara una variable tipo enteramo "circleSize" y se inicializa en 1, int circleSize = 1;

Ons kan ook gebruik maak van 'n inkrementar 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, with radio circleSize:

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

La instrucción display.display () wat u kan gebruik om aan te dui hoe dit in die paneel verskyn.

Luego inkrementamos sirkel Grootte en 2 eenhede:

sirkelgrootte+= 2;

Ons kan die notasie "+=" gebruik, sirkelgrootte = sirkelgrootte + 2;

Que sería exactamente lo mismo.

Y esos es todo.

Stap 4: Funcionando Y Adicionales

Image
Image

Cargar el código en el Arduino en listo. Veran un círculo que se dibuja with 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. Ons kan 'n menigte van die jongste met die volgende e -posse sien:

  1. drawLine (), maak dit moontlik om entre dos puntos toe te laat, soos deur drawLine (0, 0, 10, 10)
  2. drawRect (), is para dibujar rectángulos. p.e. drawRect (10, 15, 10, 10, WHITE), die regte posisies x = 10 y y = 15, die tamaño 10 y color blanco
  3. fillRect (). Es igual al anterior pero el rectángulo es relleno
  4. drawCircle (). Dit is 'n unieke manier om dit te gebruik. fillCircle (), maar dit is nie moontlik nie
  5. drawTrangle (). Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
  6. Vir tekste, kan ek verskillende variasies gebruik. Primero localizarlo con setCursor (), kan beskryf word met druk ().

Para ver las funciones en uso, bevat baie items wat ons in die biblioteek kan gebruik.