Sadržaj:
- Supplies
- Korak 1: Sklapanje hardvera
- Korak 2: Početno stanje
- Korak 3: Python skripta
- Korak 4: Kontrolna ploča trikova ili liječenja
Video: Pumpkin Pi Tracker-or-Treat Tracker: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Autor elizabethnaSledi Još autora:
Tražite brzi projekt za Noć vještica koji je koristan na više načina? Želite dobro iskoristiti taj Pi Zero WH? Želite li pomoću podataka odrediti koliko će vam bombona biti potrebno sljedeće godine?
Spremite se za izradu Pumpkin Pi Tracker-or-Treat Trackera! Ujedno i ukras i tragač za ljude, ovaj Pi-in-a-Pumpkin mijenja boju i struji kada se detektira kretanje. Počevši od apsolutne tačke, ovaj projekat vam ne bi trebao oduzeti više od jednog popodneva - baš na vrijeme za Noć vještica!
Supplies
- Pi Zero WH sa SD karticom
- PIR senzor pokreta
- RGB LED
- Otpornici 220 ohma
- (3) Linije veza (F/Ž, M/Ž, M/M)
- Prenosna 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 pin za podatke. Priključio sam pin osjetnika od 3,3 V na pin 1 Pi, pin osjetnika uzemljenja na pin 6 Pi i pin osjetnika podataka 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, a da ne oštete 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 vodite žice u Pi
- Koristite matičnu ploču i veze za povezivanje svega
- Upotrijebite veze i električnu traku za povezivanje svega (kao što sam i ja učinio).
Spojit ćemo našu LED diodu 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 mom 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 konačne veze kola.
Korak 2: Početno stanje
Naravno da možemo vidjeti kada se LED-om detektira pokret, ali kako ćemo pratiti koliko je trikova ili tretmana 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 pratiti da li se neko približava 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 kreirajte novi račun.
Korak 2: Instalirajte ISStreamer
Instalirajte početni državni Python modul 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 ISStreamer Python Laka instalacija! Ovo može potrajati nekoliko minuta da se instalira, popijete kafu:) Ali ne zaboravite da se vratite, ja ću imati pitanja kasnije! Pronađ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 pip minor verzija: 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 da dobijete primer 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 osigurali da možemo prenositi podatke u početno stanje. Sljedeći upit će vas upitati gdje želite spremiti datoteku primjera. Možete unijeti prilagođenu lokalnu putanju 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_…. Ove linije stvaraju novu podatkovnu gomilu pod nazivom „Primjer Python Stream -a“i povezane su s vašim računom. Ova asocijacija se događa zbog access_key =”…” parametar u istoj liniji. 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 na svoje korisničko ime u gornjem desnom kutu, a zatim idite u "moje postavke", isti pristupni ključ ćete pronaći pri dnu stranice pod "Pristupni ključevi za prijenos".
Svaki put kada kreirate tok podataka, taj pristupni ključ će usmjeriti taj tok podataka na vaš račun (zato ne dijelite ključ ni sa kim).
Korak 5: Pokrenite primjer
Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vašem računu početnog stanja. Pokrenite sljedeće:
$ python is_example.py
Korak 6: Dobit
Vratite se na svoj račun početnog stanja u svom web pregledniku. Nova korpa podataka 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 Waves (Talasi) za pregled podataka o testiranju.
Korak 3: Python skripta
Kreirajte 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 pokušamo bilo što pokrenuti, moramo napraviti nekoliko izmjena i pregledati šta se dešava u našem scenariju.
uvezite RPi. GPIO kao GPIO
od trenutka ulaska u stanje mirovanja iz ISStreamer. Streamer import Streamer # Recite Pi -u da ćemo koristiti sistem numerisanja GPIO.setmode (GPIO. BCM) # Igle na koje su D1 i LED povezani na PIN = 23 PLAVO = 17 ZELENO = 27 CRVENO = 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)
Redovi 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 sistem numeriranja koristimo za pinove. Umjesto fizičke lokacije, koristimo Pi -ov sistem numeriranja. Kao i na našem dijagramu ranije, pinovi koje smo odabrali bili su 23, 17, 27 i 22. Zatim smo postavili iglu pokreta kao ulaz, a LED pinove kao izlaz.
# Naziv početnog stanja kante (prikazano)
BUCKET_NAME = ": jack_o_lantern: Tracker Trick or Treat Tracker" # Početni ključ spremnika stanja (skriven) BUCKET_KEY = "trickortreat" # Početni pristupni ključ za stanje ACCESS_KEY = "Your_Access_Key" # Varijable koje osiguravaju da ne prenosimo da je bilo ili nije bilo pokret dva puta zaredom # Ovo štedi na poslanim događajima i već ima procesorsku snaguRecordedMotion = Netačno većRecordedNoMotion = Netačno brojilo = 0 # Inicirajte 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 su važne jer inicijaliziramo niz početnih stanja i postavljamo LED na žuto. Pristupni ključ početnog stanja stavite na red 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 = Tačno većRecordedNoMotion = False else: # Pauzirajte skriptu za 1 sekundu spavanja (1) else: print "Nije otkriveno kretanje" # Ako još nismo streamali: ako već nije snimljenoNoMotion: # Postavite LED na žutu GPIO.izlaz (CRVENO, 1) GPIO.izlaz (ZELENO, 1) # Prijenos u početno stanje streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No one around"
Redovi 43-77 su meso koda. Ako se detektira pokret, skripta će provjeriti je li "Vrijeme za liječenje!" već je emitirano. Ako nije, šalje se u početno stanje i LED je postavljen na crveno; ako jeste, skripta čeka 1 sekundu, a zatim ponovo čita sa senzora pokreta. Isto vrijedi i ako se ne otkrije kretanje.
Vrijeme je da isprobate kôd! Provjerite jeste li sačuvali uređenu datoteku s pristupnim ključem dodanim u retku 28, a zatim unesite u terminal:
python visitors.py
Trebali biste vidjeti da se LED lampica uključuje i "Nema pokreta otkriveno" počinje ispisivati u naredbenu liniju. Pokušajte mahnuti rukom preko senzora pokreta - sada biste trebali vidjeti crveno svjetlo i "Otkriveno kretanje" počinje štampanje!
Sada provjerite da li se naši očitanja prenose u početno stanje.
Korak 4: Kontrolna ploča trikova ili liječenja
Pređ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 sažete pločice koje prikazuju posljednju vrijednost i histograma broja događaja tako da mogu vidjeti u koje vrijeme je senzor aktiviran.
Evo nekih 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 pri 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 osjetljiv vaš osjetnik pokreta i postaviti ga na pločnik u skladu s tim. Predlažem da ga držite dovoljno daleko od vrata da se ne aktivira kada neko stoji na vratima.
- Također možete postaviti tekstualna upozorenja koja će vam reći da se neko približava.
- Odaberite pozadinsku sliku kako biste svojoj nadzornoj ploči dali sablasnu osobnost!
Preporučuje se:
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
Tinyduino LoRa Tracker Pet Tracker: 7 koraka
Tinyduino LoRa Tracker Pet Tracker: Tko ne želi imati kućne ljubimce ?? Ti krzneni prijatelji mogu vas ispuniti ljubavlju i srećom. Ali bol zbog nedostatka njih je poražavajuća. Naša porodica je imala mačka po imenu Thor (slika gore) i on je bio lutalica zaljubljenik u avanture. Mnogo puta se vraćao
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: 11 koraka
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: Za osobe sa slabim vidom, koristite ovo za bolje razumijevanje svijeta oko sebe
Movie Tracker - Raspberry Pi Powered Theatral Release Tracker: 15 koraka (sa slikama)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker je otkazivač koji podržava Raspberry Pi. Koristi TMDb API za štampanje postera, naslova, datuma izlaska i pregleda nadolazećih filmova u vašoj regiji u određenom vremenskom intervalu (npr. Izdanja filmova ove sedmice) na
Pumpkin Pi digitalni kontroler dekoracije: 5 koraka (sa slikama)
Pumpkin Pi Digital Decoration Controller: Zdravo ljudi, dopustite mi da vam predstavim Pumpkin Pi. Jednostavno rečeno, to je I/O kontroler za Raspberry Pi s dvanaest programabilnih izlaza, ali s malo hokus-pokusa (ili Python koda za vas i mene) postaje digitalni ukrasni kontroler