Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Автор: Seeed Studio
О себе: Привет, мы инженеры по применению в Seeed. Обмен проектами с сообществом разработчиков - это здорово. Надеюсь, вам понравится XD Seeed - это аппаратный инструмент для Интернета вещей, предоставляющий услуги, которые позволяют разработчикам Интернета вещей быстро… Подробнее о Seeed Studio »
Приближается День святого Валентина, встретите ли вы кого-нибудь, кто влюбился с первого взгляда?
Шаг 1. Вещи, использованные в этом проекте
Компоненты оборудования
- Seeeduino V4.2
- Базовый щит V2
- Grove - светодиодная матрица RGB с драйвером
- Grove - Датчик воды
Программные приложения и онлайн-сервисы
IDE Arduino
Шаг 2: Подключение оборудования
В этом проекте мы используем датчик воды для обнаружения воды, если есть вода, в матрице светодиодов RGB будет отображаться бьющееся сердце.
Чтобы добиться этого эффекта, вам необходимо подключить Grove - Water Sensor к порту D2 в Base Shield, а также подключить Grove - RGB LED Matrix к порту I2C в нем. Затем подключите Base Shield к Seeeduino, как показано на рисунке выше.
Шаг 3: Программирование программного обеспечения
Чтобы использовать светодиодную матрицу RGB в вашей программе, вам необходимо добавить ее библиотеку в вашу Arduino IDE. Библиотеку можно скачать в
Seeed_RGB_LED_Matrix
После добавления библиотеки включите заголовочный файл матрицы в свой код:
#include "grove_two_rgb_led_matrix.h"
Определение макросов - хорошая привычка, она может упростить чтение или изменение кода. Например, вы можете определить макросы, чтобы указать, к какому порту подключен датчик воды или какую скорость должно показывать бьющееся сердце.
#define SENSOR_PIN 2
#define ИНТЕРВАЛ 500
Когда все будет сделано, объявите экземпляр матрицы для дальнейшего использования.
Матрица GroveTwoRGBLedMatrixClass;
И щелкните здесь, чтобы получить редактор изображений для создания собственных изображений. Если выбрать цвет на цветной полосе, щелкнуть точки в области рисования для рисования и нажать кнопку «Обновить» или «Вставить» в нижней части области рисования, ваше изображение будет преобразовано в код и отобразится в поле справа.
Мое изображение выглядит так, как показано ниже. Вы можете скопировать этот отображаемый код в свой проект, а затем отобразить их в светодиодной матрице RGB путем кодирования.
Процедура setup () будет запущена один раз при запуске вашей программы, поэтому мы инициализируем матрицу и контакт датчика воды в ней.
void setup () {
Wire.begin (); pinMode (SENSR_PIN, ВХОД); WAIT_MATRIX_READY (); }
Процедура loop () будет запускаться многократно, поэтому мы используем ее для определения наличия воды с помощью следующего кода:
if (digitalRead (SENSOR_PIN) == LOW) {
}
Когда датчик воды выдает LOW, это означает, что есть вода, поэтому бьющееся сердце должно отображаться в светодиодной матрице RGB.
for (uint8_t i = 0; i <EMOJI_COUNT (пример); ++ i) {matrix.displayFrames (EMOJI (пример, i), ИНТЕРВАЛ, ложь, 1); задержка (ИНТЕРВАЛ); }
Завершенная процедура loop () выглядит так, как показано ниже, и вы можете скачать полный код в конце этой статьи.
void loop () {
if (digitalRead (SENSOR_PIN) == LOW) {for (uint8_t i = 0; i <EMOJI_COUNT (пример); ++ i) {matrix.displayFrames (EMOJI (пример, i), ИНТЕРВАЛ, ложь, 1); задержка (ИНТЕРВАЛ); }}}
Нажмите кнопку «Загрузить» в Arduino IDE, чтобы загрузить свою программу в Seeeduino, и попробуйте приложить что-нибудь влажное к датчику воды, посмотрите, что произойдет.
ВАЖНЫЙ:
В этой версии прошивки светодиодной матрицы RGB, если вы хотите сделать свое собственное изображение с серийным номером UNO, вам необходимо изменить файл arduino. Если вы используете мега или лотос, изменения не понадобятся.
Найдите папку установки arduino Arduino / hardware / arduino / avr / libraries / Wire / src, откройте файл Wire.h
изменение
#define BUFFER_LENGTH 32
в
#define BUFFER_LENGTH 128
Затем найдите папку установки arduino Arduino / hardware / arduino / avr / libraries / Wire / src / utility, откройте файл twi.h.
изменение
#define TWI_BUFFER_LENGTH 32
в
#define TWI_BUFFER_LENGTH 128