
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47

Kövesse a szerző további információit:






Gyors Halloween projektet keres, amely több szempontból is hasznos? Szeretné hasznosítani ezt a Pi Zero WH -t? Úgy érzi, hogy az adatok segítségével határozza meg, mennyi édességre lesz szüksége a következő évben?
Készüljön fel a Pumpkin Pi Trick-or-Treat Tracker építésére! Ez a Pi-in-a-Pumpkin dekorációként és emberkövetőként is funkcionál, és mozgás észlelésekor megváltoztatja a színét és a patakokat. Az abszolút semmiből kiindulva ennek a projektnek egy délutánnál nem kell több időbe telnie az összeállításához - éppen Halloween idején!
Kellékek
- Pi Zero WH SD kártyával
- PIR mozgásérzékelő
- RGB LED
- 220 ohmos ellenállások
- (3) Kötővonalak (F/F, M/F, M/M)
- Hordozható akkumulátor
- Hamis tök
1. lépés: A hardver összeszerelése



Miután elindította a Pi -t, csatlakoztatnunk kell a mozgásérzékelőt és a LED -eket. Győződjön meg arról, hogy a Pi jelenleg nincs csatlakoztatva az áramforráshoz.
Mozgásérzékelőnk megköveteli, hogy csatlakoztassuk 3,3 V -os tápellátáshoz, földhöz és adattűhöz. A 3,3 V -os érzékelőcsapot a Pi 1 -es, a Ground -érzékelő -tűt a Pi 6 -os csatlakozójához, az Adatérzékelő -tűt pedig a Pi 16 -as csatlakozójához kötöttem. Az első kép a Pi és a mozgásérzékelő teljes kapcsolatát mutatja.
A LED -ek kissé bonyolultabbak, mint a mozgásérzékelők, mivel ellenállás szükséges ahhoz, hogy megfelelően működjenek anélkül, hogy károsítanák őket vagy a Pi -t. Három 220 ohmos ellenállást használtam, de a 220 és 330 ohmos ellenállásokat általában LED -ekkel használják.
Ha mindent be akar kötni, akkor:
- Forrasztja a LED -lábakat az ellenállásokhoz, majd futtassa a vezetékeket a Pi -be
- Használjon kenyérlapot és kötözővonalakat minden összekötéséhez
- Használjon nyakkendőket és elektromos szalagot minden csatlakoztatásához (mint én).
Csatlakoztatjuk a LED -eket a 11 -es, 13 -as és 15 -ös érintkezőkhöz. Ez azonban egy kicsit bonyolultabb, mint a mozgásérzékelő, mivel a LED lábai egy adott színnek felelnek meg! A hosszú láb GND; és legalábbis a LED -emen a lábak pirosak, GND -k, kékek és zöldek lettek. A Kéket a 11 -es Pi -tűhöz, a Zöldet a Pi -13 -as érintkezőhöz, a Pirosat pedig a Pi -15 -ös csatlakozóhoz kötöttem. A második kép a végső áramköri csatlakozásokat mutatja.
2. lépés: Kezdeti állapot


Persze láthatjuk, hogy mikor érzékeljük a mozgást a LED-del, de hogyan fogjuk nyomon követni, hogy hány trükköt tett le, hogy ellopják az édességet?
A műszerfalra fogunk streamelni minden alkalommal, amikor a mozgás elkezdődik és leáll. Mivel ez a műszerfal internetkapcsolattal bárhonnan elérhető, távolról nyomon követhetjük, hogy valaki közeledik -e a bejárati ajtóhoz/cukorkatálhoz.
1. lépés: Regisztráció a kezdeti állapotú fiókhoz Menjen a https://iot.app.initialstate.com webhelyre, és hozzon létre egy új fiókot.
2. lépés: Telepítse az ISStreamert
Telepítse a Kezdeti állapot Python modult a Raspberry Pi -re. Parancssorban (ne felejtse el először SSH -t bevinni a Pi -be), futtassa a következő parancsot:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
3. lépés: Készítsen néhány automatikus eszközt
A 2. lépés után a következő kimenethez hasonlót lát a képernyőn:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Jelszó: Kezdetben az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés… A követelmény már naprakész: ISStreamer a /Library/Python/2.7/site-packages fájlban Tisztítás … Szeretné automatikusan megkapni a példa szkriptet? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:
Amikor a rendszer kéri, hogy automatikusan szerezzen be egy példafájlt, írja be az y parancsot. Ez létrehoz egy teszt szkriptet, amelyet futtathatunk annak érdekében, hogy biztosítsuk az adatok streamelését a kezdeti állapotba. A következő parancssor megkérdezi, hová kívánja menteni a mintafájlt. Beírhat egyéni helyi elérési utat, vagy az Enter billentyűt lenyomva elfogadhatja az alapértelmezett helyet. Végül megkérdezi, hogy melyik kezdeti állapotú alkalmazást használja. Ha nemrég hozott létre fiókot, válassza a 2. lehetőséget, írja be felhasználónevét és jelszavát. Ezt követően a telepítés befejeződik.
4. lépés: Hozzáférési kulcsok
Vessünk egy pillantást a létrehozott példa szkriptre. $ nano is_example.py A 15. sorban egy sort láthat, amely a következővel kezdődik: streamer = Streamer (bucket_…. Ez a sor létrehoz egy új adatcsoportot „Python Stream Example” néven, és a fiókjához van társítva. Ez a társítás a access_key =”…” paraméter ugyanazon a soron. Ez a hosszú betű- és számsorozat az Ön kezdeti állapotú fiókjának hozzáférési kulcsa. Ha böngészőjében megnyitja a Kezdeti állapot fiókját, kattintson a jobb felső sarokban található felhasználónevére, majd a „Saját beállítások” menüpontban ugyanazt a hozzáférési kulcsot találja az oldal alján, a „Streaming hozzáférési kulcsok” alatt.
Minden alkalommal, amikor adatfolyamot hoz létre, ez a hozzáférési kulcs az adatfolyamot a fiókjába irányítja (tehát ne ossza meg senkivel).
5. lépés: Futtassa a példát
Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Futtassa a következőt:
$ python is_example.py
6. lépés: Nyereség
Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a vödörre, majd kattintson a Hullámok ikonra a tesztadatok megtekintéséhez.
3. lépés: Python -szkript
Hozzon létre egy szkriptet, és nyissa meg a szövegszerkesztőt a következő paranccsal:
nano vistors.py
Másolja ki és másolja át a kódot innen a szövegszerkesztőbe.
Mielőtt bármit is futtatni próbálnánk, néhány szerkesztést kell végrehajtanunk, és át kell tekintenünk a szkriptünk történéseit.
importálja az RPi. GPIO -t GPIO -ként
az idő behozatalától az alvó állapot az ISStreamer -től. Streamer import Streamer # Mondja el a Pi -nek, hogy a számozási rendszerét fogjuk használni = 22 # Adja meg mozgásérzékelőnk tűjét bemenetként GPIO.setup (PIN, GPIO. IN) # Adja meg LED -es csapjainkat kimenetként GPIO.setup (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN) GPIO. OUT)
Az 1-21 sorok inicializálásra szolgálnak. Először importáljuk a Pi GPIO felületét és a szkript alvó módját. Ezután importáljuk a Kezdeti állapot streamelőt, amelyet az előző oldalra telepítettünk.
A GPIO.setmode határozza meg, hogy melyik számozási rendszert használjuk a csapokhoz. A fizikai hely helyett a Pi számozási rendszerét használjuk. Ahogyan az előző diagramunkban is látható, a 23, 17, 27 és 22 csapokat választottuk. Ezután beállítjuk a mozgótüskét bemenetként, és a LED -es csapokat kimenetként.
# Kezdeti állapot csoport neve (megjelenik)
BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Kezdeti állapot vödör kulcsa (rejtett) BUCKET_KEY = "trickortreat" # Kezdeti állapot hozzáférési kulcs ACCESS_KEY = "Your_Access_Key" # Változók, amelyek biztosítják, hogy nem közvetítjük azt, hogy volt vagy nem volt mozgás kétszer egymás után # Ezzel megspórolja az elküldött eseményeket és a feldolgozási teljesítményt már a LED sárgára vált GPIO.kimenet (PIROS, 1) GPIO.kimenet (ZÖLD, 1)
A 23-41 sorok azért fontosak, mert inicializáljuk a Kezdeti állapot streamert, és a LED-et sárgára állítjuk. Tegye a kezdeti állapothoz tartozó hozzáférési kulcsot a 28. sorba.
# Hurok a végtelenségig
míg igaz: # Ha a mozgásérzékelő magasra húz (érzékeli a mozgást): ha GPIO.input (PIN) == 1: nyomtatás "Mozgás észlelve" # Ha még nem streameltünk: ha még nemRecordedMotion: számláló = számláló + 1 # Állítsa a LED -et pirosra GPIO.output (RED, 1) GPIO.output (GREEN, 0) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:?", ": chocolate_bar: Time For Treats!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () jauRecordedMotion = Igaz jauRecordedNoMotion = False else: # A szkript szüneteltetése 1 másodperc alvásig (1) else: print "Nincs mozgás észlelve" # Ha még nem streameltünk: ha még nemRecordedNoMotion: # Állítsa a LED -et sárgára GPIO.output (PIROS, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No One Around ") streamer.flush () jauRecordedNoMotion = Igaz már
A 43-77 sorok a kód húsai. Ha mozgást észlel, a szkript ellenőrzi, hogy a "Time For Treats!" már streamelt. Ha nem, akkor a kezdeti állapotba kerül, és a LED pirosra van állítva; ha igen, a szkript 1 másodpercet vár, majd újra olvas a mozgásérzékelőből. Ugyanez vonatkozik arra az esetre is, ha nem észlel mozgást.
Ideje kipróbálni a kódot! Győződjön meg arról, hogy elmentette a szerkesztett fájlt a hozzáférési kulccsal a 28. sorban, majd lépjen be a terminálba:
python látogatók.py
Látnia kell, hogy a LED kigyullad, és a „Nincs mozgás észlelve” nyomtatás megkezdődik a parancssorba. Próbáljon integetni a kezével a mozgásérzékelő fölött - most piros lámpát kell látnia, és a „Mozgás észlelve” nyomtatás megkezdődik!
Most ellenőrizze, hogy olvasmányaink a kezdeti állapotba kerülnek -e.
4. lépés: Trükkös kezelő műszerfal

Menjen át a kezdeti állapotba, és nézze meg a műszerfalat! Látnia kell egy "? Trick or Treat Tracker" nevű vödröt. Húzza a kezét a mozgásérzékelő közelében, és nézze meg, hogyan frissül!
Az irányítópultom 2 összegző csempéből áll, amelyek az utolsó értéket és az eseményszám hisztogramját jelenítik meg, így láthatom, hogy az érzékelő mikor vált be.
Íme néhány dolog, amit figyelembe kell venni:
- Valószínűleg el akarja osztani az "Éhes emberek" számát 2 -vel, hogy figyelembe vegye azt a tényt, hogy ugyanaz a személy kétszer is elhalad a mozgásérzékelő előtt - az ajtó felé vezető úton és visszafelé. Ezt valós idejű kifejezésekkel teheti meg a "= math.round (([Éhes emberek?]/2), 0)" egyenlet használatával.
- Tesztelheti, hogy mennyire érzékeny a mozgásérzékelője, és ennek megfelelően elhelyezheti a járdán. Azt javaslom, hogy tartsa elég távol az ajtótól, hogy ne induljon el, ha valaki az ajtóban áll.
- Szöveges riasztásokat is beállíthat, hogy közölje, valaki közeledik.
- Válasszon háttérképet, hogy a műszerfal kissé kísérteties személyiséget kapjon!
Ajánlott:
Halloween tök mozgó animatronikus szemmel - Ez a tök meg tudja forgatni a szemét!: 10 lépés (képekkel)

Halloween tök mozgó animatronikus szemmel | Ez a sütőtök megforgathatja a szemét! Állítsa az ultrahangos érzékelő kioldótávolságát a megfelelő értékre (9. lépés), és a sütőtök megkövül mindenkit, aki gyertyát mer tenni
"Varázslatos" nyúl kalapban Fotó trükk: 7 lépés (képekkel)

"Varázslatos" nyúl kalapos fotós trükk: Tehát itt a " varázslat " trükk. Egy jégből készült nyúl ül a bűvész kalapja tetején. A jégnyúl elolvad és örökre eltűnik … vagy nem. Mert a bűvész kalapjában kiderül, hogy van egy fénykép a nyúlról, mintha
A 7 legjobb elektronikai tipp és trükk, amit a készítőnek tudnia kell: 8 lépés (képekkel)

A legjobb 7 elektronikai tipp és trükk, amit egy készítőnek tudnia kell: Régóta foglalkozom az elektronikával, és ez idő alatt rengeteg projektet készítettem. Minden projektem során mindig tanultam valami újat, ami segített a jövőben. Úgy érzem, az elektronika olyan, mint a matematika. Amikor bent
Egyszerű trükk az elektronikával: 6 lépés

Egyszerű trükkök az elektronikával való kezdéshez: Az elektronika iránti lelkesedés azzal kezdődhet, hogy izzóval világít az akkumulátor. Ebben az oktatóanyagban elmagyarázom, hogyan készíthet néhány klassz elektronikai tesztelő eszközt és összetevőt a könnyen hozzáférhető alkatrészekből. Ne feledje, hogy ezek az eszközök
Archos 9 tok Tablet PC tok: 5 lépés

Archos 9 tok Tablet PC tok: Archos 9 Tablet PC tok létrehozása cd/dvd tokból és néhány anyagból. 1X cd/dvd kettős tokot használtam 1X szenzorok 1X szuperragasztó 1X kötött szál 1X tű 1 méter selyem (a kelleténél jóval több) 1 méter párnázás (a kelleténél jóval több) 5x tépőzáras fül