Мазмуну:
- 1 -кадам: Бул долбоордо колдонулган нерселер
- 2 -кадам: Окуя
- 3 -кадам: Аппараттык туташуу
- 4 -кадам: Программалык камсыздоо
- 5 -кадам: операция
Video: Хэллоуинге карата коркунучтуу ашкабак момпосуй машинасы: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Баарыңарга салам! Бактылуу Холлоуин !! Биз ашкабак чырагын куруп бердик, ал ага бирөө келгенде музыка ойнойт жана момпосуй түкүрөт.
1 -кадам: Бул долбоордо колдонулган нерселер
Аппараттык компоненттер
- Arduino UNO / Seeeduino V4.2
- Негизги калкан V2
- Grove - PIR Motion Sensor
- Grove - MP3 v2.0
- Grove - WS2813 RGB LED тилкеси суу өткөрбөйт - 60 LED/m - 1m
- EMax 12g ES08MD жогорку сезгич серво
Программалык камсыздоо жана онлайн кызматтары
Arduino IDE
2 -кадам: Окуя
Хэллоуин келе жатат, ашкабак фонарлары маанилүү. Биз Seeeduino колдонобуз жана PIR Motion Senser ашкабак чырагын курушкан, ага бирөө келгенде, ал музыка ойнойт жана момпосуй түкүрөт.
Механикалык түзүлүш
** 1 -кадам: ** Момпосуй жана ашкабак сатып алыңыз, ашкабактын артындагы чуңкурду казыңыз, ошондо биз ага Seeeduino салышыбыз мүмкүн.
** 2 -кадам: ** Мындай кутучаны кесип, ашкабактын оозуна бекит.
** 3 -Setp: ** Колун servo моторго орнотуңуз. Ашкабактын ичиндеги servo моторду оңдоо үчүн, банка кармагыч катары колдонобуз.
** 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 -кадам: ** Серво Гроувду 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до операциялык тутумду колдонбогон болсоңуз, анда бул макаланы түшүнүү кыйын болушу мүмкүн, кийинки макала аны жөн эле жасайт.
Орнотуу () ыкмасында биз 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 ();
FreeRTOSто колдонулган loop () ыкмасы. Эми калгандары жөнөкөй, vFadingLEDsTask тапшырмасы Variable Color LED жана vScanPIRTask тапшырмасын дайыма PIR Motion Sensor 'пин сканерлейт. PIR Motion Sensor кимдир бирөө келе жатканын аныктаганда, ал желекти орнотот, андан кийин vHandlePIRTask тапшырмасы иштей баштайт. VHandlePIRTask тапшырмасынын приоритети 2 болгондуктан, ал иштеп турганда калган эки калган тапшырма токтотулат.
Кийинки чалуулар желекти орнотуу же кайра коюу үчүн колдонулат.
xSemaphoreGive (xPIRBinarySemaphore);
xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);
5 -кадам: операция
Динамикти, Seeeduino менен Grovesты ашкабактын фонарынын ичине салып, күйгүзүңүз. Эми сиз кимдир бирөөнүн келишин күтө аласыз, алдап же дарылаңыз:-).
Halloween ашкабак жарыгын басуу менен видеону текшериңиз. (https://www.youtube.com/embed/CFjuWXOIUN4)
Сунушталууда:
Катуу момпосуй менен скульптуралык эксперименттер: 9 кадам (сүрөттөр менен)
Катуу момпосуй менен скульптуралык эксперименттер: Бул кастинг, ийкемдүү жана тунук. Убакыттын өтүшү менен өзгөрөт жана жылуулук, суу же басым менен эрозияга учурайт. Ал формага түшөт, тартылуу күчүнө жооп берүү менен формасын акырындык менен өзгөртөт.Ал каалаган түстү алат жана текстуранын кеңири түрүнө жетет
Хэллоуинге жөнөкөй өрмөктү кантип жасоо керек: 4 кадам (сүрөттөр менен)
Хэллоуинге жөнөкөй өрмөктү кантип жасоо керек: Бул Хэллоуин үчүн жөнөкөй, кызыктуу bristlebot! Bristlebots микросхемалардын негиздерин жана робот конструкциясын үйрөнгөн адамдар үчүн эң сонун долбоорлор. Денеге тиш щеткасынын башын, кыймылды камсыздоочу кичинекей моторду жана батареяны колдонуу менен
Хэллоуин сюрпризи момпосуй: 6 кадам (сүрөттөр менен)
Хэллоуин сюрприз Candy Bowl: Ошентип, менин кийинки долбоорум үчүн, биздин китепкананын MakerSpace үчүн конфет идиш жасоону чечтим! Мен Arduino UNOнун кээ бир мүмкүнчүлүктөрүн көрсөткөн Хэллоуин темасында бир нерсе кылгым келди. Негизги идея - кимдир бирөө момпосуй алганы барганда
Валентин күнүнө карата жез сериграфиясы: 4 кадам
Сүйүшкөндөр күнүнө карата жез сериграфиясы: Биз сиздин жаш айымга жеке жана оригиналдуу белекти кантип түзүүнү чогуу көрөбүз. Бул жез электрондук пластинкасында сериграфиясы бар, арткы жарыгы бар сүрөт алкагы. Бир нерсе анык, биз муну күн сайын көрө бербейбиз
Уулумдун 2 -туулган күнүнө карата RC Power Wheels!: 13 кадам (Сүрөттөр менен)
Уулумдун 2-туулган күнүнө карата RC Power Wheels!: Мен 10 жашымдан бери RC-ify Power Wheel жөнүндө кыялданчумун. Бир нече ай мурун, досум мага эски токмоктоп, чайноо катары колдонулган, эптеп иштей турган Power Wheel берди. Мен балалык кыялымды ишке ашырууну чечтим жана толугу менен оңдоп -түзөөнү