Реклама
То је доба године када се сматра друштвено прихватљивим застрашити малу децу и дати им слаткише. Ох радост. Овде сам да вам олакшам посао, показујући вам како да направите једноставан звучни оквир Распберри Пи Халловеен који осјети покрет. Ево приказа:
Ево шта ће вам требати
Вероватно једини део који још немате је сензор покрета, мали и јефтини део који бисте требали да пронађете у вашем локалном Микроцентру или Маплину.
- Распберри Пи (било који модел ће учинити).
- Сензор кретања (~ $ 3).
- Жице за спајање.
- Жични звучник (већина Блуетоотх звучника имаће могућност коришћења лине-ин-а).
- 3,5 мм стерео кабл, мушко-мушки.
Након што завршите, можда бисте желели да је додате синхронизовани светлосни ефекти Како се синхронизују кућна светла и музика за Ноћ вештицаБез обзира да ли организујете забаву за Ноћ вештица или желите најслађу кућу са уклетом у окружењу, ваши лампице временом трепере музиком и звучним ефектима. Опширније такође, али у овом туториалу ћемо само мало покривати застрашујуће звукове!
Подешавати
Користимо Распбиан Јессие Лите и Питхон 2.7, али сваки Линук дистрограм који се покреће на вашем Пи-у би требао бити у реду. Оставио сам га на уобичајеном имену хоста „распберрипи.лоцал“, па почните тако што ћете се даљински пријављивати помоћу ССХ (отворите прозор Терминала ако сте на Мацу. Ево га како то учинити у Виндовс-у 4 једноставна начина за коришћење ССХ-а у Виндовс-уССХ је де фацто решење за сигуран приступ удаљеним терминалима на Линуку и другим системима сличним УНИКС-у. Ако имате удаљени ССХ сервер коме желите да приступите, мораћете да преузмете ССХ клијент ... Опширније ) - или ако сте се одлучили за употребу читавог Распбиана са ГУИ на радној површини, слободно пређите на ажурирање.
ссх пи@распберрипи.лоцал. (унесите малину као лозинку) судо апт-гет упдате. судо апт-гет инсталл питхон-пип. судо пип инсталл гпиозеро.
Ово инсталира једноставну библиотеку за рад са ГПИО пиновима на Питхон-у са многим врстама уграђених сензора и тастера. Повежите свој сензор сигналним пиновима на ГПИО4, ВЦЦ повезаним са 5В и ГНД повезаним са ГНД-ом. То може да се разликује у складу са вашим тачним моделом, па потврдите тачним дијаграмом.
Помогло је што мој случај Пи 2 из Пиморонија има ласерски урезани дијаграм директно на њега.
Сада направимо скрипту за откривање покрета.
нано мотион.пи.
Налепите:
фром гпиозеро импорт МотионСенсор пир = МотионСенсор (4) док је тачно: ако је пир.мотион_детецтед: принт ("Мотион детецтед!") елсе: принт ("Нема покрета")
Притисните ЦТРЛ-Кс, затим И да бисте је сачували и изашли, а затим покрените са:
питхон мотион.пи.
Требали бисте видети поруку „без покрета“ како се понавља на екрану док не махнете руком испред сензора, када ће завирити у „Мотион Детецтед!“
Ако се порука уопште не промени, погрешно сте је повезали.
Ако сте заинтересовани да сазнате више о овој једноставној библиотеци ГПИОЗеро, погледајте овај фантастични цхеатсхеет.
Репродукује звук
Повежите свој преносни звучник и осигурајте да је укључен ако треба. Користићемо пигаме библиотека за репродукцију звукова, па наставите и инсталирајте је:
судо апт-гет инсталл питхон-пигаме.
Прво нам треба звучна датотека за репродукцију. Ако то радите из радног окружења, наставите и преузмите ВАВ или ОГГ датотека однекуд (нашао сам добар избор фрее Халловеен звучи овде), и ставите га у свој матични именик. Предлажем прво смањење нивоа и претварање у мали ОГГ формат У сваком случају.
Ако се повезујете на даљину и користите само командну линију, имамо мало више проблема са неким веб локацијама од вгет наредба можда не уграби стварну датотеку. Уместо тога, можемо га преузети локално на радну површину и користити га сцп (сигурна копија) наредба за копирање преко командне линије. Можете научити више о сцп овде, али за сада отворите нову картицу терминала и откуцајте:
сцп тхундер.огг пи@распберрипи.лоцал:
Преименујте тхундер.огг по потреби, али не заборавите тај коначни : (наредба ће се извршити без ње, али неће радити оно што ми желимо). Ово ће подразумевано пребацити датотеку у матични директориј Пи корисника.
Сада изменимо скрипту да репродукује звук. Започните са увозом нових модула:
импорт пигаме.микер. фром пигаме.микер импорт Соунд.
Затим ћемо одмах након постојећих изјава о увозу петити исти звук за потребе тестирања. Оставите остатак кода за откривање покрета као и до сад - он се једноставно неће покренути, јер ће заувек остати у овој петљи за репродукцију звука.
пигаме.инит () пигаме.микер.инит () #лоад звучна датотека у кућном директорију корисника Пи (нема мп3-ова) тхундер = пигаме.микер. Звук ("/ хоме / пи / тхундер.огг") док је Труе: тхундер.плаи () слееп (10) тхундер.стоп ()
Имајте на уму да када сам првобитно испробао овај поступак, звук је одбио да свира и уместо њега само кликнем. Величина датотеке или брзине пријеноса била је кривац: била је 24-битна и преко 5 МБ за 15 секундни исјечак. Смањивање тог нивоа на 16-битни претварач на који сам био повезан горе је учинио све лијепо, а величина је смањена на само 260КБ!
Ако приметите гадно шиштање из ваших звучника када се апликација Питхон покреће, али не у супротном, откуцајте:
судо нано /боот/цонфиг.ткт.
И додајте ову линију на крају:
енабле_аудио_дитхер = 1.
Поново покрените како би промене ступиле на снагу. Или не сметајте, јер ми је некако звучало као киша.
На крају, изменимо главну петљу за проверу кретања како би репродуковали звук када је детектирано кретање. Користићемо кашњење од 15 секунди да бисмо могли репродуковати читаву петљу и да делујемо као спам бафер када постоји много нон-стоп покрета.
док је тачно: ако је пир.мотион_детецтед: принт ("Мотион детецтед!") тхундер.плаи () # осигурајте да је репродукција у потпуности Довршено пре наставка детекције покрета, спречава "спам" звучни режим спавања (15) тхундер.стоп () остало: принт ("Не кретање")
Покрени се аутоматски
То вероватно желимо да поставимо негде са батеријом и без интернетске везе, тако да се скрипта мора покренути приликом поновног покретања без отварања командне линије. Да бисмо то учинили, користићемо најједноставнији могући метод: цронтаб Како заказати задатке у Линуку помоћу Црон-а и ЦронтабаСпособност аутоматизације задатака једна је од оних футуристичких технологија која се већ налази овде. Сваки Линук корисник може имати користи од система заказивања и корисничких задатака, захваљујући црон-у, једноставној позадинској услузи. Опширније . Тип:
судо цронтаб -е.
Ако се први пут покреће ова команда, почет ће вас питањем који уредник треба да користите. Одабрао сам опцију 2, за нано. Укључиће се у одабрани уређивач, па додајте следећи ред:
@ребоот питхон /хоме/пи/мотион.пи &
То значи да ће се ваше сцрипт.пи скрипта покренути при сваком покретању, и то учините тихо (тако да ће сваки излаз из скрипте бити занемарен). Поново покрените да бисте га испробали.
Ако се ништа не репродукује упркос покрету или чујете само мали клик, можда нисте користили потпуну путању датотеке или ће можда требати конверзија у нижи битрејт и мању величину датотеке.
Додај још звукова
Играње истог ефекта изнова и изнова је мало досадно, па додајмо томе нешто случајности. Преузмите још неколико звукова за Ноћ вештица, не заборавите да их смањите до разумне величине и брзине, а затим их пошаљите на Пи користећи сцп као пре. Додао сам три различите врсте вриска.
Измијените код тако да умјесто дефинирања једног пигаме.микер. Звук ми променимо, ми заправо стварамо низ звукова. Ово је једноставно са Питхон-ом, само заокружите њихову листу издвојеном зарезом квадратним заградама:
звукови = [пигаме.микер. Звук ("/ хоме / пи / тхундер.огг"), пигаме.микер. Звук ("/ хоме / пи / сцари_сцреам.огг"), пигаме.микер. Звук ("/ хоме / пи / гирл_сцреам.огг"), пигаме.микер. Звук ("/ хоме / пи / псицхо_сцреам.огг")]
Затим увезите насумичну библиотеку у вашу датотеку са:
увести насумично.
Сада измените главну петљу за осматрање кретања на следећи начин:
док је тачно: ако је пир.мотион_детецтед: штампа ("Мотион детецтед!") плаиСоунд = рандом.цхоице (звукови) плаиСоунд.плаи () # осигурајте да репродукција има је у потпуности довршен пре наставка детекције покрета, спречава "спам" звучни режим спавања (15) плаиСоунд.стоп () остало: принт ("Не кретање")
Имајте на уму мању промену: уместо да репродукујемо једну променљиву звук, ми користимо рандом.цхоице функција да одабере насумични звук из нашег низа звукова, а затим га репродукујемо.
Ево пуног кода у случају да имате проблема:
импорт пигаме. фром пигаме.микер импорт Соунд. од гпиозеро импорт МотионСенсор. од времена увози сан. импорт рандом пигаме.инит () пигаме.микер.инит () #лоад звучна датотека, исти директориј као и скрипта (без мп3-ова) звучи = [пигаме.микер. Звук ("/ хоме / пи / тхундер.огг"), пигаме.микер. Звук ("/ хоме / пи / сцари_сцреам.огг"), пигаме.микер. Звук ("/ хоме / пи / гирл_сцреам.огг"), пигаме.микер. Звук ("/ хоме / пи / псицхо_сцреам.огг")] пир = МотионСенсор (4) док је тачно: ако је пир.мотион_детецтед: штампа ("Мотион детецтед!") плаиСоунд = рандом.цхоице (звукови) плаиСоунд.плаи () # осигурајте да репродукција има је у потпуности довршен пре наставка детекције покрета, спречава "спам" звучни режим спавања (15) плаиСоунд.стоп () остало: принт ("Не кретање")
Са само четири узорка, свака вероватноћа је поновљена, али можете додати још узорака ако вас то нервира.
То је то! Сакријте га у жбуњу застрашујуће ЛЕД очију чудовишта Како направити сабласне ужарене очи за Халловеен за мање од 5 долараЖелите зачинити Халловеен украсе ове године? Научите како да направите ЛЕД очи за мање од 5 долара у овом почетничком електроничком пројекту. Опширније , и требало би да уштедите себи слаткише, јер сва деца бјеже вриштећи прије него што уопће стигну до врата. Или се сакриј у ормар зато што је љута мама без крви након што си плакао малог Јохннија.
Изјава о одрицању одговорности: МакеУсеОф није одговоран за било какве личне повреде које могу настати употребом овог пројекта!
Да ли ћете правити ову звучну кутију која се активира покретом да бисте уплашили локалне трикове или трезоре? Да ли сте поставили неке застрашујуће ефекте са Распберри Пи током овог Ноћи вештица? Јавите нам о томе у коментарима испод!
Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.