Sadržaj:
- Pribor
- Korak 1: Sklapanje hardvera
- Korak 2: Početno stanje
- Korak 3: Python skripta
- Korak 4: Nadogradite nadzornu ploču
Video: Pumpkin Pi Tracker-or-Treat Tracker: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Autor elizabethnaSlijedi Više od autora:
Tražite brzi projekt Halloween koji je koristan na više načina? Želite li dobro iskoristiti taj Pi Zero WH? Želite li pomoću podataka odrediti koliko će vam slatkiša biti potrebno sljedeće godine?
Pripremite se za izradu Track-or-Tracker-a Trampkin Pi Tracker! Ovaj Pi-in-a-Bundeva, dvostruki ukras i tragač za ljudima, mijenja boju i struji kad se detektira kretanje. Počevši od apsolutne tačke, ovaj vam projekt ne bi trebao oduzeti više od jednog popodneva - baš na vrijeme za Noć vještica!
Pribor
- Pi Zero WH sa SD karticom
- PIR senzor pokreta
- RGB LED
- Otpornici 220 ohma
- (3) Linije kravate (Ž/Ž, M/Ž, M/M)
- Prijenosna baterija
- Lažna bundeva
Korak 1: Sklapanje hardvera
Nakon što pokrenete svoj Pi, moramo spojiti senzor pokreta i LED diode. Uvjerite se da Pi u ovom trenutku nije spojen na napajanje.
Naš senzor pokreta zahtijeva da ga spojimo na napajanje od 3,3 V, uzemljenje i podatkovni pin. Spojio sam pin osjetnika od 3,3 V na pin 1 Pi, pin osjetnika uzemljenja na pin 6 Pi i pin osjetnika Data na pin 16 Pi. Prva slika prikazuje potpunu vezu za Pi i senzor pokreta.
LED diode su malo složenije od senzora pokreta jer im je potreban otpornik kako bi radile ispravno bez oštećenja njih ili Pi. Koristio sam tri otpornika od 220 ohma, ali otpornici od 220 i 330 ohma obično se koriste sa LED diodama.
Da biste sve povezali, možete učiniti sljedeće:
- Lemite LED noge na otpornike, a zatim žice uvedite u Pi
- Upotrijebite ploču za povezivanje i veze za povezivanje svega
- Upotrijebite kravate i električnu traku za povezivanje svega (kao što sam i ja učinio).
LED diodu ćemo spojiti na pinove 11, 13 i 15. Ovo je ipak malo zeznutije od senzora pokreta, jer noge na LED -u odgovaraju određenoj boji! Duga noga je GND; i, barem na LED -u, noge su postale crvene, GND, plave, zelene. Spojio sam plavo na Pi pin 11, zeleno na Pi pin 13, a crveno na Pi pin 15. Druga slika prikazuje veze konačnog kruga.
Korak 2: Početno stanje
Naravno da možemo vidjeti kada se LED-om detektira pokret, ali kako ćemo pratiti koliko je trikova ili obrađivača palo da nam ukradu slatkiše?
Prijeći ćemo na nadzornu ploču svaki put kad pokret počne i prestane biti otkriven. Budući da je ovoj nadzornoj ploči pristupačno s bilo kojeg mjesta s internetskom vezom, možemo daljinski nadzirati približava li se netko ulaznim vratima/zdjeli sa slatkišima.
Korak 1: Registrirajte se za početni državni račun Idite na https://iot.app.initialstate.com i stvorite novi račun.
Korak 2: Instalirajte ISStreamer
Instalirajte modul početnog stanja Python na svoj Raspberry Pi. U naredbenom retku (ne zaboravite prvo unijeti SSH u svoj Pi), pokrenite sljedeću naredbu:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Korak 3: Napravite Automagic
Nakon 2. koraka na ekranu ćete vidjeti nešto slično sljedećem izlazu:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Lozinka: Počinje laka instalacija ISStreamer Pythona! Ovo može potrajati nekoliko minuta za instalaciju, uzmite kavu:) Ali ne zaboravite se vratiti, imat ću pitanja kasnije! Nađeno easy_install: setuptools 1.1.6 Pronađeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna verzija pipa: 1 mala verzija pipa: 5 ISStreamer je pronađen, ažurira se … Zahtev je već ažuriran: ISStreamer u /Library/Python/2.7/site-packages Cleaning… Želite li automatski dobiti primjer skripte? [y/N] Gdje želite spremiti primjer? [zadano:./is_example.py] Molimo odaberite aplikaciju početnog stanja koju koristite: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Unesite izbor 1 ili 2: Unesite iot.app.initialstate.com korisničko ime: Unesite lozinku iot.app.initialstate.com:
Kada se od vas zatraži da automatski nabavite primjer skripte, upišite y. Ovo će stvoriti testnu skriptu koju možemo pokrenuti kako bismo bili sigurni da možemo strujati podatke u početno stanje. Sljedeći upit će vas upitati gdje želite spremiti datoteku primjera. Možete unijeti prilagođeni lokalni put ili pritisnuti enter da biste prihvatili zadanu lokaciju. Na kraju će vas pitati koju aplikaciju Initial State koristite. Ako ste nedavno stvorili račun, odaberite opciju 2, unesite svoje korisničko ime i lozinku. Nakon toga instalacija će biti dovršena.
Korak 4: Pristupni ključevi
Pogledajmo primjer skripte koja je stvorena. $ nano is_example.py Na 15. retku vidjet ćete redak koji počinje sa streamer = Streamer (bucket_…. Ovi retci stvaraju novu podatkovnu gomilu pod nazivom „Primjer Python Stream -a“i povezani su s vašim računom. To se povezivanje događa zbog access_key =”…” parametar u tom istom retku. Taj dugi niz slova i brojeva vaš je pristupni ključ računa početnog stanja. Ako u svom web pregledniku otvorite svoj račun početnog stanja, kliknite svoje korisničko ime u gornjem desnom kutu, a zatim idite u "moje postavke", isti pristupni ključ pronaći ćete pri dnu stranice u odjeljku "Pristupni ključevi za strujanje".
Svaki put kada stvorite podatkovni tok, taj pristupni ključ usmjerit će taj podatkovni tok na vaš račun (stoga nemojte ni s kim dijeliti svoj ključ).
Korak 5: Pokrenite primjer
Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vaš račun početnog stanja. Pokrenite sljedeće:
$ python je_example.py
Korak 6: Dobit
Vratite se na početno stanje računa u svom web pregledniku. Nova podatkovna korpa pod nazivom „Primjer Python Stream -a“trebala se pojaviti s lijeve strane na polici vašeg dnevnika (možda ćete morati osvježiti stranicu). Kliknite na ovu kantu, a zatim kliknite na ikonu Valovi za pregled podataka o testiranju.
Korak 3: Python skripta
Izradite skriptu i otvorite uređivač teksta sa sljedećom naredbom:
nano vistors.py
Kopirajte i proslijedite kôd odavde u uređivač teksta.
Prije nego što pokušamo pokrenuti bilo što, moramo napraviti nekoliko izmjena i pregledati što se događa u našem scenariju.
uvezite RPi. GPIO kao GPIO
od trenutka uvoza u stanje mirovanja iz ISStreamer. Streamer import Streamer # Recite Pi da ćemo koristiti njegov sustav označavanja GPIO.setmode (GPIO. BCM) # Igle koje su D1 i LED spojene na PIN = 23 PLAVA = 17 ZELENA = 27 CRVENA = 22 # Odredite naš pin osjetnika pokreta kao ulazni GPIO.setup (PIN, GPIO. IN) # Navedite naše LED pinove kao izlazni GPIO.setup (CRVENO, GPIO. OUT) GPIO.izlaz (CRVENO, 0) GPIO.setup (ZELENO, GPIO. OUT) GPIO.izlaz (ZELENO, 0) GPIO.postavljanje (PLAVO, GPIO. OUT) GPIO.izlaz (PLAVO, 0)
Redci 1-21 služe za inicijalizaciju. Prvo uvozimo Pi -jevo GPIO sučelje i način spavanja naše skripte. Zatim uvozimo početni streamer stanja koji smo instalirali na prethodnoj stranici.
GPIO.setmode navodi koji sustav numeriranja koristimo za pinove. Umjesto fizičke lokacije, koristimo Pi -jev sustav numeriranja. Kao i na našem dijagramu ranije, igle koje smo odabrali bile su 23, 17, 27 i 22. Zatim smo pin za kretanje postavili kao ulaz, a LED pinove kao izlaz.
# Naziv početne kante stanja (prikazano)
BUCKET_NAME = ": jack_o_lantern: Tracker Track or Treat Tracker" # Početni ključ spremnika stanja (skriven) BUCKET_KEY = "trickortreat" # Početni pristupni ključ stanja ACCESS_KEY = "Your_Access_Key" # Varijable koje osiguravaju da ne strujimo da je bilo ili nije pokret dva puta zaredom # Ovo štedi na poslanim događajima i već ima procesorsku snaguRecordedMotion = False alreadyRecordedNoMotion = False counter = 0 # Pokreni početni niz streamer streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) # LED na žuto GPIO.izlaz (CRVENO, 1) GPIO.izlaz (ZELENO, 1)
Linije 23-41 važne su jer inicijaliziramo streamer početnog stanja i postavljamo LED na žuto. Pristupni ključ početnog stanja stavite na redak 28.
# Petlja neograničeno dugo
while True: # Ako senzor pokreta povuče visoko (detektira kretanje): ako je GPIO.input (PIN) == 1: ispišite "Motion detection" # Ako još nismo streamali: ako već nijeRecordedMotion: counter = counter + 1 # Postavite LED na crveno GPIO.output (CRVENO, 1) GPIO.output (ZELENO, 0) # Stream u početno stanje streamer.log (": ghost: or: chocolate_bar:?", ": chocolate_bar: Time For Treats!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () alreadyRecordedMotion = Istina većRecordedNoMotion = False else: # Pauzirajte skriptu za 1 sekundu spavanja (1) else: print "Nema pokreta" # Ako još nismo streamali: ako već nijeRecordedNoMotion: # Postavite LED na žuto GPIO.output (CRVENO, 1) GPIO.output (ZELENO, 1) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No One Around ") streamer.flush () alreadyRecordedNoMotion = Istina većRecordedMotion = False else: # Pauzirajte skriptu na 1 sekundu spavanja (1)
Redci 43-77 su meso koda. Ako se detektira pokret, skripta će provjeriti je li "Vrijeme za liječenje!" već je streamano. Ako nije, šalje se u početno stanje, a LED je postavljen na crveno; ako jest, skripta čeka 1 sekundu, a zatim ponovno čita s senzora pokreta. Isto vrijedi i ako se ne otkrije gibanje.
Vrijeme je za testiranje koda! Provjerite jeste li spremili uređenu datoteku s pristupnim ključem dodanim u retku 28, a zatim unesite u terminal:
posjetitelji pythona.py
Trebali biste vidjeti da se LED lampica uključuje i "Nema pokreta otkriveno" početi ispisivati u naredbeni redak. Pokušajte mahnuti rukom preko senzora pokreta - sada biste trebali vidjeti crveno svjetlo i "Motion Motion" početak ispisa!
Sada provjerite da li se naša očitanja prenose u početno stanje.
Korak 4: Nadogradite nadzornu ploču
Prijeđite na početno stanje i provjerite svoju nadzornu ploču! Trebali biste vidjeti kantu pod nazivom "? Trick or Treat Tracker". Mahnite rukom blizu senzora pokreta i gledajte kako se ažurira!
Moja nadzorna ploča sastoji se od 2 pločice sa sažetkom koje prikazuju zadnju vrijednost i histograma broja događaja tako da mogu vidjeti u koje je vrijeme senzor aktiviran.
Evo nekoliko stvari koje treba uzeti u obzir:
- Vjerojatno želite podijeliti broj "gladnih ljudi" s 2 kako biste uzeli u obzir činjenicu da će ista osoba dva puta proći ispred senzora pokreta - na putu do vaših vrata i na povratku. To možete učiniti s izrazima u stvarnom vremenu koristeći jednadžbu "= math.round (([Hungry Humans?]/2), 0)".
- Možete testirati koliko je vaš osjetnik pokreta osjetljiv i prema tome ga postaviti na pločnik. Predlažem da ga držite dovoljno daleko od vrata da se ne aktivira kad netko stoji na vratima.
- Također možete postaviti tekstualna upozorenja koja će vam reći da se netko približava.
- Odaberite pozadinsku sliku kako biste svojoj nadzornoj ploči dali sablasnu osobnost!
Preporučeni:
GPS Tracker: 6 koraka
GPS Tracker: Hej dečki, u ovom videu napravit ćemo GPS tracker koristeći Esp 8266 (nodemcu) i neo 6m GPS modul pa krenimo
Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: 6 koraka
Desktop COVID19 Tracker sa satom! Raspberry Pi Powered Tracker: Znamo da možemo umrijeti bilo kada, čak i ja mogu umrijeti dok pišem ovaj post, na kraju krajeva, ja, ja, svi smo smrtnici. Cijeli svijet se potresao zbog pandemije COVID19. Znamo kako to spriječiti, ali hej! znamo kako se moliti i zašto moliti, radimo li to
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: 11 koraka
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: Za osobe s slabim vidom, koristite ovo za bolje razumijevanje svijeta oko sebe
AstroTracker - Star Tracker Star Tracker: 10 koraka (sa slikama)
AstroTracker - Tracker Star Barry Door Starcker: Svatko može raditi astrofotografiju sve dok imate fotoaparat. Samo ga stavite na stativ, neka objektiv ostane otvoren što je dulje moguće i BAM! Prekrasne zvijezde, jata i magline. Ali što je to? Postoje li pruge na filmu umjesto točnih
Pumpkin Pi digitalni upravljač za ukrašavanje: 5 koraka (sa slikama)
Pumpkin Pi Digital Decoration Controller: Pozdrav ljudi, dopustite mi da vam predstavim Pumpkin Pi. Jednostavno rečeno, to je U/I kontroler za Raspberry Pi s dvanaest programabilnih izlaza, ali s malo hocus-pokusa (ili Python koda za vas i mene) postaje digitalni ukrasni kontroler