Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Von Seeed StudioSeeed Follow More vom Autor:
Über: Hallo, wir sind Anwendungstechniker bei Seeed. Das Teilen von Projekten mit der Maker-Community ist großartig. Ich hoffe, es gefällt Ihnen XD Seeed ist der IoT-Hardware-Enabler, der Dienste bereitstellt, die es IoT-Entwicklern ermöglichen, schnell … Mehr über Seeed Studio »
Valentinstag steht vor der Tür, triffst du jemanden, der sich auf den ersten Blick verliebt hat?
Schritt 1: Dinge, die in diesem Projekt verwendet werden
Hardware-Komponenten
- Seeeduino V4.2
- Basisschild V2
- Grove - RGB-LED-Matrix mit Treiber
- Grove - Wassersensor
Software-Apps und Online-Dienste
Arduino-IDE
Schritt 2: Hardwareverbindung
In diesem Projekt verwenden wir einen Wassersensor, um Wasser zu erkennen. Wenn Wasser vorhanden ist, wird ein schlagendes Herz in einer RGB-LED-Matrix angezeigt.
Um diesen Effekt zu erzielen, müssen Sie Grove - Water Sensor an den D2-Port im Base Shield und auch Grove - RGB LED Matrix an den I2C-Port anschließen. Dann Base Shield an Seeeduino anschließen, genau wie im Bild oben.
Schritt 3: Softwareprogrammierung
Um die RGB-LED-Matrix in Ihrem Programm zu verwenden, müssen Sie ihre Bibliothek zu Ihrer Arduino IDE hinzufügen. Die Bibliothek kann heruntergeladen werden in
Seeed_RGB_LED_Matrix
Fügen Sie nach dem Hinzufügen der Bibliothek die Header-Datei der Matrix in Ihren Code ein:
#include "grove_two_rgb_led_matrix.h"
Das Definieren von Makros ist eine gute Angewohnheit, es kann Ihren Code leichter lesen oder ändern. Sie können beispielsweise Makros definieren, um anzuzeigen, an welchem Port der Wassersensor angeschlossen ist oder welche Geschwindigkeit das schlagende Herz anzeigen soll.
#define SENSOR_PIN 2
#define INTERVALL 500
Wenn alles fertig ist, deklarieren Sie eine Matrixinstanz zur späteren Verwendung.
GroveTwoRGBLedMatrixClass-Matrix;
Und klicken Sie hier, um den Bildeditor zum Erstellen Ihrer eigenen Bilder zu erhalten. Wählen Sie die Farbe in der Farbleiste, klicken Sie zum Zeichnen auf Punkte im Zeichenbereich und klicken Sie unten im Zeichenbereich auf die Schaltfläche Aktualisieren oder Einfügen, um Ihr Bild in Code zu konvertieren und im rechten Feld anzuzeigen.
Mein Bild sieht wie unten aus. Sie können den angezeigten Code in Ihr Projekt kopieren und ihn dann durch Codieren in einer RGB-LED-Matrix anzeigen.
Die Prozedur setup () wird einmal ausgeführt, wenn Ihr Programm startet, also initialisieren wir die Matrix und den Pin des Wassersensors darin.
Leere Einrichtung () {
Wire.begin(); pinMode (SENSR_PIN, INPUT); WAIT_MATRIX_READY(); }
Die loop()-Prozedur wird wiederholt ausgeführt, daher verwenden wir sie, um mithilfe des folgenden Codes zu erkennen, ob Wasser vorhanden ist oder nicht:
if (digitalRead(SENSOR_PIN) == LOW) {
}
Wenn der Wassersensor NIEDRIG ausgibt, bedeutet dies, dass Wasser vorhanden ist, daher sollte das schlagende Herz in einer RGB-LED-Matrix angezeigt werden
for (uint8_t i = 0; i < EMOJI_COUNT (Beispiel); ++i) { matrix.displayFrames (EMOJI (Beispiel, i), INTERVAL, false, 1); Verzögerung (INTERVALL); }
Die abgeschlossene loop()-Prozedur sieht wie folgt aus, und Sie können den vollständigen Code am Ende dieses Artikels herunterladen.
Leere Schleife () {
if (digitalRead (SENSOR_PIN) == LOW) { for (uint8_t i = 0; i < EMOJI_COUNT (Beispiel); ++i) { Matrix.displayFrames (EMOJI (Beispiel, i), INTERVAL, false, 1); Verzögerung (INTERVALL); } } }
Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um Ihr Programm auf Seeeduino hochzuladen, und versuchen Sie, etwas Nasses auf den Wassersensor zu legen. Sehen Sie, was passiert.
WICHTIG:
In dieser Version der Firmware der RGB-LED-Matrix, wenn Sie Ihr eigenes Bild mit UNO-Seriell erstellen möchten, müssen Sie die Datei von Arduino ändern. Wenn Sie Mega oder Lotus verwenden, ist die Änderung nicht erforderlich.
Suchen Sie den Arduino-Setup-Ordner Arduino\hardware\arduino\avr\libraries\Wire\src und öffnen Sie die Datei Wire.h
Veränderung
#define BUFFER_LENGTH 32
hinein
#define BUFFER_LENGTH 128
Suchen Sie dann den Arduino-Setup-Ordner Arduino\hardware\arduino\avr\libraries\Wire\src\utility und öffnen Sie die Datei twi.h.
Veränderung
#define TWI_BUFFER_LENGTH 32
hinein
#define TWI_BUFFER_LENGTH 128