Съдържание:

Страшна машина за бонбони с тиква за Хелоуин: 5 стъпки
Страшна машина за бонбони с тиква за Хелоуин: 5 стъпки

Видео: Страшна машина за бонбони с тиква за Хелоуин: 5 стъпки

Видео: Страшна машина за бонбони с тиква за Хелоуин: 5 стъпки
Видео: Хейтър гони Гибо по нощница🤣😂 2024, Юли
Anonim
Image
Image

Здравейте всички! Честит Хелоуин !! Изградихме фенер от тиква, който ще пуска музика и ще плюе бонбони, когато някой се приближи до него.

Стъпка 1: Нещата, използвани в този проект

Нещата, използвани в този проект
Нещата, използвани в този проект
Нещата, използвани в този проект
Нещата, използвани в този проект

Хардуерни компоненти

  • Arduino UNO / Seeeduino V4.2
  • Базов щит V2
  • Grove - PIR сензор за движение
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED лента Водоустойчива - 60 LED/m - 1м
  • EMax 12g ES08MD високочувствително серво

Софтуерни приложения и онлайн услуги

Arduino IDE

Стъпка 2: История

История
История
История
История
История
История

Идва Хелоуин, тиквените фенери са от съществено значение. Използваме Seeeduino и PIR Motion Senser построиха тиквен фенер, когато някой се приближи до него, той ще пусне музика и ще плюе бонбони.

Механична структура

** Стъпка 1: ** Купете си бонбони и тиква, изкопайте дупка зад тиквата, за да можем да сложим Seeeduino към нея.

** Стъпка 2: ** Изрежете кутия по този начин и я фиксирайте към устата на тиквата.

** Настройка 3: ** Монтирайте рамо към серво мотора. За да фиксираме серво мотор вътре в тиквата, използваме кутия като държач.

** Стъпка 4: ** Уверете се, че когато рамото на серво мотора се покаже, бонбони в кутията ще бъдат изплюти от устата на тиквата.

Стъпка 3: Хардуерна връзка

** Стъпка 1: ** Направете папка с име MP3 в парче SD карта, копирайте mp3 файл към нея, наречете я 0001.mp3. Свържете високоговорител към MP3 Grove чрез 3.5 мм порт и свържете MP3 Grove към порт D2 на Base Shield.

** Стъпка 2: ** Свържете PIR Sensor Grove Grove към D4 порта на Base Shield и свържете NeoPixel лентата към D5 порта на Base Shield.

** Стъпка 3: ** Свържете Servo Grove към цифровия щифт 9 на Base Shield, така че може да се наложи да използваме линиите DuPont.

** Стъпка 4: ** включете Base Shield към Seeeduino.

** Стъпка 5: ** За да изтеглите програмата на Seeeduino, използваме USB кабел за свързване с компютър. След изтеглянето можем да използваме само захранващ кабел вътре в тиквата.

Стъпка 4: Софтуерно програмиране

** Стъпка 1: ** Инсталирайте библиотеки

За по -добър ефект използваме операционна система, наречена FreeRTOS, тя може да бъде изтеглена от тук.

Освен това този проект се нуждае от следните библиотеки, изтеглете ги и ги инсталирайте:

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

Или можете просто да включите MP3.h в папката на проекта, за да използвате MP3 Grove.

** Стъпка 2: ** Създайте и качете програмата

*ЗАБЕЛЕЖКА: Marco MAX_BRIGHTNESS контролира максималната яркост на NeoPixel, намалява яркостта му, за да намали консумацията на енергия.*

Може да е трудно да разберете програмата, ако преди не сте използвали операционна система на Seeeduino, следващата статия ще я направи просто.

В метода setup () нормално инициализирахме Serial, MP3 Grove и Servo Motor и създадохме променлива, която наричаме семафор, можете да я разглеждате като флага променлива, която използва, за да посочи дали някой идва или не.

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.

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

{ за (;;); } vTaskStartScheduler ();

Nerver на метода loop (), използван в FreeRTOS. Сега останалото е просто, vFadingLEDsTask задачата избледнява променлив цветен светодиод и vScanPIRTask сканира задачата PIR сензор за движение през цялото време. Когато PIR Motion Sensor открие, че някой идва, той задава флага, след което задачата vHandlePIRTask започва да се изпълнява. Тъй като приоритетът на задачата vHandlePIRTask е 2, когато тя се изпълнява, други две останали задачи ще бъдат спрени.

Следните повиквания се използват за задаване или нулиране на флаг.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Стъпка 5: Операция

Поставете високоговорителя, Seeeduino и Groves вътре в тиквения фенер и го включете. Сега можете да чакате някой да дойде, Трик или Лакомство:-).

Проверете видеоклипа, като щракнете върху Хелоуин тиква светлина. (https://www.youtube.com/embed/CFjuWXOIUN4)

Препоръчано: