ዝርዝር ሁኔታ:

ሲ/ሲ ++ ኤን አርዱዲኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ 4 ደረጃዎች
ሲ/ሲ ++ ኤን አርዱዲኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ 4 ደረጃዎች

ቪዲዮ: ሲ/ሲ ++ ኤን አርዱዲኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ 4 ደረጃዎች

ቪዲዮ: ሲ/ሲ ++ ኤን አርዱዲኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ 4 ደረጃዎች
ቪዲዮ: tiktok video's ምስ 30 ሰቡኡት ድቂስኪ ሲ ጓልካ ኢያ ትብሊ፣ ዲ.ኤን. ኤ ይፍረደና 2024, ህዳር
Anonim
ሲ/ሲ ++ ኤን አርዱinoኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ
ሲ/ሲ ++ ኤን አርዱinoኖ ኡሶ ደ ሊብሪያስ ያ ኦብጄቶስ

የላስ posibilidades de Arduino se puede extender usando librerías. የላስ librerías proveen funcionalidad extra, en este instructable, para poder utilizar una pantalla OLED. በዚህ ረገድ 3 ሊብሬሪያስ ፣ una para conexión digital I2C ፣ otra para utilizar la pantalla OLED ፣ y la tercera para crear gráficos en la pantalla.

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 (por así decirlo) que tiene propiedades y funciones propias. Usándolo quedará más claro.

ፓራ ኢንፓራአርአር አል አልቢኔ ዴ አርዱinoኖ አይዲኢ ፣ 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 #ያካተተ:

#ያካትቱ <nombreLibreria.h>

Esto lo veremos en detalle en este instructable

ደረጃ 1: Materiales

ማቴሪያሎች
ማቴሪያሎች
ማቴሪያሎች
ማቴሪያሎች

የሎስ materiales ልጅ pocos:

  1. አርዱዲኖ UNO
  2. ፓንታላ ኦሌድ (በኮስታ ሪካ)
  3. ኬብሎች
  4. የማሳያ ሰሌዳ

ደረጃ 2: Conexiones

ኮኔክሲዮኖች
ኮኔክሲዮኖች
ኮኔክሲዮኖች
ኮኔክሲዮኖች
ኮኔክሲዮኖች
ኮኔክሲዮኖች

ኤል OLED ማሳያ እንደ conecta como se indica en las fotos:

  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 pin 4
  5. OLED c/s - Arduino GND
  6. OLED sda - Arduino SDA (ፒን A4 ፣ ወይም ኤል ፒን ኤስዲኤ)
  7. OLED scl - Arduino SCL (pin A5 ፣ el el 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

ደረጃ 3: Código Y Uso De Librerías

ኮዲጎ ኢ ኡሶ ዴ ሊብረሪያስ
ኮዲጎ ኢ ኡሶ ዴ ሊብረሪያስ

ካርጋር librerías

በዚህ ጉዳይ ላይ ልዩ ልዩ ጽሑፎችን ይጠቀሙ። Como se indicó anteriormente y se ve en la fotografía, las librerías se incorran al inicio del código. En esta caso se agregan 3 librerías en las líneas 4 a 6:

#ያካትቱ

#ያካትቱ

#ያካትቱ

ላ 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። ፓር instalarlas ፣ solamente descargarlas de Adafruit GFX እና Adafruit SDD1306 ፣ y seguir las instrucciones acá።

Librería Wire.h

Esta librería permite comunicación I2C. El acrónimo I2C ፣ viene de Inter-Integrated Communication, y permite la communicación digital del arduino que es “master” con varios sensores o componentses digitales de forma simultánea. De allí que utilizamos los pines SDA y SCL en el Arduino para conectar con la pantalla 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. ሰ

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. Al final de este instructable 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 propósitos.

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

እንደ ሁኔታው ፣ እንደ ኤስኤስዲ1306 ፣ እንደ ፖድሞስ ኤክስሴር ኤንድ ኤስ ላስ ፋሲዮን ዴል objeto escribiendo el identificador del objeto y luego un punto con la propiedad o función que deseamos. Así por ejemplo las líneas 13 y 14, display.begin (SSD1306_SWITCHCAPVCC, 0x3c); display.clearDisplay ();

ላ ፕራራ ኢንሲሊዛ ላ ፓንታላ y ሎስ ክርክር "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á). ላ línea display.clearDisplay (), lo que hace es limpiar cualquier cosa que esté mostrando la pantalla.

ዲቡጃንዶ አልጎ

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.

ደ ላስ 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 ሬዲዮ ክበብ መጠን

display.drawCircle (64 ፣ 32 ፣ ክብ መጠን ፣ ነጭ) ፤ ማሳያ።

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

የሉጎጎ ጭማሪ ክበብ መጠን በ 2 unidades:

ክበብ መጠን+= 2;

Vean que acá utilizamos la notación "+=", በዚህ ጉዳይ ላይ ማብራሪያ ፣

ክበብ መጠን = ክብ መጠን + 2;

Que sería exactamente lo mismo.

ኢስ es 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

ኢስታ librería tiene una serie de comandos para dibujar en la pantalla. እንደአስፈላጊነቱ ፣ ማብራሪያውን ያብራራል። Acca 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። p.e. drawRect (10 ፣ 15 ፣ 10 ፣ 10 ፣ WHITE) ፣ ዲዩጃ አንድ ሬሲንጉሎ እና ፖሲሲዮን x = 10 y y = 15 ፣ ደ ታማሞ 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 () ፣ hase lo mismo pero relleno
  5. drawTrangle ()። Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
  6. ፓራ ቴክቶስ ፣ 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.