Taula de continguts:

Màquina de dolços de carbassa espantosa per Halloween: 5 passos
Màquina de dolços de carbassa espantosa per Halloween: 5 passos

Vídeo: Màquina de dolços de carbassa espantosa per Halloween: 5 passos

Vídeo: Màquina de dolços de carbassa espantosa per Halloween: 5 passos
Vídeo: Темный заброшенный сатанинский особняк - скрытый глубоко в лесу! 2024, De novembre
Anonim
Image
Image

Hola a tothom! Feliç Holloween !! Vam construir una llanterna de carbassa que tocarà música i escopiria caramels quan algú s’hi acostés.

Pas 1: coses utilitzades en aquest projecte

Coses utilitzades en aquest projecte
Coses utilitzades en aquest projecte
Coses utilitzades en aquest projecte
Coses utilitzades en aquest projecte

Components de maquinari

  • Arduino UNO / Seeeduino V4.2
  • Base Shield V2
  • Grove - Sensor de moviment PIR
  • Grove - MP3 v2.0
  • Grove - Tira LED WS2813 RGB impermeable - 60 LED / m - 1m
  • Servo sensible EMax 12g ES08MD high

Aplicacions de programari i serveis en línia

IDE Arduino

Pas 2: història

Història
Història
Història
Història
Història
Història

Arriba Halloween, els fanalets de carbassa són essencials. Utilitzem Seeeduino i PIR Motion Senser va construir una llanterna de carbassa, quan algú s’hi acosta, tocarà música i escopirà caramels.

Estructura mecànica

** Pas 1: ** Comprar uns caramels i una carbassa, cavar un forat darrere de la carbassa per poder posar-hi Seeeduino.

** Pas 2: ** Tallar una caixa com aquesta i fixar-la a la boca de la carbassa.

** Setp 3: ** Munteu un braç al servomotor. Per fixar un servomotor dins de la carbassa, fem servir una llauna com a suport.

** Pas 4: ** Assegureu-vos que quan el braç del servomotor gira, els caramels de la caixa seran escopits de la boca de la carbassa.

Pas 3: connexió de maquinari

** Pas 1: ** Feu una carpeta anomenada MP3 en una peça de targeta SD, copieu-hi un fitxer mp3 i anomeneu-lo 0001.mp3. Connecteu un altaveu a MP3 Grove mitjançant un port de 3,5 mm i connecteu MP3 Grove al port D2 de Base Shield.

** Pas 2: ** Connecteu el sensor de moviment PIR Grove al port D4 de Base Shield i connecteu la tira NeoPixel al port D5 de Base Shield.

** Pas 3: ** Connecteu Servo Grove al pin digital 9 de Base Shield, de manera que és possible que hàgim d'utilitzar les línies DuPont.

** Pas 4: ** connecteu Base Shield a Seeeduino.

** Pas 5: ** Per descarregar el programa a Seeeduino, fem servir un cable USB per connectar-nos a l'ordinador. Després de la descàrrega, només podem utilitzar un cable d'alimentació dins de la carbassa.

Pas 4: programació de programari

** Pas 1: ** Instal·leu biblioteques

Per obtenir un millor efecte, fem servir un sistema operatiu anomenat FreeRTOS, que es pot descarregar des d’aquí.

A més, aquest projecte necessita les biblioteques següents, descarregar-les i instal·lar-les:

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

O simplement podeu incloure MP3.h a la carpeta del projecte per utilitzar MP3 Grove.

** Pas 2: ** Construïu i pengeu el programa

* AVÍS: Marco MAX_BRIGHTNESS controla la brillantor màxima de NeoPixel, en redueix la brillantor per reduir el consum d'energia. *

Pot ser difícil d’entendre el programa si abans no utilitzava el sistema operatiu a Seeeduino, el següent article ho farà simplement.

En el mètode setup (), vam inicialitzar normalment Serial, MP3 Grove i Servo Motor, i vam crear una variable que anomenem semàfor, la podeu considerar com una variable de senyal que s'utilitzava per indicar si es tracta d'algú o no.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Després vam crear 3 tasques, que es poden executar juntes. Però és possible que les prioritats d’aleshores no siguin les mateixes.

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);

Després de comprovar que el semafor i les tasques s’inicialitzen correctament, el mètode vTaskSetartScheduler () inicia tot el FreeRTOS.

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

{per (;;); } vTaskStartScheduler ();

El servidor de mètode loop () utilitzat a FreeRTOS. Ara la resta és senzill, la tasca vFadingLEDsTask s’esvaeix el LED de color variable i la pinça del sensor de moviment PIR d’exploració de tasques vScanPIRTask tot el temps. Quan el sensor de moviment PIR detecta que algú arriba, posa el senyalador i la tasca vHandlePIRTask comença a executar-se. Com que la prioritat de la tasca vHandlePIRTask és 2, quan s'estigui executant, es suspendran altres dues tasques restants.

Les trucades següents s’utilitzen per configurar o restablir un indicador.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Pas 5: operació

Introduïu l'altaveu, Seeeduino i Groves dins del fanal de carbassa i enceneu-lo. Ara podeu esperar que algú hi vingui, Trick or Treat:-).

Feu clic a la llum de carbassa de Halloween per veure el vídeo. (https://www.youtube.com/embed/CFjuWXOIUN4)

Recomanat: