Arduino dibujando un árbol de Navidad (versión intensiva)

Arduino Dibujo Árbol De Navidad

En la Navidad del año pasado, mis amigos enviaron muchos árboles de Navidad y pyq está lleno de ellos.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Por supuesto, hay innumerables perros solos sentados frente a las coloridas pantallas de los teléfonos móviles, e
inserte la descripción de la imagen aquí
incluso algunos radicales son pioneros en la tala de árboles.

inserte la descripción de la imagen aquí
Ocurrió que la última gran tarea antes del final del período fue usar Arduino para llamar a la biblioteca Adafruit_GFX para dibujar, así que lo pensé en ese momento, dibujemos una versión simple del árbol de Navidad.

¡Volvamos al tema! ! !

Primero Adafruit_GFX
Adafruit_GFX es una potente biblioteca de gráficos que proporciona una sintaxis común y un conjunto de funciones gráficas para todas nuestras pantallas LCD y OLED. Esto nos permite convertir entre diferentes gráficos, así como formas simples o complejas. Incluso las funciones nuevas o las mejoras de rendimiento y la solución de problemas se pueden mostrar de inmediato en la pantalla de gráficos en color.

No se presentará cómo importar esta biblioteca en Arduino.

Luego agregamos un nuevo método a su archivo de biblioteca: dibujar un árbol de Navidad

Primero, vamos a su carpeta de biblioteca y encontramos estos dos archivos:
Adafruit_GFX.cpp y Adafruit_GFX.h
inserte la descripción de la imagen aquí
A continuación, declaramos un método global en el archivo Adafruit_GFX.h (después de llamar a la biblioteca Adafruit_GFX.h directamente en Arduino, puede usar este método directamente)
inserte la descripción de la imagen aquí
Luego, implementamos este método en Adafruit_GFX.cpp:

//Draw a tree
void Adafruit_GFX::drawTree(uint16_t color){
	int a1_x = 64;
	int a1_y = 4;
	int b1_x = 60;
	int b1_y = 8;
	int c1_x = 68;
	int c1_y = 8;
	drawLine(a1_x , a1_y , b1_x, b1_y, color);
	drawLine(a1_x , a1_y , c1_x, c1_y, color);
	drawLine(b1_x , b1_y , c1_x, c1_y, color);
	int a2_x = 64;
	int a2_y = 8;
	int b2_x = 56;
	int b2_y = 16;
	int c2_x = 72;
	int c2_y = 16;
	drawLine(a2_x , a2_y , b2_x, b2_y, color);
	drawLine(a2_x , a2_y , c2_x, c2_y, color);
	drawLine(b2_x , b2_y , c2_x, c2_y, color);
	int a3_x = 64;
	int a3_y = 16;
	int b3_x = 50;
	int b3_y = 26;
	int c3_x = 78;
	int c3_y = 26;
	drawLine(a3_x , a3_y , b3_x, b3_y, color);
	drawLine(a3_x , a3_y , c3_x, c3_y, color);
	drawLine(b3_x , b3_y , c3_x, c3_y, color);
	int a4_x = 64;
	int a4_y = 26;
	int b4_x = 44;
	int b4_y = 40;
	int c4_x = 84;
	int c4_y = 40;
	drawLine(a4_x , a4_y , b4_x, b4_y, color);
	drawLine(a4_x , a4_y , c4_x, c4_y, color);
	drawLine(b4_x , b4_y , c4_x, c4_y, color);
	
	int aa_x = 60;
	int aa_y = 40;
	int bb_x = 68;
	int bb_y = 40;
	int cc_x = 60;
	int cc_y = 50;
	int dd_x = 68;
	int dd_y = 50;
	drawLine(aa_x , aa_y , cc_x, cc_y, color);
	drawLine(bb_x , bb_y , dd_x, dd_y, color);
	drawLine(cc_x , cc_y , dd_x, dd_y, color);	
}

El árbol de Navidad es una combinación de triángulos y rectángulos, donde (a_x, a_y), (b_x, b_y), (c_x, c_y) son las coordenadas de los tres puntos del triángulo, y aa, bb, cc, dd son las coordenadas del rectángulo inferior.
Finalmente llame a la implementación en Arduino:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH  128
#define SCREEN_HEIGHT 64
#define OLED_MOSI     11
#define OLED_CLK      13
#define OLED_DC        9
#define OLED_CS       10
#define OLED_RESET     8
Adafruit_SSD1306 ssd(SCREEN_WIDTH, SCREEN_HEIGHT,
  OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);


void setup() {
  if(!ssd.begin(SSD1306_SWITCHCAPVCC)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
}

void loop() {
  ssd.clearDisplay();
  //画圣诞树
  ssd.drawTree(SSD1306_WHITE);
  ssd.display();
  delay(2000);
}

La pantalla OLED en este momento es la siguiente:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Aquí me tomé unos minutos para dibujar un árbol de Navidad que se puede ver como un árbol jajaja, por supuesto, puedes dedicar un poco de tiempo para lograr un árbol de Navidad más bonito y elegante.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ws15168689087/article/details/123242171
Recomendado
Clasificación