Sadržaj:

Minimalistički indikator bicikla, omogućen dodir!: 10 koraka (sa slikama)
Minimalistički indikator bicikla, omogućen dodir!: 10 koraka (sa slikama)

Video: Minimalistički indikator bicikla, omogućen dodir!: 10 koraka (sa slikama)

Video: Minimalistički indikator bicikla, omogućen dodir!: 10 koraka (sa slikama)
Video: Garmin Fenix 7 Pro обзор + учебник 2024, Novembar
Anonim
Image
Image

Zdravo! Ovo je moj prvi Instructable. Uvijek sam želio stvarati stvari od nule samo da vidim kako to funkcionira i kome se ne sviđaju DIY (uradi sam) stvari kada možete nešto izmijeniti prema svojim potrebama, zar ne? Koliko god DIY zvučalo zanimljivo, potrebno je malo truda da se to dogodi. Pregledavanje web stranice Instructables odličan je način da započnete svoje DIY težnje i tako sam ranije počeo graditi neke svoje projekte, ali nikada nisam mislio da ću ih napraviti.

Tek što mi se ukazala prilika, napravio sam indikator za bicikl s minimalističkim dizajnom i omogućenim dodirom. Znam da postoji mnogo instrukcija ili internetskih izvora za indikatore bicikala, ali većina njih je zauzela malo više prostora ili nisu bila dovoljno pametna da ih izmijene na određeni način. Ako tražite pokazatelj koji je dovoljno pametan da ispuni vaše potrebe i daje vam priliku da ga izmijenite prema svojim potrebama, onda je ovo uputstvo za vas!

Zašto indikator za bicikl?

Obožavam vožnju biciklom po gradu! Uzimam bicikl i samo se vozim ujutro ili uveče. Ponekad je noću teško voziti jer vas promet iza vas neće moći primijetiti, a to je opasan znak. Zato sam htio sam izgraditi indikator sa svim materijalima koje sam imao sa sobom kod kuće, a također izgleda odlično na biciklu dok se vozite gradom i uključite pokazivače!

Napraviti projekt bez ikakvih problema, to se ne događa! Ali reći ću vam sve greške koje sam napravio dok sam ovo gradio kao "zgodan savjet" kako ne biste pokušali da ih napravite. YouTube video sadrži Ilustraciju o tome kako je projekt izgrađen, male animacije koje prenose kako stvari funkcioniraju i kako indikator izgleda na cesti! Najkompleksnije informacije date su u ovom Uputstvu. Dok nastavljate, na svakom koraku ću označavati segmente svog YouTube videa kao "Vremensku traku:" kako biste pogledali kako stvari praktično funkcioniraju. Više informacija možete dobiti klikom na istaknute ponuđene veze.

Karakteristike ovog projekta:

  • Indikator skretanja udesno
  • Pokazivač skretanja ulijevo
  • Noćni prikaz
  • Omogućeno dodirom

Korak 1: Materijali za početak

Testiranje komponenti
Testiranje komponenti
  • Otpornici (330 i 120 oma): 330 i 120 ohma
  • Raspberry Pi 3: RPi 3
  • Breadboard: Breadboard
  • Žice kratkospojnika (muško-muško, muško-žensko, žensko-žensko): premosne žice
  • Višežilne žice: Višežilne žice
  • Kapacitivni osjetnik na dodir (TTP223) - (2): Veza
  • RGB LED diode (tip zajedničke katode) - (13): RGB LED zajednička katoda
  • Normalne LED diode - (2): LED
  • Materijali za lemljenje: Komplet za lemljenje
  • Perf ploče: Perf tabla
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolitički kondenzator: elektrolitički kondenzator
  • LDR (svjetlozavisni otpornik): LDR
  • Kabelske vezice: Kabelske vezice
  • Kabelski korektor: Kabelski korektor
  • Akrilna boja i četke (opcionalno): Boja i četke
  • Dve kutije za skladištenje za montažu. (1 velika i 1 srednja)

Uvijek zadržite dodatnu količinu onog što je gore spomenuto. Povezao sam komponente na Amazonu i neki best buy kit za lemljenje materijala!

Vremenska linija: Prikupite materijale

Korak 2: Testiranje komponenti

Testiranje komponenti
Testiranje komponenti
Testiranje komponenti
Testiranje komponenti
Testiranje komponenti
Testiranje komponenti

Hajde da testiramo vaše komponente! Ovo je zaista korisno za odvajanje komponenti koje su iz nekog razloga oštećene ili se ponašaju čudno, a ova faza vam omogućuje da steknete početno praktično iskustvo sa komponentama i naučite malo prije nego što krenete u izgradnju cijelog projekta.

Testirajte tip RGB LED diode

Na tržištu postoje dvije vrste RGB LED dioda. Uobičajeni tip katode i tip zajedničke anode.

Ovo je zgodan savjet (iako veći) jer sam spojio LED diode kao što se vidi iz ovog videa, a LED nije zasvijetlio kako se očekivalo čak ni nakon nekoliko unakrsnih provjera kola. Tada sam shvatio da postoje dvije vrste ove LED diode i prolazeći kroz tablicu s podacima konačno sam dobio rješenje! Problem s mojim krugom bio je u tome što je zajednički katodni pin spojen na 3.3V kao što je spomenuto, a ja sam GPIO pin držao na HIGH, tako da su i zajednički katodni pin i ostala 3 pina bili na istom potencijalu.

Rješenje: Priključio sam zajedničku katodnu iglu na masu i LED je zasvijetlila! Razlog zašto nisam promijenio svoj kôd kako bi GPIO pinovi bili NIŽI jer ćemo kasnije koristiti više LED dioda, a RPi nam daje samo dva pina na 3.3 V koji su nam potrebni i za druge svrhe!

Kako testirati tip?

Neka multimetar ostane u načinu rada kontinuiteta. Dodirnite najduži provod sa crvenim vrhom multimetra i s crnim vrhom, dodirnite bilo koji od drugih vodiča. Ako LED svijetli obavivši gornji korak, to je LED sa zajedničkom anodom RGB. Ako se to ne dogodi, sada obrnite vrh multimetra. Dodirnite najduži provod sa crnim vrhom i crvenim vrhom sa bilo kojim drugim provodnicima. Sada će zasvijetliti pokazujući da je LED dioda RGB LED sa uobičajenom katodom.

Praktičan savjet: U ovom sam projektu koristio Common Cathode Type. Pokušajte nabaviti samo ove vrste, ali ne brinite čak i ako je druga vrsta dostupna. Veze kola ostaju iste, jedina razlika mora biti napravljena u kodu koji ću dati kao komentar pored stvarnog koda gdje morate promijeniti. Udahni.

Vremenska linija: Testirajte RGB

Referenca: Kako testirati RGB

RGB LED svijetli

Da biste to učinili, provjerite dijagram povezivanja dat na gornjim slikama i spojite ga prema pinovima kroz matičnu ploču (kako biste bili sigurni za početak).

CRVENO: Pin 11 (otpornik od 330 ohma)

ZELENO: Pin 13 (otpornik od 120 ohma)

PLAVA: Pin 15 (otpornik od 120 ohma)

Vrijednosti otpornika variraju zbog promjenjivih napona vodiča naprijed.

Nakon što ste ih pravilno povezali, kodirajte RPi u ugrađenom python IDE -u.

uvezite RPi. GPIO kao GPIO

#Brojevi pinova odgovaraju točnom broju na RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Povežite pin zajedničke katode sa Pin 6 def okrenite (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.izlaz (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) za zajednički tip anode defOffOff (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 ("Upišite svoju naredbu:") ako je cmd == "crveno uključeno ": #type ulazne komande kako je tačno spomenuto" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "plavo uključeno": blueOn () elif cmd == "plavo isključeno": blueOff () else: print ("Nije važeća komanda") osim KeyboardInterrupt: GPIO.cleanup ()

Upućivao sam na ovaj Instructable, provjerite ovo radi detaljnog opisa i koda!

Koristeći isti gornji kôd, možete provjeriti ima li više LED dioda zajedno tako da ih paralelno povežete na matičnoj ploči i izvadite jednu točku sa bilo kojeg pina spojenog zajedno. Koristite različite vrijednosti otpornika za svaki pin kako biste provjerili svjetlinu LED dioda

Praktičan savjet: Pazite da spojite istu paralelnu iglu. Odnosno, crveni pin jedne LED se povezuje samo sa crvenom iglom druge LED.

Vremenska linija: Neka sjaje!

Testiranje dodirne podloge

Povezivanje kola je kao što je prikazano ovdje (vremenska linija). Povežite ih kako je prikazano i isprobajte dodirne podloge pomoću sljedećeg koda.

Šifra:

uvezite RPi. GPIO kao GPIO

od trenutka uvoza spavanje GPIO.setmode (IO. BOARD) dodirna tabla1 = 11 #pin 11 dodirna tabla2 = 13 #pin 13 GPIO.setup (dodirna tabla1, GPIO. IN) GPIO.setupna (dodirna tabla2, GPIO. IN) #Možemo udružiti oba gornje izjave zajedno kao # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) try: while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touchched") sleep (2) elif (GPIO.input (touchpad2) == True): print ("Touchpad 2 touchched") sleep (2) else: print ("Not Touched") osim KeyboardInterrupt: GPIO.cleanup () #CTRL-C za izlaz

Testiranje LED diode

Pogledajte ovo sjajno uputstvo za testiranje vaše LED diode!

Nakon što isprobate sve gore navedene komponente, spremni ste za izradu njegove veće verzije.

Korak 3: Lemljenje indikatorske ploče

Lemljenje indikatorske ploče
Lemljenje indikatorske ploče
Lemljenje indikatorske ploče
Lemljenje indikatorske ploče
Lemljenje indikatorske ploče
Lemljenje indikatorske ploče

Ako ste tek počeli sa lemljenjem, pogledajte ovaj vodič kako biste ovdje naučili neke njegove osnove (Kako lemiti). Ako ste profesionalac u lemljenju, počnimo!

Panel sa indikatorima

Ilustraciju kako ih lemiti možete pronaći na perf ploči na gornjim slikama.

Za panel koristimo 13 RGB LED dioda. Odvojite ih u tri odjeljka: lijevo, desno i od sredine prema lemljenju u skladu s tim.

Važno: Razmak LED dioda

Ostavio sam 3 reda između LED dioda. Kao što je prikazano na drugoj slici. Ovo je važno da LED ploča izgleda i osjeća se dobro. Ne želimo da LED diode predaleko povećavaju prostor ili suviše blizu da ne mogu razlikovati svjetlost iz daljine.

Praktičan savjet: Počnite prvo lemljenjem svih zajedničkih katodnih pinova

Praktičan savjet: Koristite višežilne žice za povezivanje LED dioda jer su manje čvrste i lako se savijaju. Za povezivanje kraćih udaljenosti možete koristiti dodatne odsječene pinove LED dioda

Desni presjek: (5 LED dioda)

  • Povežite sve crvene pinove zajedno
  • Spojite sve zelene pinove zajedno
  • Spojite sve zajedničke katodne pinove zajedno

Lijevi odjeljak: (5 LED dioda)

  • Povežite sve crvene pinove zajedno
  • Spojite sve zelene pinove zajedno
  • Spojite sve zajedničke katodne pinove zajedno

Središnji dio: (3 LED diode)

Praktičan savjet: Ovaj odjeljak zahtijeva dovoljno opreza. Nemojte lemiti sve igle zajedno kao što smo to učinili u gornja dva odjeljka!

  • Povežite sve crvene pinove zajedno
  • Povežite samo gornju i donju LED diodu, zeleni pin.
  • Spojite sve zajedničke katodne pinove zajedno

Žice

Za spajanje ploče na GPIO ploču potrebne su nam duže žice.

Praktičan savjet:

  • Koristite jednolančane žice! Oni su dovoljno čvrsti da izdrže mehanička naprezanja koja se na njih primjenjuju!
  • Neka žice budu nešto duže od stvarne duljine potrebne između ploče i RPi (ovo je vrlo zgodno za kasnije upravljanje žicama! (Vremenska traka: Mjerenja)
  • Izolirajte nakon lemljenja! Veoma važno

Za lemljenje koristite kratkospojnu žicu i jednostruku žicu. Jedan kraj žice kratkospojnika mora biti ženski konektor. Lemite ih kao što je prikazano ovdje (vremenska traka)

Boje označite žice kao crvenu, zelenu i crnu. što odgovara crvenom pinu, zelenom pinu i zajedničkoj katodnoj pinovi.

Potrebne su nam 3 crne žice, 3 crvene žice i 3 zelene žice.

Nakon što su žice spremne. Lemite žice na LED indikatore.

Praktični savjeti:

  • Uvjerite se da su LED diode lemljene prema danim vezama.
  • Uvjerite se da ste lemili ispravne vrijednosti otpornika. Ako se vrijednosti promijene, to će utjecati na svjetlinu LED dioda
  • Jedan način da provjerite rade li sve vaše LED diode je pomoću multimetra danog u koraku 2. Ovo je vrlo zgodno jer ćete znati da li postoji kratki spoj LED diode neće zasvijetliti.
  • Ne skidajte krajeve žica duže nego što je potrebno. Ovo će ih biti teško zadržati na mjestu, a također i veći rizik od kratkog spoja.
  • Za povezivanje LED dioda upotrijebite višežidnu žicu.
  • Za spajanje sekcija na RPi koristite jednolančane žice.

Korak 4: Stavite ploču s indikatorima na test

Stavite ploču s indikatorima na test
Stavite ploču s indikatorima na test
Stavite ploču s indikatorima na test
Stavite ploču s indikatorima na test
Stavite ploču s indikatorima na test
Stavite ploču s indikatorima na test

Svaka čast! Ako ste pravilno lemili ploču. Idemo sada sa kodiranjem indikatora!

Kao što je ranije spomenuto, označit ćemo skretanje udesno, ulijevo i uključivanje/isključivanje noćnog nišana.

Pogledajte povezivanje kruga u koraku 3.

Spojite žice ploče kao što je dolje navedeno:

  • Crveno desno - pin 7
  • Zeleno desno - pin 11
  • Uobičajena katoda desno - pin 6 (GND)
  • Crveno lijevo - Pin 13
  • Zelena lijeva - Pin 15
  • Uobičajena katoda lijevo - pin 9 (GND)
  • Centar crvena - Pin 16
  • Srednja zelena (gore i dolje) - Pin 18
  • Srednja zajednička katoda - Pin 14 (GND)

Test kod:

uvezite RPi. GPIO kao GPIO

od trenutka ulaska u stanje spavanja #Povežite se prema donjim brojevima pinova 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 ("Okretanje udesno") trepće (Green_right, Green_top_bottom, 0) def left_turn (): print ("Skretanje ulijevo") treptanje (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) za x u rasponu (10): GPIO.izlaz ([pin1, pin2], GPIO. HIGH) spavanje (0,5) GPIO.izlaz ([pin1, pin2], GPIO. LOW) spavanje (0,5) inače: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) za x u rasponu (10): GPIO.izlaz ([pin1, pin2, pin3], GPIO. HIGH) spavanje (0,5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) sleep (0.5) def night_sight (): print ("Night Sight ON") trepće (Red_left, Red_right, Red_center) try: while True: cmd = input (" Testirajte LED za: ") if cmd ==" desno skretanje ": right_turn () elif cmd ==" lijevo skretanje ": left_turn () elif cmd ==" noćni nišan ": night_sight () else: print (" Invalid Command ") osim Ke yboardInterrupt: GPIO.cleanup ()

Ako vaša ploča briše sve faze ispitivanja kao u kodu, bravo! Spremite se za sljedeći korak

Ako ploča ne svijetli, provjerite jeste li pravilno slijedili sve korake i prethodno pregledali korisne savjete. Ako problem i dalje postoji, možete to komentirati u nastavku, bit ću spreman pomoći.

Vremenska linija: Test ONE (Provjerite radni prototip u videu)

Korak 5: Integrirajte ploču s indikatorima s dodirnom pločom

Integriranje indikatorske ploče s dodirnom pločom
Integriranje indikatorske ploče s dodirnom pločom
Integriranje indikatorske ploče s dodirnom pločom
Integriranje indikatorske ploče s dodirnom pločom
Integriranje indikatorske ploče s dodirnom pločom
Integriranje indikatorske ploče s dodirnom pločom

Spajanje na RPi

Povežite se kao što je prikazano na gornjoj slici.

Desna ploča

Touchpad:

  • GND pin - Pin 34
  • VCC pin - Pin 1
  • SIG pin - Pin 29

LED:

Anodni (+) pin - Pin 33

Leva ploča

Touchpad:

  • GND pin - Pin 30
  • VCC pin - Pin 17
  • SIG pin - Pin 31

LED:

Anodni (+) pin - Pin 35

Zajednički GND: Pin 39 (za obje katode LED dioda) - Lemljenje zajedničkog uzemljenja (vremenska linija)

Test kod:

uvezite RPi. GPIO kao GPIO

od trenutka ulaska u stanje mirovanja 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 ([desno_lijevo, lijevo_kriveno], GPIO. OUT) GPIO.setup (desni dodir, GPIO. IN, povlačenje_upuštanja = GPIO. PUD_UP) GPIO.postavljanje (lijevi_dodir, GPIO. IN, povlačenje_dopuna = GPIO. PUD_UP) def_desno_okret (kanal): GPIO.izlaz (desno_crtano, GPIO. HIGH) globalno aktivirano aktivirano = 1 ispis ("Okretanje udesno") trepće (Zeleno_desno, Zeleno_vrh_dole) def lijevo_okret (kanal): GPIO.izlaz (lijevo_lijevo, GPIO. HIGH) globalno aktivirano aktivirano = 1 ispis ("Okretanje Lijevo ") trepće (Zeleno_lijevo, Zeleno_na vrhu_dole) GPIO.add_event_detect (desni dodir, GPIO. FALLING, povratni poziv = desni_okret, vrijeme odskoka = 500) GPIO.add_event_detect (lijevi_dodir, GPIO. FALLING, povratni poziv = lijevo_okretanje, odskakivanje 500 (otkazivanje 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) za x u rasponu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) spavanje (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) sleep (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) globalno aktivirano aktivirano = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globalno aktivirano ako (aktivirano == 0): ispis ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) spavanje (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) probajte: night_sight () osim KeyboardInterrupt: GPIO.cleanup ()

Dodirnite dodirnu ploču da vidite svjetlo koje sjaji

Vremenska linija (bez indikacijske LED diode): Drugi test

Vremenska traka (sa indikacijskom LED): Test 3

Objašnjenje koda: Želimo da noćni nišan radi neprestano i kad dodirnemo dodirnu ploču, trebao bi se zaustaviti i izvršiti funkciju dodirne podloge. Da bismo to učinili istovremeno, koristimo nešto poznato kao "Prekidi" u pythonu. To nam omogućava da pokrenemo naš uobičajeni kôd koji je ovdje noćni prizor, a također pokreće događaj kada se otkrije dodir. Za zaustavljanje noćnog nišana koristimo aktiviranu varijablu kao zastavu.

Za više informacija o prekidima, provjerite ovu vezu.

Lemite ploču

Sada lemimo ploče dodirne podloge koje će ići do upravljača bicikla. Pogledajte veze kako je prikazano na gornjoj slici.

Sada kada ste testirali LED i dodirnu ploču, spremni ste. Ako već niste testirali, pogledajte ovaj korak i prethodne korake.

Postavite dodirnu tablu blizu upravljača kao što je prikazano u videu. Odnosno, za desnu dodirnu tablu dodirna tabla je s desne i lijeve s lijeve strane. Slično, za lijevu dodirnu ploču LED dioda je s desne strane, a dodirna s lijeve strane što olakšava pristup palcu.

PS: Nisam lemio touchpad na perf ploču jer sam ga trebao ponovo upotrijebiti. Zato sam ga samo stavio na ploču s dvostranom trakom.

Spojite ploču na RPi pomoću dužih žica

Korak 6: Učinite to pametnim

Neka bude pametno!
Neka bude pametno!
Neka bude pametno!
Neka bude pametno!
Neka bude pametno!
Neka bude pametno!

Da! Sada kada smo osnovali sve naše osnovne pokazatelje. Napravimo korak dalje kako bismo ga učinili pametnim.

Ovdje smart definira uštedu i na bateriji. Kao što ste možda primijetili, noćni nišan uvijek je uključen, a ponekad to možda neće biti potrebno za jarkog sunčanog dana. Da bismo prevladali ovaj problem, omogućimo integriranje LDR -a (svjetlozavisni otpornik) kako bismo dobili podatke o intenzitetu svjetlosti koje možemo prikupiti i prema tome obraditi naš indikator.

Testiranje LDR -a

Pozvao sam ovu web stranicu radi testiranja LDR -a radi provjere intenziteta svjetlosti i vrijednosti koju on vraća.

Pogledajte gore označeno web mjesto za krug i uzorak koda za rad LDR -a.

Integriranje LDR -a u naš kôd

Lemite LDR na desnu ploču dodirne table kao što je prikazano na gornjoj shemi povezivanja.

Nakon lemljenja pinova na pravo mjesto, vrijeme je za posljednji bit kodiranja. Konačni kod!

  • Spojite zajedničku točku katode (-) kondenzatora i LDR na pin 36 na RPi
  • Anoda kondenzatora povezana je s tačkom zajedničkog uzemljenja iz koraka 5

Završni kod:

uvezite RPi. GPIO kao GPIO

od trenutka ulaska u stanje mirovanja 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. postavljanje ([desno_lijevo, lijevo_lijevo], GPIO. OUT) GPIO.setup (desni_dodir, GPIO. IN, povlačenje_upust = GPIO. PUD_UP) GPIO.postavljanje (lijevo_dodiranje, GPIO. IN, povlačenje_uz_dopu = GPIO. PUD_UP) def_desno_okret (kanal): GPIO.output (desno_crtano, GPIO. HIGH) globalno aktivirano aktivirano = 1 ispis ("Okretanje udesno") trepće (Zeleno_desno, Zeleno_vrh_dole) def lijevo_okret (kanal): GPIO.izlaz (lijevo_lijevo, GPIO. HIGH) globalno aktivirano = 1 ispis ("Okretanje ulijevo") treptanje (Zelena_lijeva, Zelena_vrha_dole) GPIO.add_event_detect (desni dodir, GPIO. FALLING, povratni poziv = desni_okret, vrijeme odskakivanja = 500) GPIO.add_event_detect (lijevi_dodir, GPIO. FALLING, povratni poziv = lijevo_povratak) (ldr): count = 0 #Izlaz na pinu za GPIO.setup (ldr, GPIO. OUT) GPIO.izlaz (ldr, GPIO. LOW) spavanje (0,1) #Chang e pin nazad na ulaz GPIO.setup (ldr, GPIO. IN) #Brojanje dok pin ne pređe visoko dok (GPIO.input (ldr) == GPIO. LOW): count += 1 povratak count def treptanje (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) za x u rasponu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) spavanje (0,5) GPIO.izlaz ([desno_lijevo, lijevo_lijevo], GPIO. LOW) globalno aktivirano aktivirano = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globalno aktivirano ako (light_sensing (ldr)> 7800): if (aktivirano == 0): ispis ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) spavanje (0,27) GPIO.izlaz ([Red_center, Red_left, Red_right], GPIO. LOW) spavanje (0,27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) pokušajte: night_sight () osim KeyboardInterrupt: GPIO.cleanup ()

Voila! I indikator je spreman za pokretanje.

Praktičan savjet: Prije sastavljanja RPi i drugih komponenti u ciklus, provjerite da li ste ispravno testirali ovaj program! Pokrenite ga nekoliko puta za otklanjanje grešaka.

Korak 7: Slikanje i sastavljanje

Slikanje i montaža
Slikanje i montaža
Slikanje i montaža
Slikanje i montaža
Slikanje i montaža
Slikanje i montaža

Potrebni materijali:

  • Alati za rezanje/ skidanje žice
  • Jedna velika kutija za skladištenje koja može stati u Raspberry Pi
  • Jedna mala kutija za odlaganje koja odgovara panelu indikatora
  • Boja
  • Četke za slikanje

Počnite slikanjem ploče s indikatorom i panela dodirne podloge crnom bojom. Ovdje sam koristio akrilne boje, možete ih koristiti po vlastitom izboru koje se dobro stapaju sa perf pločom. Koristite crnu pozadinu kako biste LED panel učinili živahnijim i istaknutijim. Napravite rupe zagrijanim odvijačem ili bilo kojim metalnim predmetom da otopite plastiku.

Napomena: Budite oprezni pri pravljenju rupa.

Vremenska linija: Boja

Praktičan savjet: Koristio sam plastične kutije i boja se lako skida. Pazite da koristite kvalitetne boje

Nakon što su indikator i ploče obojeni, osušite ih na suncu i pripremite se za sastavljanje.

Izrezao sam dodatne rubove perf ploče na ploči s indikatorima i na prednjoj ploči radi uštede prostora.

Montažu provjerite u videu!

Vremenska linija: Osvetnici! Sastavite. (Sklapanje indikatorske ploče i RPi sa kutijama)

Kao što se vidi u videu, postavite žice u skladu s tim tako da napravite tri rupe u većoj kutiji. Jedan za RPi žicu za napajanje, jedan za ploče dodirne podloge i jedan za ploču s indikatorima. Za manju kutiju potrebna je samo jedna rupa.

Praktičan savjet: Prije spajanja u kutiju provjerite izolaciju žica i provjerite jesu li žice pravilno lemljene.

Korak 8: Daljinsko testiranje s VNC -om i završnim kodom

Daljinsko testiranje sa VNC -om i završnim kodom
Daljinsko testiranje sa VNC -om i završnim kodom
Daljinsko testiranje sa VNC -om i završnim kodom
Daljinsko testiranje sa VNC -om i završnim kodom

Jedan posljednji test prije nego što je indikator potpuno spreman. Povežite svoj RPi na VNC Viewer i pokrenite program.

Uvijek koristim VNC server za pokretanje programa i otklanjanje grešaka u programu. Na ovaj način mogu postaviti RPi direktno na mjesto na kojem želim testirati bez povezivanja monitora izvana.

Provjerite ovu stranicu za povezivanje vašeg RPi -a sa VNC serverom. (VNC server)

Nakon što spojite RPi na VNC poslužitelj. Kôd možete pokrenuti na virtualnoj radnoj površini i otkloniti greške.

Vremenska linija: Pokreni pri pokretanju

Praktičan savjet: Nakon što povežete Raspberry Pi s virtualnom radnom površinom, prijavit ćete se s IP adresom RPi -ja. Ali ako dobijete grešku u kojoj se navodi da je RPi odbio vezu, to je zbog promjene IP adrese u RPI -u. To se može dogoditi kada ponovo pokrenete usmjerivač ili WiFi pristupnu točku, a zatim se pokušate prijaviti sa starom adresom. Ruter dodjeljuje novi IP svaki put kada ga ponovno pokrenete. Ali ako se sjećate stare IP adrese RPi -a, samo povećajte zadnju znamenku za 1 i prijavite se. Primjer: Ako je stara IP adresa 190.148.1.100, prijavite se koristeći 190.148.1.101

Nakon što ste provjerili radi li sve kako treba, vrijeme je za konačnu montažu.

Uvijek ne možemo imati virtualnu radnu površinu za nadgledanje ili pokretanje python skripte. Učinimo to pri pokretanju.

Želimo da se naš program pokrene čim se RPi podigne. Za više detalja o ovome posjetite ovu web stranicu!

Ako je vaš RPi na postavkama automatske prijave, nastavite;

Pokrenite sljedeće naredbe na terminalu RPi

sudo nano /etc /profile

Pomaknite se do dna i dodajte sljedeći red:

sudo python file_path &

File_path ovdje se odnosi na putanju python datoteke u kojoj je pohranjen vaš konačni kod.

Napomena: Ampersand (&) na kraju datoteke treba dodati tako da vaš program radi paralelno sa pokretanjem sistema. Budući da naš program sadrži beskonačnu petlju, ovaj korak je obavezan tako da čak i ako program ne radi prema očekivanjima, i dalje možemo koristiti RPi radnu površinu za promjenu postavki.

Nakon toga pritisnite CTRL-X, a zatim Y Pritisnite dvaput Enter i vratit ćete se na komandni terminal.

Ponovo pokrenite Pi

Sada bi se kod trebao pokrenuti pri pokretanju

Korak 9: Upravljanje kablovima i završna montaža

Upravljanje kablovima i završna montaža
Upravljanje kablovima i završna montaža
Upravljanje kablovima i završna montaža
Upravljanje kablovima i završna montaža
Upravljanje kablovima i završna montaža
Upravljanje kablovima i završna montaža

Čestitamo! po završetku ovog projekta. Dao sam mu riječ Minimal, kao što ste vidjeli, koristili smo manje LED dioda za prikaz svih potrebnih indikacija, a također i sa prilagođenim bojama. Za svoje LED diode slobodno koristite različite boje, poput žute za pokazivače smjera ili bilo koje druge.

Ako ste radili na ovom projektu, kliknite na "Ja sam uspio" i podijelite svoje iskustvo. Podijelite svoja razmišljanja, kao i sve prijedloge ili komentare o ovom projektu. Volio bih to čuti!

Upravljanje kablovima

Da! Kao što ste mogli primijetiti, postoji toliko žica koje ulaze u cikluse i oko njih i upravljanje njima je užurbano. Koristio sam oznake kabela, izolacijske trake i kućište kabela da sakrijem žice, a također sam ih ofarbao u crnu boju kao što ste vidjeli na slici.

Praktičan savjet: Budući da ste ostavili dodatne centimetre na kablovima nego što je potrebno, sada je korisno pravilno upravljati njima bez naprezanja! Ako jedna od vaših LED lampica zasvijetli, a druge ne rade čak i ako ste sve učinili kako treba, problem je u na spojnim žicama spojenim na RPi bit će labav kontakt. Ako se ovo nastavi, upotrijebite kratkospojnik sa muškim na ženski da biste produžili žicu i povezali ih. Upotrijebite kabelske vezice da držite žice na mjestu kako se ne bi micale.

Sada je indikator spreman za vožnju! Uživaj

PS: U daljnjem uputstvu zaista bih volio smanjiti broj žica u krugu i smisliti bolji plan. Ako to učinim, podijelit ću Instructable o tome!

Korak 10: Neke slike indikatora

Neke slike indikatora
Neke slike indikatora
Neke slike indikatora
Neke slike indikatora
Neke slike indikatora
Neke slike indikatora
Neke slike indikatora
Neke slike indikatora

Hvala vam što ste pročitali ovo uputstvo. Nadam se da ste uživali kao i ja u izradi

Vremenska traka: Završni test U gornjem segmentu možete vidjeti da čim se soba zamrači, "Night Sight" se UKLJUČUJE i kako postaje svjetliji, odmah se isključuje!

Vremenska linija: Spremno za rolanje Neki video zapisi koje sam snimio da prikažem indikator u centru pažnje. Svaka čast biciklizmu mojih sestara za video!

Preporučuje se: