Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
By Seeed StudioSeeed Sledovat Více od autora:
O: Dobrý den, jsme aplikační inženýři v Seeed. Sdílení projektů s komunitou tvůrců je úžasné. Doufám, že se vám líbí XD Seeed je hardwarový aktivátor IoT poskytující služby, které vývojářům IoT umožňují rychle… Více o Seeed Studio »
Blíží se Valentýn, potkáváte někoho, kdo se zamiloval na první pohled?
Krok 1: Věci použité v tomto projektu
Hardwarové komponenty
- Seeeduino V4.2
- Základní štít V2
- Grove - RGB LED Matrix s ovladačem
- Grove - vodní senzor
Softwarové aplikace a online služby
Arduino IDE
Krok 2: Hardwarové připojení
V tomto projektu používáme vodní senzor k detekci vody, pokud tam je voda, v RGB LED matici se zobrazí tlukot srdce.
Abyste dosáhli tohoto efektu, musíte připojit Grove - vodní senzor k portu D2 v Base Shield a také připojit Grove - RGB LED Matrix k I2C portu v něm. Poté připojte Base Shield k Seeeduino, stejně jako na obrázku výše.
Krok 3: Programování softwaru
Chcete -li ve svém programu používat matici RGB LED, musíte do svého Arduino IDE přidat její knihovnu. Knihovnu je možné stáhnout v
Seeed_RGB_LED_Matrix
Po přidání knihovny zahrňte do kódu hlavičkový soubor matice:
#include "grove_two_rgb_led_matrix.h"
Definování maker je dobrým zvykem, může usnadnit čtení nebo úpravu vašeho kódu. Můžete například definovat makra, která indikují, ke kterému portu je připojeno čidlo vody nebo jakou rychlost má ukazovat tlukoucí srdce.
#define SENSOR_PIN 2
#define INTERVAL 500
Když je vše hotovo, deklarujte instanci matice pro pozdější použití.
Matice GroveTwoRGBLedMatrixClass;
A kliknutím sem získáte editor obrázků pro vytváření vlastních obrázků. Výběrem barvy v barevném pruhu, kliknutím na tečky v kreslicí oblasti nakreslíte a stisknutím tlačítka Aktualizovat nebo Vložit ve spodní části kreslicí plochy bude váš obrázek převeden na kód a zobrazen v poli vpravo.
Můj obrázek vypadá níže. Zkopírovaný kód můžete zkopírovat do svého projektu a poté jej kódováním zobrazit v matici RGB LED.
Procedura setup () se spustí jednou při spuštění programu, takže v ní inicializujeme kolík matice a vodního senzoru.
neplatné nastavení () {
Wire.begin (); pinMode (SENSR_PIN, INPUT); WAIT_MATRIX_READY (); }
Procedura loop () se bude spouštět opakovaně, takže ji pomocí následujícího kódu zjistíme, zda je voda nebo ne:
if (digitalRead (SENSOR_PIN) == LOW) {
}
Když vodní senzor vydá LOW, znamená to, že je voda, takže bušící srdce by mělo být zobrazeno v RGB LED matici
for (uint8_t i = 0; i <EMOJI_COUNT (příklad); ++ i) {matrix.displayFrames (EMOJI (příklad, i), INTERVAL, false, 1); zpoždění (INTERVAL); }
Postup dokončené smyčky () vypadá níže a kompletní kód si můžete stáhnout na konci tohoto článku.
prázdná smyčka () {
if (digitalRead (SENSOR_PIN) == LOW) {for (uint8_t i = 0; i <EMOJI_COUNT (příklad); ++ i) {matrix.displayFrames (EMOJI (příklad, i), INTERVAL, false, 1); zpoždění (INTERVAL); }}}
Kliknutím na tlačítko Odeslat v Arduino IDE nahrajte svůj program na Seeeduino a zkuste do senzoru vody vložit něco mokrého, uvidíte, co se stane.
DŮLEŽITÉ:
V této verzi firmwaru matice RGB LED, pokud chcete vytvořit vlastní obrázek pomocí UNO seriálu, musíte upravit soubor arduino. Pokud používáte mega nebo lotos, změna nebude potřeba.
Vyhledejte instalační složku arduino Arduino / hardware / arduino / avr / libraries / Wire / src, otevřete soubor Wire.h
změna
#define BUFFER_LENGTH 32
do
#define BUFFER_LENGTH 128
Poté vyhledejte instalační složku arduino Arduino / hardware / arduino / avr / libraries / Wire / src / utility, otevřete soubor twi.h.
změna
#define TWI_BUFFER_LENGTH 32
do
#define TWI_BUFFER_LENGTH 128