Projekt HOMEControl Teil 2 Die Zentrale - AZ-Delivery

La oficina central utiliza una placa de desarrollador ESP 32 que es compatible con Wi-Fi y Blue Tooth. Una pantalla TFT de 1,8 pulgadas con 128 x 160 píxeles se utiliza para la visualización, que también tiene un lector de tarjetas SD instalado. Por último, se utiliza un codificador giratorio con un interruptor para la entrada. En los siguientes posts ampliaremos este panel de control con un menú y con funciones de configuración. Este panel de control, por supuesto, también se puede utilizar como punto de partida para otras aplicaciones en las que se requieren pantalla, entrada y tarjeta SD.

Decidí conectar el panel de control firmemente y no sobre el tablero. Esto tiene la ventaja de una mayor estabilidad y permite que el panel de control se instale más adelante en una carcasa.

El panel de control terminado tiene este aspecto:

Lista de piezas utilizadas:

Plan de cableado:

¡¡Atención!!

Cambio importante en el puerto SW del codificador giratorio ahora está conectado a GPIO14 y el puerto SW a GPIO15. El cambio fue necesario porque GPIO0 y GPIO2 no deben utilizarse!

La atención del plan de cableado se refleja desde el lado de la pantalla del sándwich, es decir, la etiqueta de pasador para el ESP32!

El siguiente es el comienzo del programa. El logotipo se muestra en la pantalla y se inicializa el lector de tarjetas SD. Detecta si una tarjeta SD está en el lector y muestra el resultado en consecuencia.

El programa requiere dos bibliotecas:

La Biblioteca Adafruit GFX


y la Biblioteca Adafruit ST7735


 

 

#include "adafruit_gfx.h> Biblioteca de gráficos principal
#include "adafruit_st7735.h> Biblioteca específica de hardware
Integración de bibliotecas de fuentes
#include <Fonts/FreeSans9pt7b.h> Fuente para el logotipo
#include <Fonts/FreeSansBold9pt7b.h> Fuente para el logotipo

#include "spi.h><SPI.h>
#include sd.h><SD.h>

Definición de pines utilizados
#define TFT_CS 5 Línea de selección de chip para la pantalla TFT
#define TFT_RST 22 Línea de reinicio para TFT
#define TFT_DC 21 Línea de datos/comandos para TFT

#define SD_CS 16 Línea de selección de chip para tarjeta SD


tft instancia
Adafruit_ST7735 tft - Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_RST);

Función para mostrar texto en la pantalla en un color específico
void displayText(char *text , uint16_t color)
tft.setTextColor(color);
tft.setTextWrap(true); se activa el salto de línea automático
tft.print(texto);
}

Función para mostrar texto en cualquier punto (x,y) en
Monitor. El color se puede seleccionar
void displayText(uint16_t x, uint16_t y, char *text, uint16_t color)
tft.setCursor(x, y);
displayText(text,color);
}

Función para mostrar el logotipo en la parte superior de la pantalla
void displayLogo()
Relleno de fondo
tft.fillRect(0.0,127.30.ST7735_YELLOW);
Marcos de dibujo
tft.drawRect(1,1,125,28,ST7735_BLUE);
Fuente para la palabra HOME bold
tft.setFont(&FreeSansBold9pt7b);
Colocación de cursores
tft.setCursor(7,20);
Texto de salida en negro
tft.setTextColor(ST7735_BLACK);
tft.print("HOME");
Fuente para la palabra control no negrita
tft.setFont(&FreeSans9pt7b);
Texto de salida en rojo
tft.setTextColor(ST7735_RED);
tft.print("Control");
Restablecer la fuente por defecto
tft.setFont(NULL);
}

configuración del vacío()
Serial.begin(115200);
tft inicializar y fondo negro
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST7735_BLACK);
Mostrar logotipo
displayLogo();
Inicializar la tarjeta SD y ver el resultado
si (! SD.begin(SD_CS))
displayText(20,60,"No SD-Card",ST7735_YELLOW);
• de lo contrario
displayText(20,60,"SD-Card OK",ST7735_GREEN);
}

}

void loop()
}

 

DisplaysEsp-32Projekte für fortgeschritteneSmart home

3 comentarios

Andreas Wolter

Andreas Wolter

Der Schaltplan wurde ausgetauscht.
Grüße.

Volker

Volker

Hallo,

vielen Dank für die Anleitung.
Könnt ihr bitte die Grafiken so einstellen, dass die Schrift lesbar ist.
Das wäre sehr hilfreich.
Danke :)
Volker

Frank

Frank

Hallo Herr Lechner,
können Sie bitte den Verdrahtungsplan so darstellen das man die Pinnummern lesen kann,
mein ESP32 hat eine etwas andere Belegung ,deshalb kann ich mich nicht nach den Verbindungslinien
richten.
mit freundlichen Grüßen
Frank

Deja un comentario

Todos los comentarios son moderados antes de ser publicados