Obsah:

Minimalistický indikátor bicykla, povolený dotykom!: 10 krokov (s obrázkami)
Minimalistický indikátor bicykla, povolený dotykom!: 10 krokov (s obrázkami)

Video: Minimalistický indikátor bicykla, povolený dotykom!: 10 krokov (s obrázkami)

Video: Minimalistický indikátor bicykla, povolený dotykom!: 10 krokov (s obrázkami)
Video: 🚀 RUTUBE a BOD. Vývoj RUTUBA za 5 hodin *BEZ VODY* [Další / Reagovat / Nest / PostgreSQL / Redux] 2024, Júl
Anonim
Image
Image

Ahoj! Toto je môj prvý návod. Vždy som chcel robiť veci od nuly, aby som zistil, ako to funguje a kto nemá rád veci typu „urob si sám“, keď môžeš niečo upraviť podľa svojich potrieb, však? Aj keď to znie DIY ako zaujímavé, vyžaduje si to trocha úsilia, aby sa to stalo. Prezrieť si webovú stránku Instructables je úžasný spôsob, ako začať svoje ambície, a tak som začal stavať niektoré zo svojich projektov skôr, ale nikdy som si nemyslel, že by som ho mohol realizovať.

Len čo sa mi naskytla príležitosť, vyrobil som indikátor bicykla s minimalistickým dizajnom a dotykovým ovládaním. Viem, že existuje mnoho návodov alebo online zdrojov pre indikátor bicykla, ale väčšina z nich buď zaberala viac miesta, alebo nebola dosť múdra na to, aby ich upravila konkrétnym spôsobom. Ak hľadáte ukazovateľ, ktorý je dostatočne inteligentný na to, aby splnil vaše potreby a poskytol vám šancu ich upraviť podľa vašich potrieb, potom je tento pokyn pre vás!

Prečo indikátor bicykla?

Milujem bicyklovanie po meste! Vezmem si cyklus a idem sa prejsť buď ráno, alebo večer. Niekedy je v noci ťažké jazdiť, pretože doprava za vami si vás nemôže všimnúť a je to nebezpečné znamenie. To je dôvod, prečo som chcel postaviť indikátor sám zo všetkých materiálov, ktoré som mal so sebou doma, a tiež Vyzerá to skvele na bicykli, keď idete v meste a zapnete ukazovatele!

Vytvorenie projektu bez toho, aby ste museli čeliť akýmkoľvek problémom, sa nestane! Ale poviem vám všetky chyby, ktorých som sa pri vytváraní stal, ako „Praktický tip“, aby ste sa ich nepokúšali urobiť. Video na YouTube obsahuje ilustráciu toho, ako je projekt postavený, malé animácie, ktoré majú sprostredkovať, ako veci fungujú a ako indikátor vyzerá na ceste! Najkomplikovanejšie informácie sú uvedené v tomto návode. Ako budete pokračovať, v každom kroku označím segmenty svojho videa na YouTube ako „Časovú os:“, aby ste sa pozreli na to, ako veci fungujú prakticky. Viac informácií získate kliknutím na uvedené zvýraznené odkazy.

Vlastnosti tohto projektu:

  • Indikácia odbočenia doprava
  • Indikácia odbočenia doľava
  • Indikácia nočného videnia
  • Povolené dotykom

Krok 1: Materiály, ktoré treba začať

Testovanie komponentov
Testovanie komponentov
  • Rezistory (330 ohmov a 120 ohmov): 330 ohmov a 120 ohmov
  • Raspberry Pi 3: RPi 3
  • Breadboard: Breadboard
  • Prepojovacie vodiče (mužské-mužské, mužsko-ženské, ženské-ženské): prepojovacie vodiče
  • Viacvodičové vodiče: Viacžilové vodiče
  • Kapacitný dotykový senzor (TTP223) - (2): Link
  • RGB LED diódy (bežný typ katódy) - (13): RGB LED bežná katóda
  • Normálne LED diódy - (2): LED
  • Spájkovacie materiály: Súprava na spájkovanie
  • Perf Boardy: Perf Board
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolytický kondenzátor: elektrolytický kondenzátor
  • LDR (svetlo závislý odpor): LDR
  • Káblové zväzky: Káblové zväzky
  • Korektor káblov: Korektor káblov
  • Akrylové farby a štetce (voliteľné): Farby a štetce
  • Dva skladovacie boxy pre montáž. (1 veľký a 1 stredný)

Vždy dodržujte dodatočné množstvo vyššie uvedeného. Spojil som komponenty na Amazone a nejakú súpravu na nákup spájkovacích materiálov, ktorú je možné najlepšie kúpiť!

Časová os: Zhromažďujte materiály

Krok 2: Testovanie komponentov

Testovanie komponentov
Testovanie komponentov
Testovanie komponentov
Testovanie komponentov
Testovanie komponentov
Testovanie komponentov

Poďme otestovať vaše súčiastky! Je veľmi užitočné oddeliť komponenty, ktoré sú z nejakého dôvodu poškodené alebo sa správajú divne, a taktiež vám táto fáza umožní získať prvé praktické skúsenosti s komponentmi a trochu sa naučiť, než sa pustíte do budovania celého projektu.

Otestujte typ RGB LED

Na trhu existujú dva typy RGB LED diód. Spoločný katódový typ a spoločný anódový typ.

Toto je užitočný tip (aj keď väčší), pretože som sem zapojil LED diódy, ako je vidieť z tohto videa, a LED dióda sa nerozsvietila tak, ako sa očakávalo, ani po niekoľkonásobnej krížovej kontrole obvodu. Potom som si uvedomil, že existujú dva typy tejto LED diódy a pri prechode na technický list som konečne našiel riešenie! Problém s mojím obvodom bol, že spoločný katódový kolík bol pripojený na 3,3 V, ako bolo uvedené, a držal som pomocou GPIO pinu na HIGH, takže spoločný katódový pin a ďalšie 3 piny mali rovnaký potenciál.

Riešenie: Pripojil som spoločný katódový kolík k zemi a LED sa rozsvietila! Dôvod, prečo som nezmenil svoj kód, aby boli GPIO piny NÍZKE, pretože neskôr použijeme viac LED diód a RPi nám dáva iba dva piny pri 3,3 V, ktoré potrebujeme aj na iné účely!

Ako testovať typ?

Ponechajte multimetr v režime kontinuity. Klepnite na najdlhší vodič červeným hrotom multimetra a čiernym hrotom, potom poklepte na ktorýkoľvek z ostatných vodičov. Ak sa dióda LED rozsvieti vykonaním vyššie uvedeného kroku, je to LED dióda RGB so spoločnou anódou. Ak nie, otočte teraz hrot multimetra. Klepnite na najdlhší zvod s čiernym hrotom a červeným hrotom s inými hrotmi. Teraz sa rozsvieti, čo ukazuje, že LED je bežná katódová RGB LED.

Praktický tip: V tomto projekte som použil typ bežnej katódy. Pokúste sa získať iba tieto typy, ale aj keď je k dispozícii iný typ, nebojte sa. Pripojenia obvodov zostávajú rovnaké, jediný rozdiel je potrebné urobiť v kóde, ktorý uvediem ako komentár vedľa skutočného riadka kódu, kde musíte zmeniť. Nadýchni sa.

Časová os: Test RGB

Referencia: Ako testovať RGB

RGB LED sa rozsvieti

Za týmto účelom si pozrite schému zapojenia uvedenú na vyššie uvedených obrázkoch a pripojte ju podľa pinov cez nepájivú dosku (aby bola bezpečná od začiatku).

ČERVENÁ: Pin 11 (odpor 330 ohmov)

ZELENÁ: Pin 13 (odpor 120 ohmov)

MODRÁ: Kolík 15 (odpor 120 ohmov)

Hodnoty odporu sa líšia v dôsledku meniacich sa napätí vodičov dopredu.

Akonáhle ich správne pripojíte, zakódujte RPi v jeho vstavanom IDE pre python.

importujte RPi. GPIO ako GPIO

#Čísla pinov zodpovedajú presnému číslu na RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Pripojte spoločný katódový pin k pinu 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) pre bežný typ anódy 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 ("Type your command:") if cmd == "red on ": #type vstupné príkazy, ako je uvedené presne vo vnútri" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () else: print ("Not a valid command") okrem KeyboardInterrupt: GPIO.cleanup ()

Odkazoval som na tento návod na použitie, pozrite sa na to a získajte podrobný popis a kód!

Pomocou rovnakého kódu vyššie môžete skontrolovať viac LED diód dohromady ich paralelným zapojením na doske a odstrániť jeden bod z ktoréhokoľvek zo spojených kolíkov. Na kontrolu jasu vašich LED diód použite rôzne hodnoty odporu pre každý kolík

Praktický tip: Uistite sa, že pripájate rovnaký paralelný kolíkový typ. To znamená, že červený kolík jednej diódy LED sa pripája iba k červenému kolíku druhej diódy LED.

Časová os: Nechajte ich žiariť!

Testovanie zariadenia TouchPad

Pripojenie obvodu je znázornené na tomto obrázku (časová os). Pripojte ich podľa obrázku a otestujte svoje dotykové podložky pomocou nasledujúceho kódu.

Kód:

importujte RPi. GPIO ako GPIO

od importu spánku spánok GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Môžeme klubovať obidva vyššie uvedené vyhlásenia spoločne ako # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) try: while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 Touched") sleep (2) elif (GPIO.input (touchpad2) == True): tlač ("Touchpad 2 touchouch") spánok (2) else: print ("Nedotknutý") okrem KeyboardInterrupt: GPIO.cleanup () #CTRL-C na ukončenie

Testovanie LED diódy

Pozrite sa na tento úžasný návod na testovanie vašej LED diódy!

Keď vyskúšate všetky vyššie uvedené komponenty, ste pripravení postaviť jeho väčšiu verziu.

Krok 3: Spájkovanie panelu indikátorov

Spájkovanie panelu indikátora
Spájkovanie panelu indikátora
Spájkovanie panelu indikátora
Spájkovanie panelu indikátora
Spájkovanie panelu indikátora
Spájkovanie panelu indikátora

Ak s spájkovaním začínate, pozrite sa na tento tutoriál, aby ste sa naučili jeho základy tu (Ako spájkovať). Ak ste profesionálom v spájkovaní, začnime!

Indikačný panel

Ilustráciu, ako ich spájkovať, nájdete na doske perf na vyššie uvedených obrázkoch.

Na panel používame 13 RGB LED diód. Podľa toho ich rozdeľte na tri sekcie: ľavú, pravú a strednú na spájkovanie.

Dôležité: Rozstup diód LED

Medzi LED diódami som nechal 3 rady. Ako je znázornené na druhom obrázku. To je dôležité, aby panel LED vyzeral a cítil sa dobre. Nechceme, aby diódy LED príliš zväčšovali priestor alebo príliš blízko, aby neboli schopné rozlíšiť svetlo z diaľky.

Praktický tip: Začnite najskôr spájkovaním všetkých bežných katódových kolíkov

Praktický tip: Na prepojenie LED diód použite viacžilové vodiče, pretože sú menej pevné a dajú sa ľahko ohýbať. Na pripojenie kratších vzdialeností môžete použiť dodatočné odrezané kolíky z diód LED

Pravá časť: (5 LED diód)

  • Spojte všetky červené kolíky dohromady
  • Spojte všetky zelené kolíky dohromady
  • Spojte všetky bežné katódové kolíky dohromady

Ľavá časť: (5 LED diód)

  • Spojte všetky červené kolíky dohromady
  • Spojte všetky zelené kolíky dohromady
  • Spojte všetky bežné katódové kolíky dohromady

Stredová časť: (3 diódy LED)

Praktický tip: Táto časť vyžaduje dostatočnú opatrnosť. Nespájkujte všetky kolíky dohromady, ako sme to urobili vo vyššie uvedených dvoch častiach!

  • Spojte všetky červené kolíky dohromady
  • Pripojte iba horné a dolné diódy LED, zelený kolík.
  • Spojte všetky bežné katódové kolíky dohromady

Drôty

Na pripojenie panelu k doske GPIO potrebujeme dlhšie vodiče.

Praktický tip:

  • Používajte jednovláknové vodiče! Sú dostatočne pevné, aby odolali mechanickému namáhaniu!
  • Udržujte vodiče o niečo dlhšie, ako je skutočná dĺžka potrebná medzi panelom a RPi (to je veľmi praktické pri neskoršej správe káblov! (Časová os: Merania)
  • Po spájkovaní izolujte! Veľmi dôležité

Na spájkovanie použite prepojovací kábel a jednovláknový drôt. Jeden koniec prepojovacieho vodiča musí byť ženský konektor. Spájkujte ich podľa obrázku (časová os)

Farebne označte vodiče ako červený, zelený a čierny. čo zodpovedá červenému, zelenému a spoločnému katódovému kolíku.

Požadujeme 3 čierne vodiče, 3 červené a 3 zelené.

Akonáhle sú drôty pripravené. Pripájajte vodiče k indikačným diódam LED.

Praktické tipy:

  • Uistite sa, že LED diódy sú spájkované podľa uvedených pripojení.
  • Uistite sa, že ste na miesto spájkovali správne hodnoty odporu. Ak sa hodnoty zmenia, ovplyvní to jas LED diód
  • Jeden zo spôsobov, ako sa ubezpečiť, že všetky vaše diódy LED fungujú, je použitie multimetra uvedeného v kroku 2. Je to veľmi praktické, pretože budete vedieť, či dôjde k skratu, že sa diódy LED nerozsvietia.
  • Neodstraňujte konce vodičov dlhšie, ako je potrebné. Bude ťažké udržať ich na mieste a tiež vyššie riziko skratu.
  • Na pripojenie medzi LED diódami použite viacžilový vodič.
  • Na pripojenie sekcií k RPi použite jednovláknový drôt.

Krok 4: Dajte panel indikátorov do testu

Umiestnite panel indikátorov na test
Umiestnite panel indikátorov na test
Umiestnite panel indikátorov na test
Umiestnite panel indikátorov na test
Umiestnite panel indikátorov na test
Umiestnite panel indikátorov na test

Sláva! Ak ste panel spájkovali správne. Pokračujme teraz v kódovaní indikátora!

Ako sme už uviedli, naznačíme odbočenie doprava, doľava a zapnutie/vypnutie nočného videnia.

Pozrite si zapojenie obvodu v kroku 3.

Pripojte vodiče panelu nasledujúcim spôsobom:

  • Červené právo - kolík 7
  • Zelené právo - kolík 11
  • Spoločná katóda vpravo - kolík 6 (GND)
  • Červená vľavo - kolík 13
  • Zelená vľavo - kolík 15
  • Spoločná katóda vľavo - kolík 9 (GND)
  • Stredová červená - kolík 16
  • Stredová zelená (hore a dole) - kolík 18
  • Center Common Cathode - Pin 14 (GND)

Testovací kód:

importujte RPi. GPIO ako GPIO

od času importovať spánok #Pripojiť podľa nižšie uvedených čísel pinov 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“) blink (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") blink (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) pre x v rozsahu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) spánok (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) spánok (0,5) else: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) pre x v rozsahu (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) spánok (0,5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) spánok (0,5) def night_sight (): print ("Night Sight ON") blikanie (Red_left, Red_right, Red_center) try: while True: cmd = input (" Testujte LED na: ") ak cmd ==" odbočenie doprava ": right_turn () elif cmd ==" odbočenie doľava ": left_turn () elif cmd ==" nočný pohľad ": night_sight () else: print (" neplatný príkaz ") okrem Ke yboardInterrupt: GPIO.cleanup ()

Ak váš panel vymaže všetky fázy testu ako v kóde, Hotovo! Pripravte sa na ďalší krok

Ak sa panel nerozsvieti, uistite sa, že ste správne dodržali všetky kroky a predtým ste si prečítali praktické rady. Ak problém stále pretrváva, môžete sa k nemu vyjadriť nižšie, budem pripravený pomôcť.

Časová os: Test JEDEN (funkčný prototyp nájdete vo videu)

Krok 5: Integrácia panela indikátorov s touchpadom

Integrácia panela indikátorov s touchpadom
Integrácia panela indikátorov s touchpadom
Integrácia panela indikátorov s touchpadom
Integrácia panela indikátorov s touchpadom
Integrácia panela indikátorov s touchpadom
Integrácia panela indikátorov s touchpadom

Pripojenie k RPi

Vykonajte zapojenie podľa obrázka vyššie.

Pravý panel

Touchpad:

  • Kolík GND - kolík 34
  • Kolík VCC - kolík 1
  • Kolík SIG - kolík 29

LED dióda:

Pin anódy (+) - kolík 33

Ľavý panel

Touchpad:

  • Pin GND - pin 30
  • Kolík VCC - kolík 17
  • Pin SIG - pin 31

LED dióda:

Pin anódy (+) - kolík 35

Spoločný GND: pin 39 (pre obidve katódy diód LED) - spoločné pozemné spájkovanie (časová os)

Testovací kód:

importujte RPi. GPIO ako GPIO

od importu importu spánku 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 triggered = 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 (kanál): GPIO.output (right_led, GPIO. HIGH) spustené globálne = 1 bliknutie („odbočenie doprava“) (Green_right, Green_top_bottom) def left_turn (kanál): GPIO.output (left_led, GPIO. HIGH) globálne spustené spustené = 1 tlač („Otáčanie Vľavo “) bliknutie (Green_left, Green_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_turn, bouncetime = 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) pre x v rozsahu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) spánok (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) spánok (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) globálne spustené spustené = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globálne spustené, ak (spustené == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) spánok (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) spánok (0,27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) skúste: night_sight () okrem KeyboardInterrupt: GPIO.cleanup ()

Dotknite sa touchpadu, aby ste videli svoju žiaru

Časová os (bez indikačnej diódy LED): Test dva

Časová os (s indikačnou diódou LED): Test 3

Vysvetlenie kódu: Chceme, aby nočný pohľad bežal nepretržite a keď sa dotkneme touchpadu, mal by sa zastaviť a vykonávať funkciu touchpadu. Aby sme to urobili súčasne, v Pythone používame niečo známe ako „Prerušenia“. To nám umožňuje spustiť náš normálny kód, ktorý je tu nočným zameriavačom, a tiež spustí udalosť, keď je zistený dotyk. Spustenú premennú používame ako vlajku na zastavenie nočného videnia.

Ak chcete získať ďalšie informácie o prerušení, kliknite na tento odkaz.

Panel spájkujte

Teraz spájime panely touchpadu, ktoré pôjdu k riadidlám bicykla. Pozrite sa na pripojenia uvedené na obrázku vyššie.

Teraz, keď ste vyskúšali svoju LED diódu a touchpad, môžete začať. Ak ste ešte nevyskúšali, prečítajte si tento krok a predchádzajúce kroky.

Položte touchpad blízko riadidiel, ako je znázornené na videu. To znamená, že pre pravý touchpad je touchpad vpravo a zľava vľavo. Podobne pre ľavý touchpad je LED dióda vpravo a touchpad vľavo, čo uľahčuje dosiahnutie palca.

PS: Touchpad som nepripájal k doske perf, pretože som ho mal znova použiť. Preto som to jednoducho položil na panel obojstrannou páskou.

Pripojte panel k RPi pomocou dlhších káblov

Krok 6: Urobte to múdrym

Urobte to múdrym!
Urobte to múdrym!
Urobte to múdrym!
Urobte to múdrym!
Urobte to múdrym!
Urobte to múdrym!

Áno! Teraz, keď máme všetky potrebné náležitosti indikátora v prevádzke. Poďme ešte o krok ďalej, aby bol chytrý.

Tu smart definuje aj šetrenie batérie. Ako ste si mohli všimnúť, nočný pohľad je vždy zapnutý a niekedy to nemusí byť za jasného slnečného dňa požadované. Na vyriešenie tohto problému je možné integrovať LDR (svetlo závislý odpor), ktorý nám poskytne údaje o intenzite svetla, ktoré môžeme zhromaždiť a podľa toho spracovať náš indikátor.

Testovanie LDR

Odkázal som na tento web, aby otestoval LDR, aby skontroloval intenzitu svetla a akú hodnotu vracia.

Obvod a vzorový kód fungovania LDR nájdete na vyššie označených webových stránkach.

Integrácia LDR do nášho kódu

Pripájajte LDR k pravému panelu touchpadu podľa schémy zapojenia vyššie.

Po spájkovaní pinov na správnom mieste je čas na posledný bit kódovania. Konečný kód!

  • Pripojte spoločný bod katódy (-) kondenzátora a LDR k kolíku 36 na RPi
  • Anóda kondenzátora je pripojená k bodu spoločného uzemnenia uvedenému v kroku 5

Konečný kód:

importujte RPi. GPIO ako GPIO

od importu importu spánku 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 triggered = 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 (channel): Globálne spustené GPIO.output (right_led, GPIO. HIGH) spustené = 1 tlač („Otáčanie doprava“) bliknutie (Green_right, Green_top_bottom) def left_turn (kanál): GPIO.output (left_led, GPIO. HIGH) globálne spustené spustené = 1 tlač („Zatáčanie doľava“) bliká (Green_left, Green_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_turn, bouncetime (ldr): count = 0 #Výstup na kolíku pre GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) spánok (0,1) #Chang e kolík späť na vstup GPIO.setup (ldr, GPIO. IN) #Počítajte, kým sa kolík nezvyšuje, kým (GPIO.input (ldr) == GPIO. LOW): počet += 1 návratový počet def bliká (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) pre x v rozsahu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) spánok (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) spánok (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) globálne spustené spustené = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globálne spustené, ak (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) spánok (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) spánok (0,27) iné: tlač ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) skúsiť: night_sight () okrem prerušenia klávesnice: GPIO.cleanup ()

Voila! A indikátor je pripravený na pohyb.

Praktický tip: Pred montážou RPi a ďalších komponentov do cyklu sa presvedčte, či ste tento program poriadne otestovali! Spustite ho niekoľkokrát, aby ste ladili všetky chyby.

Krok 7: Maľovanie a montáž

Maľovanie a montáž
Maľovanie a montáž
Maľovanie a montáž
Maľovanie a montáž
Maľovanie a montáž
Maľovanie a montáž

Potrebné materiály:

  • Nástroje na strihanie/ odizolovanie drôtu
  • Jeden veľký úložný box, ktorý sa zmestí do Raspberry Pi
  • Jeden malý úložný box, ktorý sa zmestí na panel indikátorov
  • Maľovať
  • Štetce

Začnite tým, že panel indikátora a panely touchpadu natriete čiernou farbou. Tu som použil akrylové farby, môžete ich použiť podľa vlastného výberu a dobre sa hodí k doske Perf. Použite čierne pozadie, aby bol panel LED živý a vynikal. Otvory urobte pomocou vyhrievaného skrutkovača alebo pomocou akéhokoľvek kovového predmetu roztavte plast.

Poznámka: Pri vytváraní otvorov buďte opatrní.

Časová os: Maľovať

Praktický tip: Použil som plastové škatule a farba sa ľahko uvoľňuje. Uistite sa, že používate kvalitné farby

Keď sú indikátor a panely namaľované, vysušte ich na slnku a pripravte sa na montáž.

Aby som ušetril miesto, na paneli indikátorov a prednom paneli som odrezal ďalšie okraje dosky perf.

Pozrite sa na video na montáž!

Časová os: Avengers! Zostaviť. (Zostavenie panela indikátorov a RPi s krabicami)

Ako je vidieť na videu, zapojte káble zodpovedajúcim spôsobom tak, že do väčšej škatule urobíte tri otvory. Jeden pre drôt napájacej banky RPi, jeden pre panely touchpadu a jeden pre panel indikátorov. Pre menšiu škatuľu je potrebný iba jeden otvor.

Praktický tip: Pred zapojením do krabice skontrolujte izoláciu vodičov a skontrolujte, či sú vodiče správne spájkované.

Krok 8: Diaľkové testovanie s VNC a konečným kódom

Diaľkové testovanie s VNC a konečným kódom
Diaľkové testovanie s VNC a konečným kódom
Diaľkové testovanie s VNC a konečným kódom
Diaľkové testovanie s VNC a konečným kódom

Jeden posledný test, kým je indikátor úplne pripravený. Pripojte svoj RPi k prehliadaču VNC a spustite program.

Na spustenie programu a ladenie prípadných chýb v programe vždy používam server VNC. Takto môžem umiestniť RPi priamo na miesto, kde chcem testovať bez externého pripojenia monitora.

Na tejto stránke pripojíte svoj RPi k serveru VNC. (Server VNC)

Po pripojení RPi k serveru VNC. Kód môžete spustiť na virtuálnej ploche a chyby ladiť.

Časová os: Spustiť pri spustení

Praktický tip: Po pripojení Raspberry Pi k virtuálnej ploche sa prihlásite pomocou IP adresy RPi. Ak sa však zobrazí chyba, že server RPi odmietol pripojenie, je to kvôli zmene adresy IP v RPI. To sa môže stať, keď reštartujete smerovač alebo hotspot WiFi a potom sa pokúsite prihlásiť pomocou starej adresy. Router priraďuje novú IP adresu vždy, keď ju reštartujete. Ak si však pamätáte starú IP adresu RPi, jednoducho zvýšte poslednú číslicu o 1 a prihláste sa. Príklad: Ak je stará IP adresa 190.148.1.100, prihláste sa pomocou 190.148.1,01

Potom, čo ste skontrolovali, či všetko funguje správne, je čas na konečnú montáž.

Vždy nemôžeme mať virtuálnu plochu na monitorovanie alebo spustenie skriptu pythonu. Urobme to teda pri štarte.

Chceme, aby sa náš program spustil po spustení RPi. Na tomto webe nájdete ďalšie informácie!

Ak je váš RPi na nastavení automatického prihlásenia, pokračujte;

Na termináli RPi spustite nasledujúce príkazy

sudo nano /etc /profile

Posuňte zobrazenie nadol a pridajte nasledujúci riadok:

sudo python súborová cesta &

Cesta k súboru tu odkazuje na cestu k súboru python, kde je uložený váš konečný kód.

Poznámka: Ampersand (&) na konci súboru by ste mali pridať, aby váš program bežal súbežne so zavádzaním systému. Pretože náš program obsahuje nekonečnú slučku, je tento krok povinný, takže aj keď program nebeží podľa očakávania, stále môžeme na zmenu nastavení použiť pracovnú plochu RPi.

Potom dvakrát stlačte CTRL-X a potom YPress Enter a dostanete sa späť na príkazový terminál.

Reštartujte počítač Pi

Teraz by mal kód bežať pri štarte

Krok 9: Správa káblov a konečná montáž

Káblový manažment a konečná montáž
Káblový manažment a konečná montáž
Káblový manažment a konečná montáž
Káblový manažment a konečná montáž
Káblový manažment a konečná montáž
Káblový manažment a konečná montáž

Gratulujem pri dokončení tohto projektu. Dal som tomu slovo Minimálne, ako ste videli, použili sme menej LED diód na zobrazenie všetkých potrebných indikácií a tiež s prispôsobenými farbami. Nebojte sa použiť rôzne farby svojich LED diód, napríklad žltú pre smerové svetlá alebo akékoľvek iné.

Ak ste urobili tento projekt, kliknite na „Vyrobil som to“a podeľte sa o svoje skúsenosti. Podeľte sa o svoje myšlienky a tiež akékoľvek návrhy alebo pripomienky k tomuto projektu. To by som rád počul!

Správa káblov

Áno! Ako ste si mohli všimnúť, v cykloch a okolo nich prechádza toľko drôtov a ich riadenie je hektické. Na skrytie vodičov som použil káblové štítky, izolačné pásky a káblové obaly a tiež som ich natrel čiernou farbou, ako vidíte na obrázku.

Praktický tip: Pretože ste z káblov nechali viac palcov, ako je potrebné, je teraz užitočné ich správne spravovať bez namáhania! Ak sa rozsvieti jedna z vašich diód LED a ostatné nie, aj keď ste urobili všetko správne, problém je v prepojovacie vodiče pripojené k RPi, dôjde k uvoľneniu kontaktu. Ak to pretrváva, použite na prepojenie prepojovacieho a prepojovacieho vodiča prepojovací kábel. Pomocou káblových zväzkov držte drôty na mieste tak, aby sa nehýbali.

Indikátor je teraz pripravený na jazdu! Uži si to

PS: V ďalšom návode by som naozaj rád znížil počet vodičov v obvode a prišiel s lepším plánom. Ak to urobím, budem o tom zdieľať návod!

Krok 10: Niektoré obrázky indikátora

Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora
Niektoré obrázky indikátora

Ďakujeme, že ste si prečítali tento návod. Dúfam, že ste si to užili rovnako ako ja pri jeho tvorbe

Časová os: Záverečný testV vyššie uvedenom segmente môžete vidieť, že akonáhle sa miestnosť stmavne, zapne sa „Night Sight“a keď sa rozjasní, okamžite sa vypne!

Časová os: Ready to Roll Niektoré videá, ktoré som urobil, aby som predviedol indikátor na výslní. Všetky zásluhy na cyklistike mojich sestier za video!

Odporúča: