Tartalomjegyzék:

Minimalista kerékpár-jelző, érintéses!: 10 lépés (képekkel)
Minimalista kerékpár-jelző, érintéses!: 10 lépés (képekkel)

Videó: Minimalista kerékpár-jelző, érintéses!: 10 lépés (képekkel)

Videó: Minimalista kerékpár-jelző, érintéses!: 10 lépés (képekkel)
Videó: Моя квартира минималиста 2024, Július
Anonim
Image
Image

Szia! Ez az első Instructable. Mindig a nulláról szerettem volna csinálni a dolgokat, csak hogy lássam, hogyan működik, és ki nem szereti a barkácsolás (csináld magad) dolgokat, amikor valamit az igényeidnek megfelelően módosíthatsz? Bármennyire is érdekesnek tűnik a barkácsolás, egy kis erőfeszítést igényel a megvalósítása. Az Instructables weboldal áttekintése nagyszerű módja annak, hogy elindítsa a DIY törekvéseit, és így kezdtem el építeni néhány projektemet korábban, de soha nem gondoltam, hogy ilyet fogok készíteni.

Ahogy az alkalom adódott, elkészítettem egy kerékpár-jelzőt, minimalista kialakítással és érintéssel. Tudom, hogy sok utasítás vagy online forrás található a kerékpár -jelzőhöz, de legtöbbjük több helyet foglal el, vagy nem volt elég okos ahhoz, hogy bizonyos módon módosítsa őket. Ha olyan mutatót keres, amely elég okos ahhoz, hogy kielégítse igényeit, és lehetőséget ad arra, hogy igényei szerint módosítsa azokat, akkor ez az utasítás az Ön számára!

Miért kerékpáros jelző?

Imádok biciklizni a városban! Fogom a ciklusomat, és csak délelőtt vagy este elmegyek sétálni. Néha éjszaka nehéz vezetni, mivel a mögötte haladó forgalom nem fogja észrevenni Önt, és ez veszélyes jel. Ezért magam szerettem volna egy mutatót építeni az összes anyagból, ami otthon volt nálam, és szintén jól néz ki a kerékpáron, miközben a városban közlekedik, és bekapcsolja a mutatókat!

Nem valósul meg a projekt anélkül, hogy problémákkal kellene szembenéznie! De elmesélem az összes hibát, amit elkövettem, miközben ezt építettem, "praktikus tippként", hogy ne próbálkozzon ezek elkövetésével. A YouTube -videó illusztrációt tartalmaz a projekt felépítéséről, kis animációkat, amelyek közvetítik a dolgok működését, és hogy a mutató hogyan néz ki az úton! A legtöbb bonyolult információt ez az utasítás tartalmazza. Ahogy haladsz, a youtube -videóm szegmenseit "Idővonal" -ként fogom megjelölni minden lépésnél, hogy megnézhesd, hogyan működnek a dolgok. További információt a megadott kiemelt linkekre kattintva kaphat.

A projekt jellemzői:

  • Jobb kanyar jelzése
  • Bal kanyar jelzése
  • Éjszakai látás jelzése
  • Érintés engedélyezve

1. lépés: Az első lépésekhez szükséges anyagok

Alkatrészek tesztelése
Alkatrészek tesztelése
  • Ellenállások (330 ohm és 120 ohm): 330 ohm és 120 ohm
  • Raspberry Pi 3: RPi 3
  • Breadboard: Breadboard
  • Jumper vezetékek (férfi-férfi, férfi-nő, nő-nő): jumper vezetékek
  • Többszálas vezetékek: Többszálú huzal
  • Kapacitív érintésérzékelő (TTP223) - (2): Link
  • RGB LED -ek (közös katódtípus) - (13): RGB LED közös katód
  • Normál LED -ek - (2): LED
  • Forrasztóanyagok: Forrasztókészlet
  • Perf táblák: Perf Board
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolit kondenzátor: elektrolit kondenzátor
  • LDR (fényfüggő ellenállás): LDR
  • Kábelkötegek: Kábelkötegek
  • Kábel korrektor: Kábel korrektor
  • Akril festék és ecsetek (opcionális): festékek és ecsetek
  • Két tároló doboz az összeszereléshez. (1 nagy és 1 közepes méretű)

Mindig tartson fenn extra mennyiséget a fent említettek szerint. Linkeltem az alkatrészeket az Amazon -on és néhány legjobb vásárlási készletet forrasztóanyagokhoz!

Idővonal: Gyűjtsön anyagokat

2. lépés: Az összetevők tesztelése

Alkatrészek tesztelése
Alkatrészek tesztelése
Alkatrészek tesztelése
Alkatrészek tesztelése
Alkatrészek tesztelése
Alkatrészek tesztelése

Tegyük próbára az alkatrészeket! Ez nagyon hasznos a valamilyen okból sérült vagy furcsán működő komponensek szétválasztásához, és ez a fázis lehetővé teszi a kezdeti gyakorlati tapasztalatok megszerzését az alkatrészekkel kapcsolatban, és egy kis tanulást, mielőtt hozzáfogna az egész projekt építéséhez.

Tesztelje az RGB LED típusát

A piacon kétféle RGB LED található. A közös katódtípus és a közös anódtípus.

Ez egy praktikus tipp (bár nagyobb), mert a LED-eket a videóból látható módon itt csatlakoztattam, és a LED nem világított a várt módon, még az áramkör többszörös ellenőrzése után sem. Aztán rájöttem, hogy ennek a LED -nek két típusa van, és az adatlapon végighaladva végre megoldást kaptam! Az áramköröm problémája az volt, hogy a közös katódcsap 3.3 V -ra volt csatlakoztatva, ahogy említettük, és a GPIO -n keresztül tartottam a HIGH -ot, így mind a közös katódcsap, mind a másik 3 tüske azonos potenciállal rendelkezett.

Megoldás: Csatlakoztattam a közös katódcsapot a földhöz, és a LED világított! Az ok, amiért nem változtattam a kódomon, hogy a GPIO csapok alacsonyak maradjanak, mert később több LED -et fogunk használni, és az RPi mindössze két tűt ad nekünk 3,3 V -nál, amire szükségünk van más célokra is!

Hogyan kell tesztelni a típust?

Tartsa a multimétert folytonossági módban. Koppintson a multiméter piros csúcsával és a fekete csúccsal a leghosszabb vezetékre, majd érintse meg a többi vezeték bármelyikét. Ha a LED a fenti lépés végrehajtásával világít, akkor ez egy közös anód RGB LED. Ha nem, most fordítsa meg a multiméter csúcsát. Érintse meg a leghosszabb vezetéket fekete végűvel és piros csúcsot bármely más vezetékkel. Most felvillan, jelezve, hogy a LED közös katód RGB LED.

Hasznos tipp: Ebben a projektben a közös katódtípust használtam. Próbálja meg csak ezeket a típusokat beszerezni, de még akkor is, ha a másik típus elérhető, ne aggódjon. Az áramköri kapcsolatok ugyanazok maradnak, az egyetlen különbség a kódban van, amelyet megjegyzésként adok a tényleges kódsor mellett, ahol meg kell változtatni. Levegőt venni.

Idővonal: tesztelje az RGB -t

Hivatkozás: Az RGB tesztelése

RGB LED világít

Ehhez nézze meg a fenti képeken látható bekötési rajzot, és csatlakoztassa a tűk szerint egy kenyérsütő táblán (hogy biztonságban legyen az indulás).

PIROS: 11-es csap (330 ohmos ellenállás)

ZÖLD: 13-as csap (120 ohmos ellenállás)

KÉK: 15-ös csap (120 ohmos ellenállás)

Az ellenállás értékei a vezetékek eltérő előremenő feszültségei miatt változnak.

Miután helyesen csatlakoztatta őket, kódolja az RPi -t a beépített python IDE -ben.

importálja az RPi. GPIO -t GPIO -ként

#A pin számok megegyeznek az RPi GPIO pontos számával Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Csatlakoztassa a közös katódcsapot a 6 -os csaphoz def TurnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) a közös anódtípus def turnOff (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. LOW) #GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) try: while True: cmd = input ("Írja be a parancsot:") if cmd == "red on ": #type beviteli parancsok, ahogy pontosan említettük" "redOn () elif cmd ==" piros ki ": redOff () elif cmd ==" zöld be ": greenOn () elif cmd ==" zöld ki ": greenOff () elif cmd == "kék be": blueOn () elif cmd == "kék ki": blueOff () else: print ("Nem érvényes parancs"), kivéve a KeyboardInterrupt: GPIO.cleanup ()

Utaltam erre az Instructable -re, nézze meg ezt a részletes leírásért és a kódért!

A fenti kóddal ellenőrizheti, hogy nincs -e több LED együtt, párhuzamosan csatlakoztatva őket a kenyértáblán, és kiveheti az egyetlen pontot az összes összekapcsolt csapból. A LED -ek fényerejének ellenőrzéséhez használjon minden ellenállás értékét minden csaphoz

Hasznos tipp: Győződjön meg arról, hogy ugyanazt a csap típusú párhuzamot csatlakoztatja. Vagyis az egyik LED piros csapja csak a másik LED piros tűjéhez csatlakozik.

Idővonal: Ragyogjon!

Érintőtábla tesztelés

Az áramköri csatlakozás az itt látható (idővonal). Csatlakoztassa őket az ábrán látható módon, és tesztelje érintőpadjait a következő kód használatával.

Kód:

importálja az RPi. GPIO -t GPIO -ként

az idő alvó importálásakor GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Mind a a fenti állítások együtt # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) próbálkozzon: míg True: ha (GPIO.input (touchpad1) == True): print ("Touchpad 1 touchched") sleep (2) elif (GPIO.input (touchpad2) == True): nyomtatás ("Touchpad 2 touchched") alvás (2) else: print ("Not Touched"), kivéve a KeyboardInterrupt: GPIO.cleanup () #CTRL-C a kilépéshez

LED tesztelése

Tekintse meg ezt a fantasztikus útmutatót a LED teszteléséhez!

Miután kipróbálta a fenti összetevőket, készen áll a nagyobb verzió elkészítésére.

3. lépés: Az indikátor panel forrasztása

Az indikátor panel forrasztása
Az indikátor panel forrasztása
Az indikátor panel forrasztása
Az indikátor panel forrasztása
Az indikátor panel forrasztása
Az indikátor panel forrasztása

Ha még nem ismeri a forrasztást, nézze meg ezt az oktatóanyagot, hogy megtanuljon néhány alapot itt (Forrasztás). Ha profi vagy a forrasztásban, kezdjük el!

Az indikátor panel

A forrasztás illusztrációját a fenti képeken találja meg.

A panelhez 13 RGB LED -et használunk. Ossza őket három részre: balra, jobbra és középre a forrasztáshoz.

Fontos: A LED -ek távolsága

3 sort hagytam a LED -ek között. Amint a második képen látható. Ez azért fontos, hogy a LED panel jól nézzen ki és érezze magát. Nem akarjuk, hogy a LED -ek túl messze növeljék a teret, vagy túl közel ahhoz, hogy ne tudják megkülönböztetni a fényt a távolból.

Hasznos tipp: Kezdje az összes közös katódcsap forrasztásával

Hasznos tipp: Használjon többszálas vezetéket a LED-ek összekapcsolásához, mivel kevésbé szilárdak és könnyen hajlíthatók. A rövidebb távolságok csatlakoztatásához használhatja a LED-ek extra levágó csapjait

Jobb rész: (5 LED)

  • Csatlakoztassa az összes piros csapot egymáshoz
  • Csatlakoztassa az összes zöld tűt
  • Csatlakoztassa az összes közös katódcsapot

Bal rész: (5 LED)

  • Csatlakoztassa az összes piros csapot egymáshoz
  • Csatlakoztassa az összes zöld tűt
  • Csatlakoztassa az összes közös katódcsapot

Középső rész: (3 LED)

Hasznos tipp: Ez a rész kellő óvatosságot igényel. Ne forrasztja össze az összes csapot, mint a fenti két szakaszban!

  • Csatlakoztassa az összes piros csapot egymáshoz
  • Csatlakoztassa csak a felső és alsó LED -eket, a zöld tűt.
  • Csatlakoztassa az összes közös katódcsapot

Vezetékek

Hosszabb vezetékekre van szükségünk a panel GPIO kártyához való csatlakoztatásához.

Praktikus tipp:

  • Használjon egyszálú vezetékeket! Elég erősek ahhoz, hogy ellenálljanak a rá ható mechanikai igénybevételnek!
  • Tartsa a vezetékeket valamivel hosszabb ideig, mint a panel és az RPi között szükséges tényleges hosszúság (ez nagyon hasznos a vezetékek későbbi kezelése közben! (Idővonal: Mérések)
  • Forrasztás után szigetelni! Nagyon fontos

Forrasztáshoz használjon áthidaló vezetéket és egyszálú vezetéket. Az áthidaló vezeték egyik végének egy női csatlakozónak kell lennie. Forrasztja őket az itt látható módon (idővonal)

A vezetékeket színkóddal jelölje: piros, zöld és fekete. ami a piros, a zöld és a közös katódcsapoknak felel meg.

Szükségünk van 3 fekete vezetékre, 3 piros vezetékre és 3 zöld vezetékre.

Miután a vezetékek készen állnak. Forrasztja a vezetékeket a jelző LED -ekhez.

Hasznos tippek:

  • Győződjön meg arról, hogy a LED -ek a megadott csatlakozásoknak megfelelően forrasztottak.
  • Győződjön meg arról, hogy a megfelelő ellenállásértékeket forrasztotta a helyére. Ha az értékek megváltoznak, ez befolyásolja a LED -ek fényerejét
  • Az egyik módja annak, hogy megbizonyosodjon arról, hogy a LED -ek működnek -e, a 2. lépésben megadott multiméter -mérő használata. Ez nagyon praktikus, mivel tudni fogja, hogy nincs -e rövidzárlat, a LED -ek nem világítanak.
  • Ne húzza le a vezetékek végét a szükségesnél hosszabb ideig. Ezt nehéz lesz a helyükön tartani, és nagyobb a rövidzárlat kockázata is.
  • A LED-ek csatlakoztatásához használjon többszálas vezetéket.
  • A szekciók RPi-hez való csatlakoztatásához használjon egyszálú vezetéket.

4. lépés: Tegye próbára az indikátorpanelt

Tedd próbára az indikátor panelt
Tedd próbára az indikátor panelt
Tedd próbára az indikátor panelt
Tedd próbára az indikátor panelt
Tedd próbára az indikátor panelt
Tedd próbára az indikátor panelt

Dicsőség! Ha megfelelően forrasztotta a panelt. Most folytassuk az indikátor kódolását!

Amint korábban említettük, jobbra, balra, és be-/kikapcsoljuk az éjszakai látványt.

Lásd az áramkör csatlakoztatását a 3. lépésben.

Csatlakoztassa a panel vezetékeit az alábbiak szerint:

  • Piros jobb - 7. tű
  • Zöld jobb - 11. tű
  • Közös katód jobbra - 6. tű (GND)
  • Piros bal - 13. csap
  • Zöld bal - 15. csap
  • Közös bal oldali katód - 9 -es csap (GND)
  • Középső piros - 16. tű
  • Középső zöld (felül és lent) - 18 -as csap
  • Középső közös katód - 14. láb (GND)

Tesztkód:

importálja az RPi. GPIO -t GPIO -ként

időről importálás alvó állapotból #Connect az alábbi pin számok szerint Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): print ("Turning Right") villog (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") villog (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x (10) tartományban: GPIO.output ([pin1, pin2], GPIO. HIGH) alvó (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) alvó (0.5) else: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x (10) tartományban: GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) alvás (0,5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) alvás (0,5) def night_sight (): print ("Night Sight ON") villog (Red_left, Red_right, Red_center) próbálkozzon: míg True: cmd = input (" Teszt LED: ") if cmd ==" jobbra kanyarodás ": jobbra_fordulás () elif cmd ==" balra kanyarodás ": balraforgatás () elif cmd ==" éjszakai látvány ": éjjellátó () más: nyomtatás (" Érvénytelen parancs ")) kivéve Ke yboardInterrupt: GPIO.cleanup ()

Ha a panel törli az összes tesztfázist, mint a kódban, akkor jól! Készüljön fel a következő lépésre

Ha a panel nem világít, győződjön meg arról, hogy minden lépést helyesen követett, és korábban áttekintette a hasznos tippeket. Ha a probléma továbbra is fennáll, írjon megjegyzést alább, kész vagyok segíteni.

Idővonal: ONE teszt (Ellenőrizze a videót a működő prototípusért)

5. lépés: A kijelzőpanel integrálása az érintőpadhoz

A kijelzőpanel integrálása az érintőpadhoz
A kijelzőpanel integrálása az érintőpadhoz
A kijelzőpanel integrálása az érintőpadhoz
A kijelzőpanel integrálása az érintőpadhoz
A kijelzőpanel integrálása az érintőpaddal
A kijelzőpanel integrálása az érintőpaddal

Csatlakoztatása az RPi -hez

Végezze el a csatlakozásokat a fenti képen látható módon.

Jobb panel

Érintőpad:

  • GND csap - 34. tű
  • VCC csap - 1. tű
  • SIG csap - 29. tű

VEZETTE:

Anód (+) csap - 33. tű

Bal panel

Érintőpad:

  • GND csap - 30. tű
  • VCC csap - 17. tű
  • SIG csap - 31. tű

VEZETTE:

Anód (+) csap - 35. tű

Gyakori GND: 39. tű (a LED -ek mindkét katódjához) - Közös földi forrasztás (idővonal)

Tesztkód:

importálja az RPi. GPIO -t GPIO -ként

időpontból import alvó Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 trigged = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (csatorna): GPIO.output (jobb oldali_szalag, GPIO. HIGH) globális kiváltott triggerelés = 1 nyomtatás ("jobbra fordulás") villog (zöld_jobb, zöld_top_bottom) def left_turn (csatorna): GPIO.output (left_led, GPIO. HIGH) globális aktivált triggerelés = 1 nyomtatás ("Turning" Bal ") villog (Zöld_bal, Zöld_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn1, bouninkime = 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x tartományban (10): GPIO.output ([pin1, pin2], GPIO. HIGH) alvó (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) alvás (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) globálisan kiváltott triggerelt = 0 def night_sight (): míg (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globális aktiválva, ha (trigger == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) alvó (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) alvó (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) try: night_sight () kivéve KeyboardInterrupt: GPIO.cleanup ()

Érintse meg az érintőpadot, hogy megvilágítsa fényét

Idővonal (jelző LED nélkül): Második teszt

Idővonal (jelző LED -del): 3. teszt

A kód magyarázata: Azt akarjuk, hogy az éjszakai látómező folyamatosan működjön, és amikor megérintjük az érintőpadot, le kell állnia, és végre kell hajtania az érintőpad funkcióját. Ehhez egyidejűleg használunk a "megszakítások" néven ismert valamit a pythonban. Ez lehetővé teszi számunkra, hogy normál kódunkat futtassuk, ami itt az éjszakai látómező, és eseményt is kivált, amikor az érintést észlelik. Az aktivált változót zászlóként használjuk az éjszakai látás megállítására.

A megszakításokról további információt ezen a linken talál.

Forrasztja a panelt

Most forrasztjuk az érintőpad paneleket, amelyek a kerékpár kormányához kerülnek. Tekintse meg a csatlakozásokat a fenti képen látható módon.

Most, hogy tesztelte a LED -et és az érintőpadot, már indulhat is. Ha még nem tesztelte, olvassa el ezt a lépést és az előző lépéseket.

Helyezze az érintőpadot a kormány közelébe, ahogy a videó mutatja. Vagyis a jobb oldali érintőpad esetében az érintőpad jobbról balra, balról balra található. Hasonlóképpen, a bal érintőpad esetében a led a jobb oldalon, az érintőpad pedig a bal oldalon található, ami megkönnyíti a hüvelykujj elérését.

PS: Nem forrasztottam az érintőpadot a parfümhöz, mert újra fel akartam használni. Ezért csak kétoldalas szalaggal tettem fel a panelre.

Csatlakoztassa a panelt az RPi -hez hosszabb vezetékek segítségével

6. lépés: Legyen okos

Legyen okos!
Legyen okos!
Legyen okos!
Legyen okos!
Legyen okos!
Legyen okos!

Igen! Most, hogy az indikátorral kapcsolatos minden lényeges dolgunk elkészült. Tegyünk egy lépést tovább, hogy okos legyen.

Az intelligens itt az akkumulátor megtakarítását is meghatározza. Amint észrevette, az éjszakai látómező mindig be van kapcsolva, és néha ez nem szükséges egy ragyogó napsütéses napon. Ennek a problémának a kiküszöbölése érdekében integrálhatunk egy fényfüggő ellenállást (LDR), hogy megkapjuk a fényintenzitás adatait, amelyeket összegyűjthetünk és ennek megfelelően feldolgozhatunk.

Az LDR tesztelése

Erre a webhelyre hivatkoztam az LDR tesztelésére, hogy ellenőrizze a fényintenzitást és milyen értéket ad vissza.

Az áramkörről és az LDR működésének mintakódjáról lásd a fent megcímkézett webhelyet.

Az LDR integrálása a kódunkba

Forrasztja az LDR -t az érintőpad jobb paneléhez, ahogyan az a fenti kapcsolási rajzon látható.

Miután a tűket a megfelelő helyre forrasztotta, itt az ideje a kódolás utolsó bitjének. A végső kód!

  • Csatlakoztassa a kondenzátor katódjának (-) és az LDR közös pontját az RPi 36. tűjéhez
  • A kondenzátor anódja az 5. lépésben említett közös földponthoz van csatlakoztatva

Végső kód:

importálja az RPi. GPIO -t GPIO -ként

időpontból import alvó Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 trigger = 0 GPIO.setmode (GPIO. BOARD) GPIO. beállítás ([jobb_led, bal_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (csatorna): GPIO.output (right_led, GPIO. HIGH) globális aktivált triggerelés = 1 nyomtatás ("Turning Right") villog (Green_right, Green_top_bottom) def left_turn (csatorna): GPIO.output (left_led, GPIO. HIGH) globális triggerelve kiváltva = 1 nyomtatás ("Fordulás balra") villog (Zöld_bal, Zöld_top_bottom) GPIO.add_event_detect (jobb oldali érintés, GPIO. FALLING, visszahívás = jobbra_forduló, visszapattanási idő = 500) GPIO.add_event_detect (balraérintés, GPIO. FALLING, visszahívás = balraforgatás, visszakapcsolás) (ldr): count = 0 #Kimenet a tűn a GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) alvás (0.1) #Chang e a PIN -kód vissza a bemenethez GPIO.setup (ldr, GPIO. IN) #Számlálás, amíg a tű magasra nem emelkedik, míg (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def blink (pin1, pin2)): GPIO.setup ([pin1, pin2], GPIO. OUT) x tartományban (10): GPIO.output ([pin1, pin2], GPIO. HIGH) alvó (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) alvás (0.5) GPIO.output ([jobb_led, bal_led], GPIO. LOW) globálisan aktivált kiváltva = 0 def night_sight (): míg (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globális aktiválódik, ha (fényérzékelés (ldr)> 7800): ha (kiváltva == 0): nyomtatás ("Éjszakai látás BE") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) alvó (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) alvó (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) próbálkozzon: night_sight () kivéve KeyboardInterrupt: GPIO.cleanup ()

Voálá! És a jelző készen áll a tekerésre.

Hasznos tipp: Mielőtt összeszerelné az RPi -t és más alkatrészeket a ciklushoz, győződjön meg róla, hogy megfelelően tesztelte ezt a programot! Futtassa néhányszor a hibák elhárításához.

7. lépés: Festés és összeszerelés

Festés és összeszerelés
Festés és összeszerelés
Festés és összeszerelés
Festés és összeszerelés
Festés és összeszerelés
Festés és összeszerelés

Szükséges anyagok:

  • Drótvágó/ lehúzó szerszámok
  • Egy nagy tároló doboz a Raspberry Pi -be
  • Egy kis tároló doboz, amely illeszkedik a kijelzőpanelhez
  • Festék
  • Ecsetek

Kezdje azzal, hogy az indikátorpanelt és az érintőpad paneleit fekete színűre festette. Itt akrilfestékeket használtam, tetszés szerint használhatod őket, amelyek jól illeszkednek a parkettalaphoz. Használjon fekete hátteret, hogy a LED panel élénkebb és kiemelkedőbb legyen. Készítse el a lyukakat fűtött csavarhúzóval vagy bármilyen fémtárggyal a műanyag megolvasztásához.

Megjegyzés: Kérjük, legyen óvatos lyukak készítésekor.

Idővonal: festék

Hasznos tipp: műanyag dobozokat használtam, és a festék könnyen leválik. Ügyeljen arra, hogy jó minőségű festékeket használjon

Miután az indikátor és a panelek fel vannak festve, szárítsa meg őket a napon, és készüljön fel az összeszerelésre.

A helytakarékosság érdekében levágtam a peremlap további széleit az indikátorpanelen és az előlapon.

Nézze meg a videót az összeszereléshez!

Idővonal: Bosszúállók! Összeszerelni. (Az indikátorpanel és az RPi összeszerelése dobozokkal)

Amint a videóban látható, helyezze be a vezetékeket ennek megfelelően úgy, hogy három lyukat készít a nagyobb dobozban. Az egyik az RPi tápegység vezetékéhez, a másik az érintőpad panelekhez, a másik az indikátorpanelhez. A kisebb dobozhoz csak egy lyuk szükséges.

Hasznos tipp: Ellenőrizze a vezetékek szigetelését, és ellenőrizze, hogy a vezetékek megfelelően vannak -e forrasztva, mielőtt a dobozba csatlakoztatja őket.

8. lépés: Távoli tesztelés VNC -vel és végső kóddal

Távoli tesztelés VNC -vel és végső kóddal
Távoli tesztelés VNC -vel és végső kóddal
Távoli tesztelés VNC -vel és végső kóddal
Távoli tesztelés VNC -vel és végső kóddal

Még egy utolsó teszt, mielőtt a kijelző teljesen készen áll. Csatlakoztassa RPi -jét a VNC Viewerhez, és futtassa a programot.

Mindig VNC szervert használok a program futtatásához és a program hibáinak hibakereséséhez. Így az RPi -t közvetlenül a tesztelni kívánt helyre helyezhetem anélkül, hogy a monitort külsőleg csatlakoztatnám.

Ezen az oldalon ellenőrizheti az RPi és a VNC szerver közötti kapcsolatot. (VNC szerver)

Miután csatlakoztatta az RPi -t a VNC szerverhez. Futtathatja a kódot a virtuális asztalon, és hibakeresést végezhet.

Idővonal: Indításkor futtassa

Hasznos tipp: Miután csatlakoztatta a Raspberry Pi -t a virtuális asztalhoz, bejelentkezik az RPi IP -címével. De ha hibaüzenetet kap, miszerint az RPi megtagadta a kapcsolatot, az az RPI IP -címének megváltozása miatt van. Ez akkor fordulhat elő, ha újraindítja az útválasztót vagy egy WiFi hotspotot, majd a régi címmel próbál bejelentkezni. Az útválasztó minden újraindításkor új IP -címet rendel. De ha emlékszik az RPi régi IP -címére, akkor csak növelje az utolsó számjegyet 1 -gyel, és jelentkezzen be. Példa: Ha a régi IP -cím 190.148.1.100, akkor jelentkezzen be a 190.148 használatával.1.101

Miután ellenőrizte, hogy minden megfelelően működik -e, ideje a végső összeszerelésnek.

Mindig nem rendelkezhetünk virtuális asztallal a python parancsfájl figyelésére vagy futtatására. Tehát tegyük ezt az indításkor.

Azt akarjuk, hogy a programunk az RPi elindulása után fusson. További részletekért keresse fel ezt a weboldalt!

Ha az RPi automatikus bejelentkezési beállításon van, akkor folytassa;

Futtassa a következő parancsokat az RPi terminálján

sudo nano /etc /profile

Görgessen lefelé, és adja hozzá a következő sort:

sudo python file_path &

A file_path itt a python fájl elérési útjára utal, ahol a végső kód tárolódik.

Megjegyzés: A fájl végén található Ampersand (&) karaktert úgy kell hozzáadni, hogy a program párhuzamosan fusson a rendszerindítással. Mivel programunk végtelen ciklusokat tartalmaz, ez a lépés kötelező, így még akkor is, ha a program nem a várt módon fut, továbbra is használhatjuk az RPi asztalt a beállítások módosításához.

Ezt követően nyomja meg a CTRL-X, majd az Y gombot. Nyomja meg kétszer az Enter billentyűt, és visszatér a parancsterminálhoz.

Indítsa újra a Pi -t

Most a kódnak futnia kell indításkor

9. lépés: Kábelkezelés és végső összeszerelés

Kábelkezelés és végső összeszerelés
Kábelkezelés és végső összeszerelés
Kábelkezelés és végső összeszerelés
Kábelkezelés és végső összeszerelés
Kábelkezelés és végső összeszerelés
Kábelkezelés és végső összeszerelés

Gratulálunk! ennek a projektnek a befejezésével. A Minimal szónak adtam, mint láthattad, kevesebb LED -et használtunk az összes szükséges jelzés megjelenítésére, valamint személyre szabott színekkel. Nyugodtan használjon különböző színeket a LED -ekhez, például sárgát az irányjelzőkhöz vagy bármely máshoz.

Ha elkészítette ezt a projektet, kattintson a "Készítettem" gombra, és ossza meg tapasztalatait. Ossza meg gondolatait és javaslatait vagy észrevételeit ezzel a projekttel kapcsolatban. Ezt szívesen hallanám!

Kábelkezelés

Igen! Amint észrevetted, annyi vezeték megy be a ciklusokba és azok köré, és ezek kezelése mozgalmas. Kábelcímkéket, szigetelő szalagokat és kábelburkolatot használtam a vezetékek elrejtésére, és feketére festettem, ahogy a képet látta.

Praktikus tipp: Mivel a szükségesnél több centimétert hagyott el a kábelektől, hasznos most azokat megfelelően kezelni, anélkül, hogy megerőltetné őket! Ha az egyik LED -je kigyullad, a többi pedig akkor sem, ha mindent jól csinált, akkor a probléma az RPi -hez csatlakoztatott Jumper vezetékek, laza érintkező lesz. Ha ez továbbra is fennáll, használjon férfi -női áthidaló vezetéket a vezeték meghosszabbításához és csatlakoztatásához. Kábelkötegekkel tartsa a vezetékeket a helyén, hogy ne mozduljanak el.

Most az indikátor készen áll egy túrára! Élvezd

PS: Egy további utasításban nagyon szeretném csökkenteni a vezetékek számát az áramkörben, és jobb tervet kidolgozni. Ha ezt megteszem, megosztom az utasításokat ezzel kapcsolatban!

10. lépés: Néhány kép az indikátorról

Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról
Néhány kép az indikátorról

Köszönjük, hogy elolvasta ezt az utasítást. Remélem, annyira élveztétek, mint én a készítés során

Idővonal: Végső teszt

Idővonal: Rolling -ra kész Minden elismerés a nővéreim kerékpározásáért a videóért!

Ajánlott: