Мазмуну:

Pumpkin Pi Trick-or-Treat Tracker: 5 кадам
Pumpkin Pi Trick-or-Treat Tracker: 5 кадам

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 кадам

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 кадам
Video: TRICK OR TREAT 2024, Июль
Anonim
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker

By elizabethnaFollow More by Author:

Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым
Температура сенсорлорунун тармагы
Температура сенсорлорунун тармагы
Температура сенсорлорунун тармагы
Температура сенсорлорунун тармагы

Хэллоуинге караганда тезирээк бир долбоорду издеп жатасызбы? Ошол Pi Zero WHди жакшы колдонууну каалайсызбы? Келерки жылга канча конфет керек экенин аныктоо үчүн маалыматтарды колдонууну каалайсызбы?

Pumpkin Pi Trick-or-Treat Tracker курууга даяр болуңуз! Декорация жана адамдардын трекери катары эки эсе көбөйгөн бул Pi-in-a-Pumpkin кыймыл аныкталганда түсүн жана агымын өзгөртөт. Абсолюттук нөлдөн баштап, бул долбоор сизди түштөн кийин чогултууга тийиш эмес - Хэллоуин убагында!

Жабдуулар

  • Pi Zero WH SD картасы менен
  • PIR Motion Sensor
  • RGB LED
  • 220 Ом резисторлор
  • (3) Tie Lines (F/F, M/F, M/M)
  • Портативдик батарея
  • Жасалма ашкабак

1 -кадам: Аппараттык жыйын

Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын

Пиңизди иштетип бүткөндөн кийин, биз кыймыл сенсору менен диоддорду туташтырышыбыз керек. Пи бул учурда бийликке туташпаганын текшериңиз.

Биздин кыймыл сенсорубуз аны 3.3V кубаттуулукка, жерге жана маалымат пинге туташтырууну талап кылат. Мен 3.3V сенсордук пинди Пи 1ге, Жер сенсорунун Пининин 6 түйүнүнө жана Маалымат сенсорунун Пининин 16 пинине туташтырдым. Биринчи сүрөт Pi жана кыймыл сенсорунун толук байланышын көрсөтөт.

Светодиоддор кыймыл сенсоруна караганда бир аз татаалыраак, анткени аларга же Пи -ге зыян келтирбестен туура иштөө үчүн резистор керек. Мен 220 Ом 3 резистор колдондум, бирок 220 жана 330 Ом резисторлор адатта LED менен колдонулат.

Баарын туташтыруу үчүн сиз:

  • LED буттарын резисторлорго эритип, анан зымдарды Пи -ге киргизиңиз
  • Баарын туташтыруу үчүн нан тактасын жана галстук линияларын колдонуңуз
  • Баарын туташтыруу үчүн галстук линияларын жана электр лентасын колдонуңуз (мен кылгандай).

Биз LEDди 11, 13 жана 15 -казыктарга туташтырабыз. Бул кыймыл сенсоруна караганда бир аз татаалыраак, бирок LEDдеги буттар белгилүү бир түскө туура келет! Узун бут GND; жана, жок эле дегенде, менин светодиодумда буттарым кызыл, GND, Blue, Green. Мен Пинди 11 -пинге Жашыл, 13 -пинге Жашыл жана 15 -пинге Кызыл туташтырдым. Экинчи сүрөттө акыркы райондук байланыштар көрсөтүлгөн.

2 -кадам: Баштапкы абал

Баштапкы мамлекет
Баштапкы мамлекет
Баштапкы мамлекет
Баштапкы мамлекет

Албетте, биз светодиод менен кыймыл аныкталганын көрө алабыз, бирок момпосуйубузду уурдоо үчүн канча трюк же трейдер түшкөнүн кантип байкайбыз?

Кыймыл башталып, аныкталбай калган сайын биз тактасына агылып турабыз. Бул панель интернет байланышы бар каалаган жерден жеткиликтүү болгондуктан, кимдир бирөө алдыңкы эшикке/момпосуй чөйчөгүнө жакындап баратканын алыстан көзөмөлдөй алабыз.

1 -кадам: Баштапкы мамлекеттик эсепке катталуу https://iot.app.initialstate.com дарегине өтүңүз жана жаңы каттоо эсебин түзүңүз.

2 -кадам: ISStreamer орнотуу

Баштапкы абал Python модулун Raspberry Piге орнотуңуз. Командалык кеңеште (адегенде Пиңизге SSH киргизүүнү унутпаңыз), төмөнкү буйрукту аткарыңыз:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

3 -кадам: Automagic жасаңыз

2 -кадамдан кийин экранда төмөнкү чыгарылышка окшош нерсени көрөсүз:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Сырсөз: ISStreamer Python Easy орнотуу башталууда! Бул орнотуу үчүн бир нече мүнөт талап кылынышы мүмкүн, кофе алыңыз:) Бирок кайра келүүнү унутпаңыз, кийинчерээк суроолорум болот! Табылган easy_install: setuptools 1.1.6 Табылган пип: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негизги версиясы: 1 pip minor version: 5 ISStreamer табылды, жаңыртылууда … Талап мурунтан эле жаңыртылган: ISStreamer /Library/Python/2.7/site-packages Тазалоо… Сиз автоматтык түрдө мисал скриптин алууну каалайсызбы? [y/N] Мисалды кайда сактагыңыз келет? [демейки:./is_example.py] Кайсы Баштапкы Колдонмону колдонуп жатканыңызды тандаңыз: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com 1 же 2 -тандоону киргизиңиз: iot.appка кириңиз.initialstate.com колдонуучунун аты: iot.app.initialstate.com сырсөзүн киргизиңиз:

Автоматтык түрдө скрипт үлгүсүн алуу суралганда, y деп териңиз. Бул биз баштапкы абалга маалымат агымын камсыз кылуу үчүн иштете турган тесттик сценарийди түзөт. Кийинки көрсөтмө мисал файлын кайда сактагыңыз келерин сурайт. Сиз ыңгайлаштырылган жергиликтүү жолду тере аласыз же демейки жайгашууну кабыл алуу үчүн enter бассаңыз болот. Акыр -аягы, сизден кайсы баштапкы абалды колдонуп жатканыңыз суралат. Эгерде сиз жакында эле каттоо эсебин түзсөңүз, 2 -жолду тандап, колдонуучу атыңызды жана сырсөзүңүздү киргизиңиз. Андан кийин орнотуу аяктайт.

4 -кадам: Кирүү ачкычтары

Келгиле, түзүлгөн скрипт үлгүсүн карап көрөлү. $ nano is_example.py 15 -сапта стример = Streamer (bucket_… менен башталган сапты көрөсүз. Бул сызыктар "Python Stream Example" деп аталган жаңы маалымат чакасын түзөт жана сиздин каттоо эсебиңиз менен байланышкан. Бул ассоциация access_key = "…" параметри ошол эле сапта. Тамгалар менен сандардын узун сериясы - бул сиздин баштапкы абалга кирүү ачкычы. Эгер сиз веб -браузериңиздеги Баштапкы абалга эсебиңизге кирсеңиз, анда оң жактагы колдонуучу атыңызды чыкылдатыңыз, андан кийин "Менин жөндөөлөрүмө", сиз ошол эле кирүү ачкычын беттин ылдыйында "Агымга кирүү ачкычтары" астында таба аласыз.

Маалымат агымын түзгөн сайын, бул кирүү ачкычы ошол маалымат агымын сиздин эсебиңизге багыттайт (андыктан ачкычыңызды эч ким менен бөлүшпөңүз).

5 -кадам: Мисалды иштетүү

Статистикалык сценарийди баштапкы абалдагы эсебиңизге маалымат агымын түзө аларыбызга ынануу үчүн иштетиңиз. Төмөнкүлөрдү иштетүү:

$ python is_example.py

6 -кадам: Пайда

Веб -браузериңиздеги баштапкы абалга кайтыңыз. "Python Stream Example" деп аталган жаңы маалымат чакасы журналдын текчесинде сол тарапта көрүнүшү керек болчу (баракты жаңыртууңуз керек болушу мүмкүн). Бул чаканы чыкылдатып, андан кийин Waves сөлөкөтүн чыкылдатып, тесттин маалыматтарын көрүңүз.

3 -кадам: Python Script

Скрипт түзүңүз жана төмөнкү буйрук менен текст редакторун ачыңыз:

nano vistors.py

Кодду бул жерден текст редакторуңузга көчүрүңүз.

Бир нерсени иштетүүдөн мурун, биз бир нече түзөтүүлөрдү киргизип, сценарийибизде эмне болуп жатканын карап чыгышыбыз керек.

GPO катары RPi. GPIO импорттоо

ISStreamerден уйку убактысын импорттоо. Streamer импорттоо Streamer # Piге биз анын номерлөө системасын колдонобуз деп айткыла GPIO.setmode (GPIO. BCM) # D1 жана LED PINге туташкан пиндер = 23 КӨК = 17 ЖАШЫЛ = 27 КЫЗЫЛ = 22 # Кыймылдын сенсор пинин GPIO.setup (PIN, GPIO. IN) катары белгиле, GPIO. OUT) GPIO.output (GREEN, 0) GPIO.setup (BLUE, GPIO. OUT) GPIO.output (BLUE, 0)

1-21-саптар инициализация үчүн. Биринчиден, биз Пионун GPIO интерфейсин жана сценарийибизди уктоо ыкмасын импорттойбуз. Андан кийин биз мурунку баракта орнотулган Initial State стримерин импорттойбуз.

GPIO.setmode биз казыктар үчүн кайсы номерлөө системасын колдонуп жаткандыгын аныктайт. Физикалык жайгашуунун ордуна, биз Piнин номерлөө системасын колдонобуз. Мурунку диаграммада болгондой эле, биз тандап алган казыктар 23, 17, 27 жана 22. Биз кыймылдын пинин киргизүү катары, ал эми LED казыктарын чыгаруу катары орнотконбуз.

# Баштапкы мамлекеттик чаканын аталышы (көрсөтүлөт)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Баштапкы абалдын чака ачкычы (жашыруун) BUCKET_KEY = "trickortreat" # Баштапкы абалдын кирүү ачкычы ACCESS_KEY = "Сиздин_Алдын_Ачкычыңыз" # Биз болгон же болбогонун көрсөтпөгөн өзгөрмөлөр. катары менен эки жолу кыймыл # Бул жөнөтүлгөн окуяларды жана иштетүү кубатын үнөмдөйт аллакай LED сары GPIO.output (RED, 1) GPIO.output (GREEN, 1)

23-41-саптар маанилүү, анткени биз Initial State стримерин баштапкы абалга келтирип, LEDди сары кылып коюп жатабыз. Баштапкы абалга кирүү ачкычыңызды 28 -сапка коюңуз.

# Цикл түбөлүккө

while True: # Кыймыл сенсору жогору тартса (кыймылды аныктайт): эгер GPIO.input (PIN) == 1: print "Кыймыл аныкталды" # Эгерде биз азырынча агымга чыга элек болсок: эгерде элекRecordedMotion: counter = counter + 1 # Светодиодду кызыл GPIO.output (КЫЗЫЛ, 1) GPIO.output (ЖАШЫЛ, 0) коюу streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () аллакайRecordedMotion = True allaqachonRecordedNoMotion = False else: # Скриптти 1 секунддук уйку үчүн тындыруу (1) башка: басып чыгаруу "Кыймыл табылган жок" # Эгерде биз азырынча агымга чыга элек болсок: эгерде ансыз делеRecordedNoMotion: # Светодиодду сары GPIO.output (RED, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or:ocolate_bar:? ",": no_pedestrians: Around Around ") streamer.flush () аллакайRecordedNoMotion = True trueRecordedMotion = False else: # Скриптти 1 секунд уктоо үчүн тындыруу (1)

43-77-саптар коддун эти. Эгерде кыймыл аныкталса, скрипт "Дарылоо убактысы!" буга чейин агылып келген. Эгерде ал жок болсо, анда ал баштапкы абалга жөнөтүлөт жана LED кызыл түскө коюлат; эгер бар болсо, скрипт 1 секунд күтөт, анан кайра кыймыл сенсорунан окуйт. Эгерде кыймыл аныкталбаса, ошол эле нерсе.

Бул кодду текшерүү убактысы келди! Түзөтүлгөн файлыңызды 28 -сапка кошулган кирүү ачкычы менен сактап калганыңызды текшериңиз жана терминалга кириңиз:

python коноктору.py

Сиз LED күйүп турганын көрүшүңүз керек жана "Кыймыл аныкталган жок" буйрук сабына басып чыгара баштайт. Колуңузду кыймыл сенсоруна шилтеп көрүңүз - сиз азыр кызыл жарыкты көрүшүңүз керек жана "Кыймыл аныкталды" басып чыгара баштаңыз!

Эми биздин окуубуз баштапкы абалга жеткирилип жатканын текшерүү үчүн.

4-кадам: Алдоо же дарылоо тактасы

Айла-амал менен иштөө панели
Айла-амал менен иштөө панели

Баштапкы мамлекетке өтүңүз жана тактаңызды текшериңиз! Сиз "? Trick же Treat Tracker" деп аталган чаканы көрүшүңүз керек. Колуңузду кыймыл сенсорунун жанына жаңыртыңыз жана анын жаңырганын көрүңүз!

Менин тактам акыркы маанини чагылдырган 2 корутунду плиткадан жана окуялардын гистограммасынан турат, андыктан сенсор кайсы убакта иштетилгенин көрө алам.

Бул жерде карап кээ бир нерселер болуп саналат:

  • Сиз, балким, "Ачкалардын" санын 2ге бөлгүңүз келет, ошол эле адам кыймыл сенсорунун алдынан эки жолу - сиздин эшигиңизге баратканда жана кайра кайтып келе жатканда. Муну "= math.round (([Hungry Humans?]/2), 0)") теңдемесин колдонуу менен реалдуу убакытта билдирүүлөр менен жасай аласыз.
  • Кыймыл сенсоруңуз канчалык сезимтал экенин текшерип, тротуарыңызга жараша коюңуз. Мен аны эшиктен алысыраак кармоону сунуштайм, ал эшикте кимдир бирөө турганда иштебейт.
  • Ошондой эле кимдир бирөө жакындап калганын билдирүү үчүн текст эскертмелерин орнотсоңуз болот.
  • Куралдар тактаңызга бир аз коркунучтуу инсанды берүү үчүн фондук сүрөттү тандаңыз!

Сунушталууда: