Оглавление:

Страшная машина для конфет из тыквы на Хэллоуин: 5 шагов
Страшная машина для конфет из тыквы на Хэллоуин: 5 шагов

Видео: Страшная машина для конфет из тыквы на Хэллоуин: 5 шагов

Видео: Страшная машина для конфет из тыквы на Хэллоуин: 5 шагов
Видео: Хэллоуин ночь | страшные дошкольные песни | детская музыка | Scary Rhymes For Kids | Halloween Night 2024, Ноябрь
Anonim
Image
Image

Привет всем! С праздником Хэллоуин !! Мы построили тыквенный фонарь, который будет играть музыку и плюнуть конфетами, когда к нему кто-нибудь подходит.

Шаг 1. Вещи, использованные в этом проекте

Вещи, использованные в этом проекте
Вещи, использованные в этом проекте
Вещи, использованные в этом проекте
Вещи, использованные в этом проекте

Компоненты оборудования

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

Программные приложения и онлайн-сервисы

IDE Arduino

Шаг 2: история

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

Приближается Хэллоуин, необходимы тыквенные фонарики. Мы используем Seeeduino и PIR Motion Senser соорудили тыквенный фонарь, когда кто-нибудь к нему подойдет, он включит музыку и плюется конфетами.

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

** Шаг 1: ** Купите несколько конфет и тыкву, выкопайте яму за тыквой, чтобы мы могли положить туда Сидуино.

** Шаг 2: ** Вырежьте такую коробку и прикрепите ее ко рту тыквы.

** Настройка 3: ** Установите рычаг на серводвигатель. Чтобы закрепить серводвигатель внутри тыквы, мы используем банку в качестве держателя.

** Шаг 4: ** Убедитесь, что когда рычаг серводвигателя поднимается, конфеты в коробке выплюнутся изо рта тыквы.

Шаг 3: Подключение оборудования

** Шаг 1: ** Создайте папку с именем MP3 на куске SD-карты, скопируйте в нее mp3-файл, назовите его 0001.mp3. Подключите динамик к MP3 Grove через порт 3,5 мм и подключите MP3 Grove к порту D2 на Base Shield.

** Шаг 2: ** Подключите PIR Motion Sensor 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, ее можно скачать отсюда.

Кроме того, для этого проекта необходимы следующие библиотеки, скачайте и установите их:

  • Роща - MP3 v2.0
  • Адафрут NeoPixel
  • Адафрут ТикоСерво

Или вы можете просто включить 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 ();

Неверный метод loop (), используемый во FreeRTOS. Теперь остальное просто, vFadingLEDsTask задача исчезает Светодиод переменной цветности и задача vScanPIRTask постоянно сканирует контакт датчика движения PIR. Когда датчик движения PIR обнаруживает, что кто-то приближается, он устанавливает флаг, после чего запускается задача vHandlePIRTask. Поскольку приоритет задачи vHandlePIRTask равен 2, когда она выполняется, остальные две оставшиеся задачи будут приостановлены.

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

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Шаг 5: Эксплуатация

Поместите динамик, Seeeduino и Groves внутрь тыквенного фонаря и включите его. Теперь вы можете ждать, пока кто-нибудь к нему подойдет, «Кошелек или жизнь»:-).

Посмотрите видео, нажав на Хэллоуин тыквенный свет. (https://www.youtube.com/embed/CFjuWXOIUN4)

Рекомендуемые: