Мазмұны:

Хэллоуинге арналған қорқынышты асқабақ кәмпиттері: 5 қадам
Хэллоуинге арналған қорқынышты асқабақ кәмпиттері: 5 қадам

Бейне: Хэллоуинге арналған қорқынышты асқабақ кәмпиттері: 5 қадам

Бейне: Хэллоуинге арналған қорқынышты асқабақ кәмпиттері: 5 қадам
Бейне: PIXEL GUN 3D TUTORIAL 2024, Қараша
Anonim
Image
Image

Бәріңе сәлем! Холлоуин құтты болсын !! Біз асқабақ фонарін жасадық, оған біреу келгенде, музыка ойнап, кәмпиттерге түкіреді.

1 -қадам: Бұл жобада қолданылатын заттар

Бұл жобада қолданылатын заттар
Бұл жобада қолданылатын заттар
Бұл жобада қолданылатын заттар
Бұл жобада қолданылатын заттар

Аппараттық компоненттер

  • Arduino UNO / Seeeduino V4.2
  • Негізгі қалқан V2
  • Grove - PIR қозғалыс сенсоры
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB суға төзімді LED жолағы - 60 жарық диоды/м - 1м
  • EMax 12g ES08MD жоғары сезімтал серво

Бағдарламалық жасақтама және онлайн қызметтері

Arduino IDE

2 -қадам: Әңгіме

Оқиға
Оқиға
Оқиға
Оқиға
Оқиға
Оқиға

Хэллоуин келе жатыр, асқабақ шамдары өте маңызды. Біз Seeeduino мен PIR Motion Senser -ді қолданамыз, ол асқабаққа арналған фонарь салады, оған біреу келгенде, ол музыка ойнап, кәмпиттер түкіреді.

Механикалық құрылымы

** 1 -қадам: ** Кәмпиттер мен асқабақ сатып алыңыз, асқабақтың артынан шұңқыр қазыңыз, сонда біз оған Сеедуиноны қоя аламыз.

** 2 -қадам: ** Мұндай қорапты кесіп, оны асқабақтың аузына бекітіңіз.

** 3 -бап: ** Серво қозғалтқышына қолды орнатыңыз. Асқабақтың ішіндегі серво қозғалтқышты бекіту үшін біз банканы ұстағыш ретінде қолданамыз.

** 4 -қадам: ** Серво қозғалтқышы көтерілгенде, қораптағы кәмпиттер асқабақтың аузынан төгілетініне көз жеткізіңіз.

3 -қадам: Жабдыққа қосылу

** 1 -қадам: ** SD картасының бір бөлігінде MP3 атты қалтаны жасаңыз, оған mp3 файлды көшіріңіз, оны 0001.mp3 деп атаңыз. Динамикті MP3 Grove -ге 3,5 мм порты арқылы қосыңыз, ал MP3 Grove -ді Base Shield D2 портына қосыңыз.

** 2 -қадам: ** PIR Motion Sensor Grove -ді Base Shield D4 портына қосыңыз және NeoPixel жолағын Base Shield D5 портына қосыңыз.

** 3 -қадам: ** Servo Grove -ді Base Shield цифрлық түйреуішіне 9 қосыңыз, сондықтан бізге DuPont желілерін қолдану қажет болуы мүмкін.

** 4 -қадам: ** Base Shield -ді Seeeduino -ға қосыңыз.

** 5 -қадам: ** Бағдарламаны Seeeduino -ға жүктеу үшін біз компьютерге қосылу үшін USB кабелін қолданамыз. Жүктелгеннен кейін біз асқабақтың ішіндегі қуат кабелін ғана қолдана аламыз.

4 -қадам: бағдарламалық қамтамасыз ету

** 1 -қадам: ** Кітапханаларды орнатыңыз

Жақсырақ әсер ету үшін біз FreeRTOS деп аталатын операциялық жүйені қолданамыз, оны осы жерден жүктеуге болады.

Сонымен қатар, бұл жобаға келесі кітапханалар қажет, оларды жүктеп алыңыз және орнатыңыз:

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

Немесе MP3 Grove пайдалану үшін MP3.h -ті жоба қалтасына қосуға болады.

** 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 -тың барлығын іске қосады.

егер (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{ үшін (;;); } vTaskStartScheduler ();

FreeRTOS -те қолданылатын loop () әдісі. Енді қалғандары қарапайым, vFadingLEDsTask тапсырмасы айнымалы түсті жарықдиодты және vScanPIRTask тапсырмаларын сканерлейтін PIR қозғалыс сенсорының түйреуіші. PIR Motion Sensor біреу келе жатқанын анықтағанда, ол жалаушаны орнатады, содан кейін vHandlePIRTask тапсырмасы іске қосылады. VHandlePIRTask тапсырмасының басымдығы 2 болғандықтан, ол жұмыс істеп тұрған кезде қалған екі тапсырма тоқтатылады.

Келесі қоңыраулар жалаушаны орнату немесе қалпына келтіру үшін қолданылады.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

5 -қадам: операция

Динамикті, Seeeduino мен Groves -ті асқабақ фонарының ішіне қойып, оны қосыңыз. Енді сіз оған біреудің келуін күте аласыз, алдап немесе емдеңіз:-).

Хэллоуин асқабақ жарығын басу арқылы бейнені тексеріңіз. (https://www.youtube.com/embed/CFjuWXOIUN4)

Ұсынылған: