Índice:
- Etapa 1: Coisas usadas neste projeto
- Etapa 2: História
- Etapa 3: Conexão de Hardware
- Etapa 4: Programação de software
- Etapa 5: Código
Vídeo: Ilumine seus namorados com matriz cintilante: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
O Dia dos Namorados é uma chance para você enviar mensagens de amor. Por que não fazer uma divertida face LED com componentes baratos para expressar seus sentimentos!
Etapa 1: Coisas usadas neste projeto
Componentes de hardware
- Seeeduino V4.2
- Escudo de Base
- Grove - matriz de LED vermelho com driver
- Grove - Gesto (PAJ7620U2)
Aplicativos de software e serviços online
IDE Arduino
Etapa 2: História
Etapa 3: Conexão de Hardware
Neste projeto, usamos o sensor de gesto como uma entrada e fornecemos o feedback ao driver de matriz de LED para alimentar a matriz de LED vermelho.
Você precisa conectar o Grove - Gesture e o Grove - Red LED Matrix c / Driver à porta I ^ 2 ^ C da blindagem da base que está conectada ao Seeeduino. Em seguida, conecte o Seeeduino ao PC por meio de um cabo USB.
Etapa 4: Programação de software
O plano para este projeto é exibir o emoji estático (rosto chorando e rosto à espera) quando nenhum gesto para a esquerda ou para a direita for lido.
Exibe emoji de mudança de posição de olho dinâmico com controle por gesto para a esquerda ou direita quando há um gesto para a esquerda ou para a direita lido.
Na posição específica do olho, um coração batendo será exibido na matriz de LED.
Os padrões de exibição de LED são projetados pelo Editor de matriz de LED, você pode alterar ou adicionar seus padrões de LED no programa mostrado acima.
Para se preparar para este projeto, é necessário instalar as bibliotecas Grove - Gesture, Grove - Red LED Matrix c / Driver e MsTimer2 no IDE do Arduino.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
Durante o procedimento de configuração, inicializamos as funções Serial, Matrix e MsTimer2. Serial inicializado é usado para depurar o programa, portanto, não é necessário conectar-se ao PC ou usar o Monitor serial após a depuração. Usamos MsTimer2 neste projeto para controlar a exibição do emoji estático.
// Inicializou o serial para depuração.
Serial.begin (9600); while (! Serial); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
No loop principal, pegamos apenas duas saídas do sensor de gesto, GES_RIGHT_FLAG, GES_LEFT_FLAG e essas são usadas para guiar a função displayDynamic ().
A função displayDynamic () calculará o intervalo desde a última vez em que o emoji dinâmico foi exibido até a hora atual. Se o intervalo exceder TIMEOUT, parará de reproduzir o emoji estático e definirá o índice de emoji dinâmico exibido para iniciar. Quando os gestos da esquerda para a direita são lidos, o índice inicial é 0 e o índice aumenta depois que os gestos da esquerda para a direita são lidos novamente. Caso contrário, o índice inicial é o último índice da matriz DINÂMICA e o índice será diminuído.
void displayDynamic (bool leftToRight) {
CurrentTime longo sem sinal = millis (); if (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; showStatic = false; } // Isso é usado para evitar ultrapassar o limite. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DYNAMIC) - 1: 0; } prevTime = currentTime; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
Nenhum gesto é lido se o período de TIMEOUT for excedido, a reprodução estática do emoji será restaurada.
Faça upload do programa para o seu Seeeduino, pronto. Jogue e divirta-se!
Etapa 5: Código
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h" #define TIMEOUT 5000 #define GES_REG_ADDR 0x43 #define ARRAY_LENGTH (array) (sizeof (array) / sizeof (array [0])) Matrix_8x8 matrix; uint64_t matrixDisplay = 0; prevTime longo sem sinal = millis (); int8_t sIndex = 0; bool showStatic = true; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t HEART = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1)% ARRAY_LENGTH (STATIC); }} void heartBeat () {para (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = currentTime; dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; } // Isso é usado para evitar ultrapassar o limite. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); atraso (100); }
Recomendado:
LED cintilante Ganesha: 18 etapas (com fotos)
Sparkling LED Ganesha: Esta é a temporada de festivais na Índia e Lord Ganesha é um dos mais venerados e adoráveis de Deus, especialmente para as crianças. Ele é o primeiro Deus a ser adorado em todas as cerimônias religiosas. Que melhor maneira de aproveitar a época festiva do que montar
Ilumine seus namorados com matriz RGB cintilante: 3 etapas
Ilumine seus namorados com Matriz RGB cintilante: O Dia dos Namorados está chegando, você conhece alguém que se apaixonou à primeira vista?
Ilumine seu projeto com LEDs: 4 etapas
Ilumine seu projeto com LEDs: Uma maneira muito eficaz de dar vida a um projeto é adicionar iluminação. A tecnologia de hoje oferece aos autônomos uma ampla seleção de opções de iluminação que são muito brilhantes, muito baratas de operar, baratas de comprar e fáceis de instalar
ILUMINE SEU CARTÃO DE ROBÔ: 7 etapas (com imagens)
LIGHT UP YOUR ROBOT CARD: Olá a todos! Recentemente, ganhei um concurso do Instructables. Eles me enviaram uma camiseta do robô Instructables, livro, adesivos e uma foto do robô Instructables. Por outro lado, quando estava pensando em ideias simples de circuitos de papel e queria construir
Estrela cintilante de LED alimentado por energia solar em uma jarra: 10 etapas
Estrela cintilante de LED alimentado por energia solar em uma jarra: Aqui está um pequeno presente de Natal bacana que fiz para minha filha. É rápido e fácil de montar e parece muito bom. É basicamente um pote de sol com algumas modificações, usei um LED em forma de estrela de uma série de luzes de Natal e