Índice:

Máquina de doces de abóbora assustadora para o Halloween: 5 etapas
Máquina de doces de abóbora assustadora para o Halloween: 5 etapas

Vídeo: Máquina de doces de abóbora assustadora para o Halloween: 5 etapas

Vídeo: Máquina de doces de abóbora assustadora para o Halloween: 5 etapas
Vídeo: Iniciando a semana com trend de Halloween!!! #shorts 2024, Julho
Anonim
Image
Image

Olá pessoal! Happy Holloween !! Construímos uma lanterna de abóbora que toca música e cospe doces quando alguém se aproxima dela.

Etapa 1: Coisas usadas neste projeto

Coisas usadas neste projeto
Coisas usadas neste projeto
Coisas usadas neste projeto
Coisas usadas neste projeto

Componentes de hardware

  • Arduino UNO / Seeeduino V4.2
  • Escudo de Base V2
  • Grove - Sensor de movimento PIR
  • Grove - MP3 v2.0
  • Grove - Faixa LED WS2813 RGB à prova d'água - 60 LED / m - 1m
  • Servo de alta sensibilidade EMax 12g ES08MD

Aplicativos de software e serviços online

IDE Arduino

Etapa 2: História

História
História
História
História
História
História

O Halloween está chegando, lanternas de abóbora são essenciais. Usamos o Seeeduino e o PIR Motion Senser construímos uma lanterna de abóbora, quando alguém vier até ela vai tocar música e cuspir balas.

Estrutura mecânica

** Passo 1: ** Compre alguns doces e uma abóbora, cave um buraco atrás da abóbora para que possamos colocar Seeeduino nela.

** Passo 2: ** Corte uma caixa como esta e fixe-a na boca da abóbora.

** Setp 3: ** Monte um braço no servo motor. Para fixar um servo motor dentro da abóbora, usamos uma lata como suporte.

** Passo 4: ** Certifique-se de que quando o braço do servo motor virar para cima, os doces na caixa serão cuspidos da boca da abóbora.

Etapa 3: Conexão de Hardware

** Passo 1: ** Faça uma pasta chamada MP3 em um pedaço de cartão SD, copie um arquivo mp3 para ela, nomeie-o 0001.mp3. Conecte um alto-falante ao MP3 Grove através da porta de 3,5 mm e conecte o MP3 Grove à porta D2 na Base Shield.

** Passo 2: ** Conecte o PIR Motion Sensor Grove à porta D4 da Base Shield e conecte a tira NeoPixel à porta D5 da Base Shield.

** Etapa 3: ** Conecte o Servo Grove ao pino 9 digital da Base Shield, para que possamos usar as linhas DuPont.

** Etapa 4: ** conecte a blindagem da base ao Seeeduino.

** Passo 5: ** Para baixar o programa para Seeeduino, usamos um cabo USB para conectar com o computador. Depois de baixado, só podemos usar um cabo de alimentação dentro da abóbora.

Etapa 4: Programação de software

** Etapa 1: ** instalar bibliotecas

Para melhor efeito, usamos um sistema operacional chamado FreeRTOS, que pode ser baixado aqui.

Além disso, este projeto necessita das seguintes bibliotecas, baixe e instale-as:

  • Grove - MP3 v2.0
  • Adafruit NeoPixel
  • Adafruit TicoServo

Ou você pode simplesmente incluir MP3.h na pasta do projeto para usar o MP3 Grove.

** Etapa 2: ** Crie e faça upload do programa

* AVISO: Marco MAX_BRIGHTNESS controla o brilho máximo do NeoPixel, reduz o brilho dele para reduzir o consumo de energia. *

Pode ser difícil entender o programa se você não usou o sistema operacional no Seeeduino antes, o artigo a seguir o tornará simples.

No método setup (), inicializamos Serial, MP3 Grove e Servo Motor normalmente, e criamos uma variável que chamamos de semáforo, você pode considerá-la como uma variável flag que costumava indicar se é alguém que vem ou não.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Então criamos 3 tarefas, elas podem ser executadas juntas. Mas as prioridades de então podem não ser as mesmas.

s1 = xTaskCreate (vFadingLEDsTask, NULL, configMINIMAL_STACK_SIZE, NULL, 1, NULL);

s2 = xTaskCreate (vScaningPIRTask, NULL, configMINIMAL_STACK_SIZE, NULL, 1, NULL); s3 = xTaskCreate (vHandlePIRTask, NULL, configMINIMAL_STACK_SIZE, NULL, 2, NULL);

Depois de verificar o semáforo e as tarefas serem inicializadas corretamente, o método vTaskSetartScheduler () inicia todo o FreeRTOS.

if (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{ para (;;); } vTaskStartScheduler ();

O nerver do método loop () usado no FreeRTOS. Agora o resto é simples, vFadingLEDsTask com desvanecimento da tarefa Variable Color LED e vScanPIRTask que verifica o pino do PIR Motion Sensor o tempo todo. Quando o PIR Motion Sensor detecta que alguém está chegando, ele define o sinalizador e a tarefa vHandlePIRTask começa a ser executada. Como a prioridade da tarefa vHandlePIRTask é 2, quando ela estiver em execução, outras duas tarefas restantes serão suspensas.

As chamadas a seguir são usadas para definir ou redefinir um sinalizador.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Etapa 5: Operação

Coloque o alto-falante Seeeduino e Groves dentro da lanterna de abóbora e ligue-o. Agora você pode esperar que alguém chegue até ele, Trick or Treat:-).

Confira o vídeo clicando em Luz de abóbora de Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Recomendado: