Სარჩევი:

C/C ++ Arduino: Uso De Librerías Y Objetos: 4 ნაბიჯი
C/C ++ Arduino: Uso De Librerías Y Objetos: 4 ნაბიჯი

ვიდეო: C/C ++ Arduino: Uso De Librerías Y Objetos: 4 ნაბიჯი

ვიდეო: C/C ++ Arduino: Uso De Librerías Y Objetos: 4 ნაბიჯი
ვიდეო: Tutorial: Uso de Visual Studio Code y PlatformIO para crear librerías con framework Arduino. 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 usando librerías. Li li prove prove prove prove,,,,,,,,,,,,,,,,,, გამოიყენეთ 3 უფასო, ციფრული I2C კავშირისთვის, OLED– ის პანელის გამოყენების სხვა საშუალებების გამოყენებით, ასევე აღჭურვილობის შექმნით.

Una de las librerías no 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), არის una estructura más grande que una variable (por así decirlo) que tiene propiedades y funciones propias. Usndolo quedará más claro.

Para inkrar 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:

#მოიცავს <nombreLibreria.h>

Esto lo veremos en detalle en este instructable

ნაბიჯი 1: მასალები

მასალები
მასალები
მასალები
მასალები

Los materiales son pocos:

  1. Arduino UNO
  2. Pantalla OLED (en კოსტა რიკა)
  3. კაბელები
  4. Brearboard

ნაბიჯი 2: კონექსიონები

კონექსიონები
კონექსიონები
კონექსიონები
კონექსიონები
კონექსიონები
კონექსიონები

El OLED დისპლეი ნაჩვენებია ფოტოებში:

  1. OLED vcc - Arduino 3.3V (aunque esta conexión no hace falta)
  2. OLED gnd - არდუინო GND
  3. OLED cs - Arduino GND
  4. OLED რეს - Arduino pin 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (pin A4, ან el pin SDA)
  7. OLED scl - Arduino SCL (pin A5, ან el pin SCL)

Tener cuidado de que el vcc se conecta a 3.3v. Ounque 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

ეს არის პროეექტო, რომელიც იყენებს თავისუფალ სახეობებს. Como se indicó anteriormente y se ve en la fotografía, las librerías se inkorpan al inicio del código. 3 esta caso se agregan 3 უფასოდ და las líneas 4 და 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. 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

ეს არის თავისუფალი permite comunicación I2C. El acrónimo I2C, viene de Inter-Integrated Communication, და ციფრული არდაკავშირების კომუნიკაციის საშუალება, რომელიც არის "ოსტატი" სხვადასხვა სახის სენსორების ან ციფრული ფორმის კომპონენტების გამოყენებით. ყველა გამოყენებადი pina SDA y SCL en Arduino para conectar con la pantalla OLED. ეს არის ნაპერწკალი, რომელიც ასახავს I2C- ს. Para que funcione entonces la pantalla se necesita primero cargar esa librería.

Librería Adafruit_SDD1306.h

Olad a través del Arduino– ს აქვს თავისუფალი conectar y hacer funcionar la pantalla. AL usarla, creamos un objeto SDD1306, რომელიც არ არის ნებადართული გამოიყენოთ 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 utilisar todas las posibilidades gráficas de la pantalla OLED. საბოლოო ჯამში, ეს არის სასწავლო ინსტრუქცია, რომელიც მოიცავს იმ ფუნქციებს, რომლებიც შეიძლება გამოყენებულ იქნას როგორც თავისუფალ, ასევე ტრანსფორმაციულ პანტერას OLED– ში, რომელიც მოიცავს სხვადასხვა პროპორციებს.

ობიექტური ინსტანცია

Después de deklarar todas las librerías, en la línea 10 del código se deklara un objeto de tipo SDD1306 que lo llamamos "display". ყველა დეკლარირებული, ეს არის მითითებული გადატვირთვისას, ეს არის pin 4:

SSD1306 ჩვენება (4);

ეს არის SSD1306, რომელიც შექმნილია იმისთვის, რომ შეასრულოს ის ფუნქციები, რომლებიც დაკავშირებულია სამუშაოსთან და ამოცანასთან ერთად, რათა აღწეროთ მისი იდენტიფიკატორი, რომელიც ემსახურება ობიექტურ მომსახურებას. Así por ejemplo las líneas 13 y 14, ჩვენება. დასაწყისი (SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay ();

La primra inicializa la pantalla y los argumentos "SSD1306_SWITCHCAPVCC" y "0x3c", son de la se que ეს არის მოდელი 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.

დიბუჯანდო ალღო

En la línea 8, se deklara una ცვლადი tipo entero llamada "circleSize" y se inicializa en 1, int circleSize = 1;

Esta la vamos გამოიყენებს დამატებით გაზრდას 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 წრე ზომა:

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

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

Luego incrementamos წრე ზომა და 2 უნიდადი:

წრე ზომა+= 2;

Vean que acá utilizamos la notación "+=", ეს არის 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 (), 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 ფერი 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 librería.