İçindekiler:

C/C++ En Arduino: Uso De Librerías Y Objetos: 4 Adım
C/C++ En Arduino: Uso De Librerías Y Objetos: 4 Adım

Video: C/C++ En Arduino: Uso De Librerías Y Objetos: 4 Adım

Video: C/C++ En Arduino: Uso De Librerías Y Objetos: 4 Adım
Video: Introducción a programación en C/C++ para arduino || Salidas digitales. 2024, Temmuz
Anonim
C/C++ En Arduino: Uso De Librerías Y Objetos
C/C++ En Arduino: Uso De Librerías Y Objetos

Arduino'nun en iyi olanakları, genişletici kullanımı ve kütüphaneleri. Las librerías, kanıtlanmış işlevsellik ekstra, en esteteğitilebilir, para poder una pantalla OLED. 3 kütüphaneden yararlanma, dijital I2C'yi kullanma, OLED'i kullanma, OLED'i kullanma, grafikleri en iyi şekilde kullanma.

OLED'i en son teknolojiler ile kontrol etmek için izin vermeme izinleri yoktur. C++ için nesnel olmayan (C orientado a objetos), temel yapısal olmayan bir değişkendir (así decirlo) que tiene propiedades ve funciones propias. Usándolo quedará más claro.

Arduino IDE'nin ortam kitapçığına dahil olma, Arduino'nun yönergelerini sağlama. Para kullanımı 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 öğretilebilir

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler

Los materyales oğlu pocos:

  1. Arduino UNO'su
  2. Pantalla OLED (en Kosta Rika)
  3. kablolar
  4. klozet tahtası

2. Adım: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

El OLED ekran, en son fotoğraflarda:

  1. OLED vcc - Arduino 3.3V (aunque esta conexion no hace falta)
  2. OLED gnd - Arduino GND
  3. OLED cs - Arduino GND
  4. OLED res - Arduino pin 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (pin A4, o el pin SDA)
  7. OLED scl - Arduino SCL (pin A5, o el pin SCL)

Tener cuidado de que el vcc se conecta a 3.3v. Aunque extrañamente, por lo meos para la OLED en la foto, pariciera no se önemli esta conexion

3. Adım: Código Y Uso De Librerías

Código Y Uso De Librerías
Código Y Uso De Librerías

Cargar kütüphaneleri

En este proyecto se utilizan varias librerí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 librerías en las líneas 4 ve 6:

#Dahil etmek

#Dahil etmek

#Dahil etmek

La librería Wire.h, es un librería nativa, es decir, viene como parte del paquete de Arduino IDE y hayır hay que instalar ve ek. Daha fazla bilgi için, en az Adafruit_GFX.h ve Adafruit_SSD1306.h, deben ser kurulumları. Adafruit GFX y Adafruit SDD1306, y seguir las ınstrucciones acá'nın en yükseği.

Kitapçı Wire.h

Esta librería, iletişim I2C'ye izin verir. El Acrónimo I2C, Inter-Integrated Communication, ve dijital iletişimin arduino kuyrularına izin verir ve "ana" bağlantı sensörleri veya bileşenlerin dijital de forma simultanea'sına izin verir. OLED ile Arduino için tüm SDA ve SCL'leri kullanır. En este sitio sparkfun açıklayıcı bien que es I2C. Para que funcione entonces la pantalla se necesita primero cargar esa librería.

Kitaplık Adafruit_SDD1306.h

Esta librería, OLED'in Arduino'ya seyahat etmesine izin verir. AL usarla, kremalar ve itirazlar SDD1306 sıraya girme izni, en uygun koşullarda, en özel durumlarda kullanılabilir.

Kütüphane Adafruit_GFX.h

OLED'in tüm olasılıklarına ilişkin izin verilen bilgiler, geometrik şekiller, metinler ve kullanımlar için izin verilir. En son ve en iyi şekilde öğretilebilir hale gelen tüm işlevler, tüm işlevleri yerine getirir.

Instanciación de objeto

Bildirimlerin açıklanması, bugüne kadarki en la librerías, en la linea 10 del Codigo se declara un objeto de tipo SDD1306 que lo llamamos "ekran". Al declararlo, debemos indicar cual es el pin de reset, en este caso el pin 4:

SSD1306 ekran(4);

Bir partir de este punto, SSD1306, nesnel bir nesne değil, en son işlevlere erişmeye ve nesnelere erişmeye ve nesneleri tanımlamaya izin verir. Así por ejemplo las líneas 13 y 14, display.begin(SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay();

"SSD1306_SWITCHCAPVCC" ve "0x3c", OLED'i en iyi şekilde değerlendirin La linea display.clearDisplay(), en basitinden emin olun.

Dibujando algosu

En la línea 8, se declara una değişken tipo entero llamada "circleSize" y se inicializa en 1, int daireBoyutu = 1;

Esta la vamos bir faydacı para artan 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 (BEYAZ) en la posición x = 62 y y=32, es decir, en la mitad de la pantalla, con radyo çemberiBoyut:

display.drawCircle(64, 32, daireSize, BEYAZ);display.display();

Enstrümental display.display(), her şeyi açıklar ve en iyi şekilde gösterir.

Luego artımlı daireSize en 2 unidades:

daireBoyutu+=2;

Vean que acá utilizamos la notación "+=", este es una forma corta de escribir, daireSize=daireSize + 2;

Que seria tamamente lo mismo.

Yapılacak iş.

Adım 4: Funcionando Y Ekleri

Image
Image

Cargar el código en el Arduino ve listo. Verán un círculo que se dibuja con radyo creciente.

Kütüphane Adafruit_GFX.h

Esta librería tiene, bir dizi 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(), farklı satırlara izin verme
  2. drawRect(), en iyi şekilde rectángulos. p.e. drawRect(10, 15, 10, 10, BEYAZ), 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. çizCircle(). Dibuja ve Círculo, como en el código que estamos utilizando. fillCircle(), tekrar tekrar
  5. drawTrangle(). Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
  6. Para textos, hay que uilizar 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.