Реклама
Да ли сте икада желели да се вратите кући на лични дочек? Са Распберри Пи и неколико једноставних компоненти можете! У овом једноставном пројекту користићемо трске за пребацивање да покренемо подешавање теме када се отворе врата. Овде ћемо користити Распберри Пи као контролер, мада бисте га могли користити скоро било који други микроконтролер Микроконтролери од 5 долара: Ардуино, Распберри Пи Зеро или НодеМЦУ?Некада је то случај, да ако желите да набавите рачунар, морали бисте да замените кућу како бисте је платили. Сада га можете добити за Абрахама Линцолна. Опширније за овај пројекат користећи исти круг. Ово је демонстрација
Требаћеш
Вероватно ћете већ имати све делове које вам је потребно да направите ово, осим прекидача трске, који износи око 2-3 долара, или можете добити пакет од 5 за нешто више од 8 долара овде.
- Распберри Пи (било који модел ће радити за ово).
- Отпорник 1 к 220 Охм.
- Отпорник 1 к 1К Охм.
- Отпорник 3 к 10К Охм.
- 1 к Магнетни трске.
- 1 к ЛЕД.
- 2 к прекидач с дугметом.
- Хлебна плоча.
- Каблови за спајање.
- Компјутерски звучник или слично.
Распберри Пи ћемо користити за пуштање песме када се уђе у собу и дизајнирати круг са дугмади на нашој плочи да бисте је активирали на одлагање и зауставили програм.
Овај пројекат, иако је направљен углавном за забаву, покрива основе многих апликација у Направите кућну аутоматизацију Водич за кућну аутоматизацију са малином Пи и АрдуиноТржиште кућне аутоматизације преплављено је скупим потрошачким системима, некомпатибилним једни са другима и скупим за инсталацију. Ако имате Распберри Пи и Ардуино, у основи можете постићи исто на ... Опширније и такође Направите кућну сигурност Тражите ли решење за систем кућне безбедности „уради сам“? Испробајте једно од овихУ доба дигиталне технологије и увек повезаног хардвера, постављање кућног сигурносног система требало би превазићи уметност постављања кућице у облику аларма на зид. Опширније
Почетак
Почнимо тако што ћемо направити наш круг. Проверите да ли је Пи без напајања и подесите свој круг овако:
ЛЕД је повезан на пин 7 на нашем пи. Два прекидача за стискање су причвршћена на игле 11 и 13, а трстични прекидач се прикључује на контакт 15. Наша снага иде на пин 1 (3в3) и пин 6 (Гнд).
Обавезно проверите да ли је све на тачном месту.
Док тестирате овај пројекат, можда ће вам помоћи да своју склопку трске држите испред себе како бисте је могли лако укључити или искључити. У овом случају је трске склопка већ постављена изнад врата. Једном када се ваш пројекат покрене, прекидач можете привремено причврстити на своја врата траку или ако се осећате самоувереније можете је трајније да је причврстите за употребу у будућности пројекти!
Повежите 3,5 мм излаз прикључка Пи са системом звучника. Кад се све састави, требало би изгледати овако:
Имајте на уму да овде коришћена плоча има моћ да се обрне на горњи дијаграм Фритзинга.
Сада укључите Пи и приступите му користећи ССХ како бисмо могли приступити терминалу. Ако нисте сигурни како то учинити, овај водич Постављање вашег Распберри Пи-а за употребу без главе са ССХ-омРаспберри Пи може прихватити ССХ команде када су повезане са локалном мрежом (било путем Етхернет-а или Ви-Фи-ја), омогућујући вам лако подешавање. Предности ССХ-а надилазе узнемирујући свакодневни скрининг ... Опширније може да вам помогне. Ако користите свој Распберри Пи са монитором, мишем и тастатуром, прескочите овај корак и отворите терминал.
Пре него што започнете, вриједно је провјерити да ли сте у току. Тип судо апт-гет упдате
у терминал.
Сада можемо прећи на то да наш Пи разговара са нашим кругом.
Тестирање нашег подешавања
За почетак, хајде да проверимо наш круг помоћу једноставног програма. Ако сте сигурни да сте до сада све добро провели, можете прескочити овај корак, мада бих вам то препоручио јер касније можете уштедети главобоље.
Ако никада раније нисте програмирали на Питхон-у и осећате се помало закинутим, постоји мноштво сјајне веб странице 5 најбољих веб локација за учење Питхон програмирањаЖелите да научите Питхон програмирање? Ево најбољих начина за учење Питхон-а на мрежи, од којих су многи потпуно бесплатни. Опширније што вам може помоћи да започнете.
На терминалу креирајте нову скрипту:
нано тест.пи
Након отварања, додајте овај код у датотеку и притисните Цтрл-Ц да бисте га напустили, пратећи дијалог за чување:
#Ова шифра написана је за чланак на ввв. МакеУсеОф.цом Иан Буцклеи. импорт РПи. ГПИО као ГПИО. време увоза ГПИО.сетварнингс (лажно) ГПИО.сетмоде (ГПИО.БОАРД) ГПИО.сетуп (7, ГПИО.ОУТ) ГПИО.сетуп (11, ГПИО.ИН) ГПИО.сетуп (13, ГПИО.ИН) ГПИО.сетуп (15, ГПИО.ИН) док је Труе: ГПИО.оутпут (7, ГПИО.ХИГХ) иф (ГПИО.инпут (11) == 1): принт ("Дугме на ГПИО 11") тиме.слееп (1 ) ако (ГПИО.инпут (13) == 1): принт („Дугме на ГПИО 13“) тиме.сеп (1) иф (ГПИО.инпут (15) == 1): принт („Дугме на ГПИО 15“) време .сеп (1) ГПИО.цлеануп ()
Овај код чита вредност тастера и штампа на екрану када се промене. Два тастера имају отпорнике на доле, тако да под притиском извештавају ВИСОКО. Прекидач магнетне трске извештава ВИСОКА кад год је пратећи магнет близу.
Покрените програм:
питхон тест.пи
Требали бисте видети ЛЕД лампицу и извести извештај на екрану када притиснете своја два тастера и извучете магнет од вашег трске. Ако не добијете повратне информације кад притиснете дугмад, поново проверите струјни круг и проверите да ли је све повезано како треба. Када завршите са тестирањем, притисните ЦТРЛ-Ц да зауставим програм.
Сада можемо саставити једноставан програм за подешавање, активирање и ресетовање сензора врата. Прећи ћемо преко кода у деловима и укратко ћемо објаснити шта сваки део ради, мада ако желите да видите цео код, померите се према доле да бисте га приказали у целости.
Морамо започети увозом неких модула:
импорт Рпи. ГПИО као ГПИО. импорт пигаме.микер. време увоза
Користићемо Пигаме модул за репродукцију наше музике. Стандардно долази са Распбиан Јессие-ом и одлична је библиотека за све што вам је потребно за прављење Питхон игара и многих других невероватни пројекти Како да направите малину Пи Твиттер БотТвиттер је највеће складиште кратких порука на свету које немају шта да кажу - и сада и ви можете да допринесете том епском пројекту помоћу аутоматизованог Твиттер бота, који покреће ваш Малина ... Опширније .
Користићемо променљиву звану активан да одлучимо да ли је наш систем активан или не. Дефинишите неколико функција које ће то урадити за нас:
деф ацтивеСетуп (): глобална активна активна = 0 штампа ("тренутно није активна") деф активнаСтате (): глобална активна ако је активна == 1: активна = 0 ГПИО.оутпут (7, ГПИО.ЛОВ) штампање ("Тренутно није активно") елиф ацтиве == 0: принт ("Активирање у 10 секунди") за к у домету (0,10): ГПИО.оутпут (7, ГПИО.ХИГХ) тиме.слееп (0.5) ГПИО.оутпут (7, ГПИО.ЛОВ) тиме.слееп (0.5) ацтиве = 1 ГПИО.оутпут (7, ГПИО.ХИГХ) принт ("Тренутно Активно ") остало: повратак.
Прва функција овде ствара променљиву названу активан, и поставља га на 0. Давање активног стања нумеричкој вриједности значи да ако планирате да касније повећате програм тако да има различита активна стања, можете их у складу са бројевима. Иако можда није најбоље Питхон програмирање на свету, то ће бити више него довољно за овај пројекат.
Друга функција када се зове провјерава је ли систем активан (или) ацтиве == 1). Ако јесте, поставља систем на неактиван (ацтиве == 0), искључује ЛЕД и штампа на конзоли. Ако није, даје вам одбројавање од 10 секунди да напустите собу у којој трепери ЛЕД, пре него што остане укључено да покаже да је систем активан.
Сада можемо дефинисати функцију која ће надгледати наш трска магнет:
деф ватцхДоор (): глобално играње игра = Фалсе док је Труе: ако је активно == 1 и ГПИО.инпут (15) == 1 и игра == Фалсе: игра = Труе пигаме.микер.мусиц.плаи () ако је ГПИО.инпут (13) == 1: штампа ("Притиснуто дугме Стоп: Излаз") пигаме.микер.мусиц.стоп () прекида ако је ГПИО.инпут (11) == 1: ацтивеСтате () тиме.слееп (0,5)
Овде креирамо још једну променљиву под називом свирање - ово је једноставно да заустави програм који покушава да започне понављање репродукције када се укључи прекидач.
Унутар петље док је прва ако изјава покрене музику (коју још немамо, али не бринемо, стиже). Музика се покреће само ако је систем активан, прекидач трске је отворен и не репродукује се већ.
Друга ако је изјава за наше дугме за излазак. Ако се притисне ово дугме, музика се зауставља и програм излази.
Трећа ако је изјава за пребацивање да ли је систем активан или не. Тхе тиме.слееп овде је функција да спречи вишеструко очитавање дугмета када се притисне.
Сада је време да поставите Пинове игле.
ГПИО.сетмоде (ГПИО.БОАРД) ГПИО.сетуп (7, ГПИО.ОУТ, почетно = ГПИО.ЛОВ) ГПИО.сетуп (11, ГПИО.ИН) ГПИО.сетуп (13, ГПИО.ИН) ГПИО.сетуп (15, ГПИО.ИН)
Ако сте експериментисали са Пи-јем пре, ово би вам требало бити познато. Тхе почетни = ГПИО.ЛОВ аргумент у подешавању пин 7 поставља на ниже чим се иницијализира.
Сада можемо назвати нашу функцију која ће поставити систем да не буде активан када се програм покрене.
ацтивеСетуп ()
Мусиц Маестро!
У овом тренутку, требало би да почнемо да размишљамо о музици коју свирамо. Можете одабрати било коју музичку датотеку коју желите, али ми ћемо за сада изабрати нешто доступно свима. Ако гледате ИоуТубе, вероватно сте већ упознати са музиком Кевина МацЛеода. Нека преузме фантастичну мелодију коју је назвао „Маестро с једним очима“. Ово је, заједно са већином музике на његовој веб локацији, лиценцирано под Цреативе Цоммонс-ом, а ту су и оне много добрих разлога Шта је Цреативе Цоммонс и некомерцијална употреба?Шта је Цреативе Цоммонс? Шта значи "некомерцијална употреба"? Сазнајте више о Цреативе Цоммонс лиценцама и како раде. Опширније да користите садржај са овим лиценцама за своје пројекте.
Повратак у код, морамо покренути миксер Пигаме и учитати нашу мелодију.
пигаме.микер.инит (44100, -16,2,1024) пигаме.микер.мусиц.сет_волуме (1.0) наме = "Маестро с једним очима.мп3" пигаме.микер.мусиц.лоад (наме) принт ("Учитана нумера -" + стр (име))
Прва линија овог блока покреће Пигаме миксер. Последњи аргумент у заградама је тампон који контролише латенцију у којој се звук репродукује. Ако касније током репродукције музике доживите неуспјешну репродукцију, покушајте да повећате овај број на 4096. Подешавања која раде без проблема на Пи 3.
Ако сте преузели музичку датотеку у другу директоријум у своју доор.пи програма, мораћете да наведете пуну путању унутар заграда када дефинишете променљиву име.
Сада преостаје само да поставимо петљу која чека да ми програм или активирамо или га напустимо.
док је тачно: ако је (ГПИО.инпут (13) == 1): штампајте („притиснуто дугме Стоп: Излаз“) пигаме.микер.мусиц.стоп () бреак иф (ГПИО.инпут (11) == 1): ацтивеСтате () тиме.слееп (0,5) иф (ацтиве == 1): ватцхДоор () бреак ГПИО.цлеануп ()
Ово време док петља чека унос са било ког тастера и на тај начин прекида или промени стање у активно. Ако стање активног постане 1, тада је ватцхДоор функција коју смо претходно дефинисали зове се и следећи пут када се отворе врата започиње наша мелодија. Ми такође зовемо ГПИО.цлеануп () да ресетујемо наше игле при изласку, што је генерално добра пракса за све програме на Распберри Пи.
То је све што морамо да урадимо да би се овај пројекат покренуо, ево и шифре у целости:
импорт РПи. ГПИО као ГПИО. импорт пигаме.микер. вријеме увоза деф активнаСетуп (): глобална активна активна = 0 испису ("тренутно није активна") деф активнаСтате (): глобална активна ако је активна == 1: активна = 0 ГПИО.оутпут (7, ГПИО.ЛОВ) испис ("Тренутно Не Ацтиве ") елиф ацтиве == 0: принт (" Активирање у 10 секунди ") за к у распону (0,10): ГПИО.оутпут (7, ГПИО.ХИГХ) тиме.слееп (0,5) ГПИО.оутпут (7, ГПИО.ЛОВ) тиме.слееп (0,5) ацтиве = 1 ГПИО.оутпут (7, ГПИО.ХИГХ) принт ("Тренутно активно") остало: повратак деф ватцхДоор (): глобално играње игра = Фалсе вхиле Труе: ако је активно == 1 и ГПИО.инпут (15) == 1 и игра == Фалсе: игра = Тацно пигаме.микер.мусиц.плаи () ако ГПИО.инпут (13) == 1: принт ("Стоп притиснуто: Изађите") пигаме.микер.мусиц.стоп () прекид ако ГПИО.инпут (11) == 1: ацтивеСтате () време.слееп (0,5) ГПИО.сетмоде (ГПИО.БОАРД) ГПИО.сетуп (7, ГПИО.ОУТ, почетно = ГПИО.ЛОВ) ГПИО.сетуп (11, ГПИО.ИН) ГПИО.сетуп (13, ГПИО.ИН) ГПИО.сетуп (15, ГПИО.ИН) ацтивеСетуп () пигаме.микер.инит (44100, -16,2,1024) пигаме.микер.мусиц.сет_волуме (1.0) наме = "Маестро с једним очима.мп3" пигаме.микер.мусиц.лоад (наме) принт ("Учитана нумера -" + стр (име)) док је Труе: иф (ГПИО.инпут (13) == 1): принт ("Притиснути дугме Стоп: Излаз") пигаме.микер.мусиц.стоп () прекид ако (ГПИО.инпут (11) == 1): ацтивеСтате () време.сеп (0,5) ако (ацтиве == 1): ватцхДоор () бреак ГПИО.цлеануп ()
Ако се овде померите да бисте одмах преузели целокупни код, имајте на уму да ћете и даље морати да преузмете музику на свој Пи да би успео!
Сада би требало да имате функционалну мелодију теме добродошлице! Причврстите штапни прекидач на врата и испробајте га. Срамотно плесање је опционално, али се препоручује.
Овај пројекат покривао је основе за многе облике праћења, сигурности и аутоматизације у кући, и надамо се да је такође било забавно!
Сад кад сте дошли толико далеко, зашто се зауставити? Можете додати још нумера и програм изабрати случајно са листе. Ти би могао додајте релеј Први кораци са ГПИО на Распберри ПиАко вам је Ардуино у реду, само сачекајте док не дођете на руку Распберри Пи - ове ствари су невероватне. Осим што су у потпуности функционалан рачунар, они имају и ... Опширније и да ли се на уласку покрећу други објекти. Ако имате кућни музички систем, зашто не бисте имали тематску песму за сваку собу?
Да ли ћете дизајнирати своју личну поруку добродошлице кући? Да ли сте били инвентивни са штитницима од трске у вашем дому на друге начине? Ако је то случај, оставите коментар о ономе што планирате или сте већ урадили у одељку за коментаре испод!
Иан Буцклеи је слободни новинар, музичар, перформер и продуцент видеа који живи у Берлину, Немачка. Кад не пише или није на позорници, размишља се о „уради сам“ електроници или коду у нади да ће постати луд научник.