Sadržaj:
- Korak 1: Materijali
- Korak 2: Conexiones
- Korak 3: Código Y Uso De Librerías
- Korak 4: Funcionando Y Adicionales
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Las posibilidades de Arduino je puede extender usando librerías. Las librerías proveen funcionalidad extra, en es instructable, para poder utilizar una pantalla OLED. Ako koristite 3 slobode, za paralelno povezivanje digitalnog I2C, ili za korištenje sa pantalla OLED -om, na terceri za crno -bijele grafike na lanac.
Una de las librerías no permite crear un objeto tipo pantalla, con la cual podemos controlor la pantalla OLED en nuestro codigo. 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.
Za uključivanje UN librería al ambiente de Arduino IDE, pročitajte upute o instrukcijama Arduina. 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 detale en este instructable
Korak 1: Materijali
Los materiales son pocos:
- Arduino UNO
- Pantalla OLED (u Kostariki)
- Cables
- Brearboard
Korak 2: Conexiones
OLED ekran se može povezati sa fotografijama:
- OLED vcc - Arduino 3.3V (aunque esta conexión no hace falta)
- OLED gnd - Arduino GND
- OLED cs - Arduino GND
- OLED res - Arduino pin 4
- OLED c/s - Arduino GND
- OLED sda - Arduino SDA (pin A4, ili pin pin SDA)
- OLED scl - Arduino SCL (pin A5, ili pin pin SCL)
Tener cuidado de que el vcc se priključuje na 3.3v. Aunque extrañamente, por lo menos para la OLED que está en la foto, pareciera no se importante esta conexión
Korak 3: Código Y Uso De Librerías
Cargar librerías
En este proyecto se utilizan varias librerías. Como se indicó anteriormente y se ve en la fotografía, las librerías se inkorporira al inicio del código. En esta caso se agregan 3 librerías en las líneas 4 a 6:
#include
#include
#include
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 nada. Por otro lado, las librerías Adafruit_GFX.h y Adafruit_SSD1306.h, deben ser instaladas. Za instalaciju, solamente preuzimanja Adafruit GFX i Adafruit SDD1306, i osigurajte instrukcije.
Librería Wire.h
Esta librería permite comunicación I2C. El acrónimo I2C, dostupan međuintegriranom komunikacijom, dopušta komunikaciju digitalnim arduino que es "master" s različitim senzorima o komponentama digitalne formate simultane. De allí que use lomos pines SDA y SCL en el Arduino para conectar con la pantalla OLED. En es 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 i través del Arduino. AL usarla, creamos un objeto SDD1306 que no permite utilizar la pantalla fácilmente, eso lo veremos en la siguiente sección.
Librería Adafruit_GFX.h
Esta librería no permite dibujar figuras geométricas, escribir textos y utilizar todas las posibilidades gráficas de la pantalla OLED. Na kraju, sve instrukcije koje su navedene na popisu algunas de las funciones koje se mogu koristiti korištenjem con librería y que transforman la pantalla OLED i unant patalla de múltiples propósitos.
Instanciación de objeto
Después declarar de todas las librerías, en la linea 10 del codigo deklarira i objeti tipo SDD1306 que lo llamamos "display". U svakom slučaju, debemos indikatorski kôd je poništen, pin 4:
SSD1306 ekran (4);
Part de este punto, a vi ste stvorili objekat tipo SSD1306, i podešavate pristup a todas las funciones del objeto escribiendo el identifikator del objeto y nluego un punto con la propiedad o funkciji que deseamos. 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 esteto modele de pantalla 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.
Dibujando algo
En la linea 8, koja je deklarirana kao varijabla tip entero llamada "circleSize" y početna vrijednost 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 pozición x = 62 y y = 32, es decir, en la mitad de la pantalla, s radio krugomVeličina:
display.drawCircle (64, 32, circleSize, BIJELO); display.display ();
La instrucción display.display () lo que hace es dibujar el círculo que indicamos en la pantalla.
Dodatni krug povećanja Veličina i 2 jedinice:
circleSize+= 2;
Vean que acá utilizamos la notación "+=", este es una forma corta de escribir, circleSize = circleSize + 2;
Que sería exactamente lo mismo.
Y esos es todo.
Korak 4: Funcionando Y Adicionales
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:
- drawLine (), dozvoli da pokreneš linkove za puntove, e -posao drawLine (0, 0, 10, 10)
- drawRect (), ako ste parametrirani. p.e. drawRect (10, 15, 10, 10, BIJELO), dibuja un rectángulo i pozicija x = 10 y y = 15, de tamaño 10 y boja blanco
- fillRect (). Es igual al anterior pero el rectángulo es relleno
- drawCircle (). dibuja un círculo, como en el código que estamos utilizando. fillCircle (), ako želite misliti o tome
- drawTrangle (). Dibuja triángulos, para ello hay que indicar tres puntos en la pantalla.
- Para textos, hay que utilizar varios comandos. Primarno lokalizirano sa setCursor (), luego je opisano sa println ().
Para ver las funciones en uso, pueden cargar el código de ejemplo que viene con la librería.