Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Por Seeed StudioSeeed Seguir más por el autor:
Acerca de: Hola, somos ingenieros de aplicaciones en Seeed. Compartir proyectos con la comunidad de creadores es increíble. Espero que les guste XD Seeed es el habilitador de hardware de IoT que brinda servicios que permiten a los desarrolladores de IoT rápidamente… Más sobre Seeed Studio »
Se acerca el día de San Valentín, ¿conoces a alguien que se enamoró a primera vista?
Paso 1: Cosas utilizadas en este proyecto
Componentes de hardware
- Seeeduino V4.2
- Escudo base V2
- Grove - Matriz de LED RGB con controlador
- Grove - Sensor de agua
Aplicaciones de software y servicios en línea
IDE de Arduino
Paso 2: Conexión de hardware
En este proyecto, usamos un sensor de agua para detectar agua, si hay agua, se mostrará un corazón latiendo en la Matriz de LED RGB.
Para lograr este efecto, debe conectar Grove - Water Sensor al puerto D2 en Base Shield, y también conectar Grove - RGB LED Matrix al puerto I2C en él. Luego conecte Base Shield a Seeeduino, tal como se muestra en la imagen de arriba.
Paso 3: Programación de software
Para usar la matriz de LED RGB en su programa, debe agregar su biblioteca a su IDE de Arduino. La biblioteca se puede descargar en
Seeed_RGB_LED_Matrix
Después de agregar la biblioteca, incluya el archivo de encabezado de la matriz en su código:
#include "grove_two_rgb_led_matrix.h"
Definir macros es un buen hábito, puede hacer que su código sea más fácil de leer o modificar. Por ejemplo, puede definir macros para indicar a qué puerto está conectado el sensor de agua o qué velocidad debe mostrar el corazón que late.
#define SENSOR_PIN 2
#define INTERVAL 500
Cuando todo esté hecho, declare una instancia de matriz para su uso posterior.
Matriz GroveTwoRGBLedMatrixClass;
Y haga clic aquí para obtener el editor de imágenes para crear sus propias imágenes. Al elegir el color en la barra de colores, hacer clic en los puntos en el área de dibujo para dibujar y presionar el botón Actualizar o Insertar en la parte inferior del área de dibujo, su imagen se convertirá en código y se mostrará en el cuadro de la derecha.
Mi imagen se ve a continuación. Puede copiar ese código que se muestra en su proyecto y luego mostrarlo en una matriz de LED RGB mediante la codificación.
El procedimiento setup () se ejecutará una vez cuando se inicie el programa, por lo que inicializamos la matriz y el pin del sensor de agua en él.
configuración vacía () {
Wire.begin (); pinMode (SENSR_PIN, ENTRADA); WAIT_MATRIX_READY (); }
El procedimiento loop () se ejecutará repetidamente, por lo que lo usamos para detectar si hay agua o no mediante el siguiente código:
if (digitalRead (SENSOR_PIN) == LOW) {
}
Cuando el sensor de agua emite BAJO, significa que hay agua, por lo que el corazón latiendo debe mostrarse en una matriz de LED RGB
for (uint8_t i = 0; i <EMOJI_COUNT (ejemplo); ++ i) {matrix.displayFrames (EMOJI (ejemplo, i), INTERVAL, false, 1); retraso (INTERVALO); }
El procedimiento de loop () completado se ve a continuación, y puede descargar el código completo al final de este artículo.
bucle vacío () {
if (digitalRead (SENSOR_PIN) == LOW) {for (uint8_t i = 0; i <EMOJI_COUNT (ejemplo); ++ i) {matrix.displayFrames (EMOJI (ejemplo, i), INTERVAL, false, 1); retraso (INTERVALO); }}}
Haga clic en el botón Cargar en Arduino IDE para cargar su programa en Seeeduino, e intente poner algo húmedo en el sensor de agua, vea qué sucede.
IMPORTANTE:
En esta versión de firmware de la matriz de LED RGB si quieres hacer tu propia imagen con el serial UNO necesitas modificar el archivo de arduino. Si usa mega o lotus, el cambio no será necesario.
Busque la carpeta de configuración de arduino Arduino / hardware / arduino / avr / libraries / Wire / src, abra el archivo Wire.h
cambio
#define BUFFER_LENGTH 32
dentro
#define BUFFER_LENGTH 128
Luego ubique la carpeta de configuración de arduino Arduino / hardware / arduino / avr / libraries / Wire / src / utility, abra el archivo twi.h.
cambio
#define TWI_BUFFER_LENGTH 32
dentro
#define TWI_BUFFER_LENGTH 128