El WT32-SC01 es una pantalla muy potente que se puede utilizar para diversas aplicaciones. Esta amplia pantalla también está equipada con una pantalla táctil. Su alto brillo lo hace ideal para realizar proyectos en varios campos y tiene un gran potencial para los entusiastas. La pantalla también se puede ver desde diferentes ángulos. El propósito principal de este artículo es ayudarlo a comenzar con el sistema de desarrollo WT32-SC01. Muchos proyectos más útiles y sofisticados se publicarán después de este artículo.
Tabla de contenido
Descripción general de la placa de desarrollo
WT32-SC01 es una placa de desarrollo con una pantalla táctil visual (consulte la Figura 1). La placa admite la programación gráfica de arrastrar y soltar para ayudar a los usuarios sin experiencia a desarrollar sus soluciones. El controlador principal de la placa consiste en un módulo ESP32-wrover-b, Wi-Fi + Bluetooth + Bluetooth Low Energy (LE) MCU, 4 MB SPI Flash y 8 MB PSRAM. La placa también puede depurar botones, audio y cámara a través de interfaces de expansión en ambos lados, lo que facilita el desarrollo. El tablero mide 58 x 91 mm y tiene cuatro orificios de ubicación con un diámetro de 4,05 mm. El sistema de desarrollo consta de una pantalla LCD de 3,5 pulgadas con una resolución de 320 x 480 píxeles y un touchpad capacitivo. Esp32-wrever-b MCU es un módulo Wi-Fi + Bluetooth + Bluetooth LE para todo tipo de aplicaciones. Se puede utilizar en redes de sensores de baja potencia y aplicaciones críticas. Tiene 8 MB de PSRAM y 4 MB de Flash. La interfaz del panel táctil es capacitiva sobre I2C. Se utiliza una interfaz USB-C universal para alimentar la placa de desarrollo y permitir la comunicación UART y la descarga de firmware. El hardware del circuito implementa el control de flujo de datos. El indicador de encendido (LED rojo en la placa) se enciende cuando se conecta el cable USB. Esta tarjeta admite alimentación USB tipo C de 5 V. La corriente no debe ser inferior a 1 A si no se inserta otra placa de expansión. De lo contrario, se recomienda una corriente de 2 A. Algunas de sus características principales se enumeran a continuación.
- Pantalla: pantalla LCD de 3,5 pulgadas
- Resolución: 320 x 480 píxeles
- SOC: módulo ESP32-WROVER-B
- CPU: MCU Xtensa LX6 de 32 bits de doble núcleo
- Wi-Fi: protocolo Wi-Fi 802.11b/g/n de 2,4 GHz
- Bluetooth: compatible con V4.2BR/EDR y estándares de Bluetooth de baja potencia
- Expansión: 2 almohadillas de E/S de 40 pines con GPIO, I2C, VN/VP, I2S, UART, 5 V, 3,3 V, GND
- Fuente de alimentación: CC 5 V/2 A.
- Temperatura de funcionamiento: -20 °C a 85 °C
- Tamaño: 91 × 58 mm
Cómo programar WT32-SC01
El módulo WT32-SC01 se puede programar de varias formas. Los principales implican el uso del entorno Arduino IDE y la programación de gráficos de bloques, especialmente adecuados para aquellos que son nuevos en las técnicas de programación. En este artículo, el firmware se basa en la última metodología. El controlador de administración COMn/USB debe estar instalado o actualizado para que la pantalla funcione. Descargue la última versión del controlador CP210x USB to UART Bridge VCP para su sistema operativo (Windows o macOS). El entorno de programación es online, por lo que puedes acceder a él sin necesidad de instalar ningún software en tu PC (actualmente) aquí.
Después de registrarse e iniciar sesión en el sitio gratuito, presione el botón “Workbench”, que a menudo se encuentra en la esquina superior derecha. Le da la opción de crear un nuevo proyecto y muestra todos los proyectos activos. Al iniciar un nuevo proyecto, debe hacer lo siguiente:
- Seleccione MCU ESP32.
- Escriba un título para su aplicación.
- Especifique el hardware a usar, en este caso Esp32_WT32-SC01 (horizontal o vertical).
- Seleccione un tema para su aplicación (Predeterminado, Ligero, Material, Alien, Zen, Nemo, Mono).
- Escribe una descripción de tu proyecto.
- Agregar etiquetas.
Después de la confirmación, se abre la pantalla del editor de la aplicación, como se muestra en la Figura 2. Aquí puede agregar y programar todos los controles de su proyecto, como botones, imágenes, controles deslizantes, texto, etc. Diferentes colores también pueden crear diferentes pantallas. El entorno del editor es muy simple y fácil de usar, lo que permite a los usuarios crear fácilmente aplicaciones en minutos y proporcionar diferentes tipos de controles en la pantalla.
Crear un proyecto con Pantalla WT32-SC01
El proyecto es muy simple, usando solo la pantalla y la pantalla táctil. Esto tiene como objetivo familiarizarlo con el sistema para crear soluciones mucho más complejas en el futuro. En realidad, la pantalla debería mostrar una ventana con tres botones y tres LED. Los botones están etiquetados como “rojo”, “amarillo” y “verde” respectivamente. Al pulsar el botón rojo se enciende el diodo LED rojo. Al presionar el botón amarillo, se enciende el diodo LED amarillo. Presione el botón verde para encender el diodo LED verde. Es un semáforo real. La pantalla también muestra imágenes prediseñadas de semáforos, lo que demuestra las posibilidades gráficas del sistema. De hecho, puedes incluir cualquier tipo de imagen o foto. Los tres botones también tienen otro propósito. Al presionar cualquier botón durante más de medio segundo, se restablece el semáforo y se encienden todos los LED. Este proyecto se basa en escribir código utilizando bloques gráficos (Blockly). La Figura 3 muestra la codificación, que en realidad es muy legible y fácil para los no expertos. Cada botón contiene un bloque gráfico específico. Se proporcionan dos acciones:
- Una pulsación corta enciende un diodo LED específico y apaga los otros dos.
- Una pulsación prolongada restablece el flujo de firmware e ilumina todos los LED.
Este es un proyecto muy simple pero muy didáctico. Los bloques gráficos como el botón rojo se basan en la siguiente jerarquía de métodos y acciones.
- hacer clic
- Establezca el LED rojo en verdadero
- Establezca el LED amarillo en falso
- Establezca el LED verde en falso
- clic largo
- Establezca el LED rojo en verdadero
- Establezca LED amarillo en verdadero
- Establezca LED verde en verdadero
Después de preparar todos los elementos gráficos en el editor y programar varios eventos,[コンパイル]del menú[コンパイル]Puede acceder al elemento y compilar el proyecto. Si no hay errores en este paso, llevará varios minutos generar el archivo binario. por último,[コンパイル]del menú[ダウンロード ビン]Puede acceder al elemento y descargar el archivo binario del proyecto a su PC. Este es un archivo ZIP que extrae solo los archivos más grandes (generalmente su nombre es “qmsd-demo.bin”). Después de descargar el archivo binario, debe cargarlo en el dispositivo WT32-SC01 ESP32. Para ello existen varias soluciones. Las operaciones se enumeran a continuación en orden descendente de dificultad.
- ESPHome-Flasher
- flash_download_herramienta
- esptool.exe
Para los ejemplos de este artículo, elegí usar el primero. Esto se debe a que es muy fácil de usar y gran parte de la configuración está automatizada. La figura 4 muestra una sesión de carga de firmware utilizando el software ESPHome-Flasher descargable gratuitamente desde Internet. Antes de cargar el firmware, debe especificar el puerto COM virtual al que está conectado el WT32-SC01 y el archivo binario para cargar. Finalmente, puede presionar el botón “Flash ESP”. La programación de la MCU lleva unos segundos. Le recomendamos que lea detenidamente los mensajes de registro generados por el software.
La ejecución comenzará inmediatamente, reproduciendo en pantalla el proyecto exacto creado en el editor y su flujo funcional. En la Figura 5, puede observar el proyecto en el editor en línea y ver el prototipo final en acción.
Tenga en cuenta que todo el proyecto ha sido traducido y convertido en código fuente real y está disponible gratuitamente.
#define BLOCKLY_button_red_EVENT_HANDLER
void __qmsd_button_red_cb(lv_obj_t* obj,lv_event_t event);
#define BLOCKLY_button_yellow_EVENT_HANDLER
void __qmsd_button_yellow_cb(lv_obj_t* obj,lv_event_t event);
#define BLOCKLY_button_green_EVENT_HANDLER
void __qmsd_button_green_cb(lv_obj_t* obj,lv_event_t event);
void __qmsd_button_red_cb(lv_obj_t * obj, lv_event_t evento) {
if(evento == LV_EVENT_SHORT_CLICKED) {
lv_led_on(led_rojo);
lv_led_off(led_amarillo);
lv_led_off(led_verde);
} de lo contrario (evento == LV_EVENT_LONG_PRESSED||event == LV_EVENT_LONG_PRESSED_REPEAT) {
lv_led_on(led_rojo);
lv_led_on(led_verde);
lv_led_on(led_amarillo);
}
}
void __qmsd_button_yellow_cb(lv_obj_t * obj, lv_event_t evento) {
if(evento == LV_EVENT_SHORT_CLICKED) {
lv_led_on(led_amarillo);
lv_led_off(led_rojo);
lv_led_off(led_verde);
} de lo contrario (evento == LV_EVENT_LONG_PRESSED||event == LV_EVENT_LONG_PRESSED_REPEAT) {
lv_led_on(led_rojo);
lv_led_on(led_verde);
lv_led_on(led_amarillo);
}
}
void __qmsd_button_green_cb(lv_obj_t * obj, lv_event_t evento) {
if(evento == LV_EVENT_SHORT_CLICKED) {
lv_led_on(led_verde);
lv_led_off(led_rojo);
lv_led_off(led_amarillo);
} de lo contrario (evento == LV_EVENT_LONG_PRESSED||event == LV_EVENT_LONG_PRESSED_REPEAT) {
lv_led_on(led_rojo);
lv_led_on(led_verde);
lv_led_on(led_amarillo);
}
}
Conclusión
Es importante recalcar que puedes exportar tu aplicación y guardarla en tu computadora. Esta es una excelente manera de evitar depender únicamente de una conexión a Internet y mantener su trabajo disponible en todo momento. A continuación, puede importar sus propios proyectos. Por supuesto, puede extender el proyecto para cumplir con sus requisitos específicos. Por ejemplo, un GPIO se puede controlar conectándolo a un diodo LED real o a una bombilla a través de un sistema de activación de energía adecuado. Los desarrolladores pueden elegir el lenguaje de programación con el que están más familiarizados para crear la mejor versión de su proyecto.