Table des matières:

Machine à bonbons à la citrouille effrayante pour Halloween : 5 étapes
Machine à bonbons à la citrouille effrayante pour Halloween : 5 étapes

Vidéo: Machine à bonbons à la citrouille effrayante pour Halloween : 5 étapes

Vidéo: Machine à bonbons à la citrouille effrayante pour Halloween : 5 étapes
Vidéo: Sculpter une citrouille comme un pro ! Comment faire une citrouille d'Halloween - ZWILLING 2024, Juillet
Anonim
Image
Image

Bonjour tout le monde! Joyeux Holloween !! Nous avons construit une lanterne citrouille qui jouera de la musique et crachera des bonbons lorsque quelqu'un s'approchera d'elle.

Étape 1: Éléments utilisés dans ce projet

Éléments utilisés dans ce projet
Éléments utilisés dans ce projet
Éléments utilisés dans ce projet
Éléments utilisés dans ce projet

Composants matériels

  • Arduino UNO / Seeeduino V4.2
  • Bouclier de base V2
  • Grove - Capteur de mouvement PIR
  • Grove - MP3 v2.0
  • Grove - Bande LED RGB WS2813 Etanche - 60 LED/m - 1m
  • Servo haute sensibilité EMax 12g ES08MD

Applications logicielles et services en ligne

IDE Arduino

Étape 2: Histoire

Histoire
Histoire
Histoire
Histoire
Histoire
Histoire

Halloween approche, les lanternes citrouilles sont indispensables. Nous utilisons Seeeduino et PIR Motion Senser construit une lanterne citrouille, quand quelqu'un s'approche, il jouera de la musique et crache des bonbons.

Structure mécanique

**Étape 1: **Achetez des bonbons et une citrouille, creusez un trou derrière la citrouille pour que nous puissions y mettre Seeeduino.

**Étape 2: **Coupez une boîte comme celle-ci et fixez-la à la bouche de la citrouille.

**Setp 3: **Montez un bras sur le servomoteur. Pour fixer un servomoteur à l'intérieur de la citrouille, nous utilisons une boîte comme support.

**Étape 4: **Assurez-vous que lorsque le bras du servomoteur se retourne, les bonbons dans la boîte seront crachés de la bouche de la citrouille.

Étape 3: Connexion matérielle

**Étape 1: **Créez un dossier nommé MP3 dans un morceau de carte SD, copiez-y un fichier mp3, nommez-le 0001.mp3. Connectez un haut-parleur au MP3 Grove via un port 3,5 mm et connectez MP3 Grove au port D2 sur Base Shield.

**Étape 2: **Connectez le capteur de mouvement PIR Grove au port D4 de Base Shield et connectez la bande NeoPixel au port D5 de Base Shield.

**Étape 3: **Connectez Servo Grove à la broche numérique 9 de Base Shield, nous devrons donc peut-être utiliser les lignes DuPont.

**Étape 4: **branchez le bouclier de base sur Seeeduino.

**Étape 5: **Pour télécharger le programme sur Seeeduino, nous utilisons un câble USB pour nous connecter à l'ordinateur. Une fois téléchargé, nous ne pouvons utiliser qu'un câble d'alimentation à l'intérieur de la citrouille.

Étape 4: Programmation du logiciel

**Étape 1: **Installer les bibliothèques

Pour un meilleur effet, nous utilisons un système d'exploitation appelé FreeRTOS, il peut être téléchargé à partir d'ici.

En outre, ce projet a besoin des bibliothèques suivantes, téléchargez-les et installez-les:

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

Ou vous pouvez simplement inclure MP3.h dans le dossier du projet pour utiliser MP3 Grove.

**Étape 2: **Créez et téléchargez le programme

*REMARQUE: Marco MAX_BRIGHTNESS contrôle la luminosité maximale de NeoPixel, réduit la luminosité de celui-ci pour réduire la consommation d'énergie.*

Il peut être difficile de comprendre le programme si vous n'avez pas utilisé le système d'exploitation sur Seeeduino auparavant, l'article suivant le rendra simplement.

Dans la méthode setup(), nous avons initialisé Serial, MP3 Grove et Servo Motor normalement, et créé une variable que nous appelons sémaphore, vous pouvez la considérer comme une variable indicateur qui indiquait si quelqu'un venait ou non.

vSemaphoreCreateBinary(xPIRBinarySemaphore);

Ensuite, nous avons créé 3 tâches, elles peuvent fonctionner ensemble. Mais les priorités d'alors peuvent ne pas être les mêmes.

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

Après avoir vérifié que le sémaphore et les tâches sont correctement initialisés, la méthode vTaskSetartScheduler() démarre l'intégralité de FreeRTOS.

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

{ pour (;;); } vTaskStartScheduler();

Le nerf de la méthode loop() utilisé dans FreeRTOS. Maintenant, le reste est simple, la LED de couleur variable de la tâche vFadingLEDsTask s'estompe et la broche du capteur de mouvement PIR de la tâche vScanPIRTask scanne tout le temps. Lorsque le capteur de mouvement PIR détecte que quelqu'un arrive, il définit le drapeau, puis la tâche vHandlePIRTask commence à s'exécuter. Étant donné que la priorité de la tâche vHandlePIRTask est de 2, lorsqu'elle est en cours d'exécution, les deux autres tâches restantes seront suspendues.

Les appels suivants sont utilisés pour définir ou réinitialiser un indicateur.

xSemaphoreGive(xPIRBinarySemaphore);

xSemaphoreTake(xPIRBinarySemaphore, portMAX_DELAY);

Étape 5: Opération

Mettez le haut-parleur, Seeeduino et Groves à l'intérieur de la lanterne citrouille et allumez-le. Maintenant, vous pouvez attendre que quelqu'un vienne, Trick or Treat:-).

Regardez la vidéo en cliquant sur Lumière de citrouille d'Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Conseillé: