Πίνακας περιεχομένων:

Scary Pumpkin Candy Machine for Halloween: 5 Steps
Scary Pumpkin Candy Machine for Halloween: 5 Steps

Βίντεο: Scary Pumpkin Candy Machine for Halloween: 5 Steps

Βίντεο: Scary Pumpkin Candy Machine for Halloween: 5 Steps
Βίντεο: Automatic Halloween Candy Dispenser 2024, Νοέμβριος
Anonim
Image
Image

Γεια σε όλους! Καλές Απόκριες !! Κατασκευάσαμε ένα φανάρι κολοκύθας που θα παίζει μουσική και θα φτύνει καραμέλες όταν κάποιος το βρει.

Βήμα 1: Πράγματα που χρησιμοποιούνται σε αυτό το έργο

Πράγματα που χρησιμοποιούνται σε αυτό το έργο
Πράγματα που χρησιμοποιούνται σε αυτό το έργο
Πράγματα που χρησιμοποιούνται σε αυτό το έργο
Πράγματα που χρησιμοποιούνται σε αυτό το έργο

Συστατικά υλικού

  • Arduino UNO / Seeeduino V4.2
  • Base Shield V2
  • Grove - PIR Motion Sensor
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Waterproof - 60 LED/m - 1m
  • Servo υψηλής ευαισθησίας EMax 12g ES08MD

Εφαρμογές λογισμικού και διαδικτυακές υπηρεσίες

Arduino IDE

Βήμα 2: Ιστορία

Ιστορία
Ιστορία
Ιστορία
Ιστορία
Ιστορία
Ιστορία

Έρχονται οι Απόκριες, τα φανάρια κολοκύθας είναι απαραίτητα. Χρησιμοποιούμε το Seeeduino και το PIR Motion Senser κατασκεύασε ένα φανάρι κολοκύθας, όταν κάποιος το βρει, θα παίξει μουσική και θα φτύσει καραμέλες.

Μηχανική δομή

** Βήμα 1: ** Αγοράστε μερικές καραμέλες και μια κολοκύθα, σκάψτε μια τρύπα πίσω από την κολοκύθα, ώστε να βάλουμε το Seeeduino σε αυτό.

** Βήμα 2: ** Κόψτε ένα κουτί σαν αυτό και στερεώστε το στο στόμα της κολοκύθας.

** Ρύθμιση 3: ** Τοποθετήστε έναν βραχίονα στο σερβοκινητήρα. Για να στερεώσουμε ένα σερβοκινητήρα μέσα στην κολοκύθα, χρησιμοποιούμε ένα δοχείο ως στήριγμα.

** Βήμα 4: ** Βεβαιωθείτε ότι όταν ο βραχίονας του σερβοκινητήρα γυρίσει προς τα πάνω, οι καραμέλες στο κουτί θα φτύσουν από το στόμα της κολοκύθας.

Βήμα 3: Σύνδεση υλικού

** Βήμα 1: ** Δημιουργήστε ένα φάκελο με όνομα MP3 σε ένα κομμάτι κάρτας SD, αντιγράψτε ένα αρχείο mp3 σε αυτό, ονομάστε το 0001.mp3. Συνδέστε ένα ηχείο στο MP3 Grove's μέσω θύρας 3,5 mm και συνδέστε το MP3 Grove στη θύρα D2 στο Base Shield.

** Βήμα 2: ** Συνδέστε το PIR Motion Sensor Grove στη θύρα D4 της Base Shield και συνδέστε την ταινία NeoPixel στη θύρα D5 της Base Shield.

** Βήμα 3: ** Συνδέστε το Servo Grove στο ψηφιακό pin 9 του Base Shield, οπότε ίσως χρειαστεί να χρησιμοποιήσουμε τις γραμμές DuPont.

** Βήμα 4: ** Συνδέστε το Base Shield στο Seeeduino.

** Βήμα 5: ** Για τη λήψη του προγράμματος στο Seeeduino, χρησιμοποιούμε καλώδιο USB για σύνδεση με τον υπολογιστή. Μετά τη λήψη, μπορούμε να χρησιμοποιήσουμε μόνο ένα καλώδιο τροφοδοσίας μέσα στην κολοκύθα.

Βήμα 4: Προγραμματισμός λογισμικού

** Βήμα 1: ** Εγκατάσταση Βιβλιοθηκών

Για καλύτερο αποτέλεσμα, χρησιμοποιούμε ένα λειτουργικό σύστημα που ονομάζεται FreeRTOS, το οποίο μπορείτε να το κατεβάσετε από εδώ.

Επιπλέον, αυτό το έργο χρειάζεται τις ακόλουθες βιβλιοθήκες, κατεβάστε και εγκαταστήστε τις:

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

Or μπορείτε απλά να συμπεριλάβετε το MP3.h στο φάκελο του έργου για να χρησιμοποιήσετε το MP3 Grove.

** Βήμα 2: ** Δημιουργήστε και ανεβάστε το πρόγραμμα

*ΕΙΔΟΠΟΙΗΣΗ: Ο Marco MAX_BRIGHTNESS ελέγχει τη μέγιστη φωτεινότητα του NeoPixel, μειώνει τη φωτεινότητα του για να μειώσει την κατανάλωση ενέργειας.*

Μπορεί να είναι δύσκολο να καταλάβετε το πρόγραμμα εάν δεν χρησιμοποιούσατε λειτουργικό σύστημα στο Seeeduino πριν, το ακόλουθο άρθρο θα το κάνει απλά.

Στη μέθοδο εγκατάστασης (), αρχικοποιήσαμε κανονικά το Serial, το MP3 Grove και το Servo Motor, και δημιουργήσαμε μια μεταβλητή που ονομάζουμε semaphore, μπορείτε να τη θεωρήσετε ως μεταβλητή σημαίας που χρησιμοποιείται για να δείξει εάν πρόκειται για κάποιον που έρχεται ή όχι.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Στη συνέχεια δημιουργήσαμε 3 εργασίες, μπορούν να τρέξουν μαζί. Αλλά οι προτεραιότητες του τότε μπορεί να μην είναι ίδιες.

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

Μετά τον έλεγχο του σηματοφόρου και της σωστής προετοιμασίας των εργασιών, η μέθοδος vTaskSetartScheduler () ξεκινά ολόκληρο το FreeRTOS.

εάν (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{ Για (;;); } vTaskStartScheduler ();

Η μέθοδος nerver του βρόχου () που χρησιμοποιείται στο FreeRTOS. Τώρα τα υπόλοιπα είναι απλά, ξεθώριασμα εργασιών vFadingLEDsTask Variable Color LED και vScanPIRTask scan scan PIR Motion Sensor 'pin συνεχώς. Όταν ο αισθητήρας κίνησης PIR ανιχνεύσει ότι κάποιος έρχεται, ορίζει τη σημαία και μετά αρχίζει να εκτελείται η εργασία vHandlePIRTask. Επειδή η προτεραιότητα της εργασίας vHandlePIRTask είναι 2, όταν εκτελείται, άλλες δύο υπόλοιπες εργασίες θα ανασταλούν.

Οι ακόλουθες κλήσεις χρησιμοποιούνται για τη ρύθμιση ή την επαναφορά μιας σημαίας.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Βήμα 5: Λειτουργία

Βάλτε το ηχείο, το Seeeduino και το Groves μέσα στο φανάρι της κολοκύθας και ενεργοποιήστε το. Τώρα μπορείτε να περιμένετε να έρθει κάποιος, Trick or Treat:-).

Ελέγξτε το βίντεο κάνοντας κλικ στο φως κολοκύθας αποκριών. (https://www.youtube.com/embed/CFjuWXOIUN4)

Συνιστάται: