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, Studeni
Anonim
Image
Image

Bok tamo! Ovo je moj prvi Instructable. Uvijek sam želio stvarati stvari od nule samo da vidim kako to funkcionira i tko ne voli DIY (Uradi sam) stvari kad možeš 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, izradio sam indikator bicikla s minimalističkim dizajnom i omogućenim dodirom. Znam da postoji mnogo instruktora ili internetskih izvora za indikator bicikla, ali većina njih je zauzela malo više prostora ili nisu bili dovoljno pametni 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 ih izmijenite prema svojim potrebama, onda je ovo uputstvo za vas!

Zašto indikator bicikla?

Volim biciklirati po gradu! Uzimam bicikl i samo se vozim ujutro ili navečer. 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 i sam izraditi indikator sa svim materijalima koje sam imao 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 ih ne biste pokušali napraviti. 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 Uputu. Dok nastavljate, na svakom koraku označit ću segmente svog YouTube videozapisa kao "Vremensku traku:" kako biste pogledali kako stvari praktično funkcioniraju. Više informacija možete dobiti klikom na istaknute ponuđene veze.

Značajke ovog projekta:

  • Indikator skretanja udesno
  • Pokazivač skretanja ulijevo
  • Indikacija noćnog vida
  • Omogućeno dodirom

Korak 1: Materijali za početak

Testiranje komponenti
Testiranje komponenti
  • Otpornici (330 i 120 ohma): 330 i 120 ohma
  • Malina Pi 3: RPi 3
  • Breadboard: Breadboard
  • Žice kratkospojnika (muško-muško, muško-žensko, žensko-žensko): žice kratkospojnika
  • 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: Set za lemljenje
  • Perf ploče: Perf ploča
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolitski kondenzator: elektrolitički kondenzator
  • LDR (svjetlo ovisni otpornik): LDR
  • Kabelske vezice: Kabelske vezice
  • Kabelski korektor: Kabelski korektor
  • Akrilna boja i četke (po izboru): Boja i četke
  • Dvije 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 pribor za lemljenje materijala!

Vremenska crta: Prikupite materijale

Korak 2: Testiranje komponenti

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

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

Ispitajte 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 i nakon nekoliko unakrsnih provjera kruga. Tada sam shvatio da postoje dvije vrste ove LED diode i prolazeći kroz podatkovnu tablicu konačno sam dobio rješenje! Problem s mojim krugom bio je u tome što je zajednička katodna pina spojena na 3,3 V kao što je spomenuto, a ja sam GPIO pin držao na VISOKOM, pa su i zajednička katodna pina i ostale 3 pinove bile na istom potencijalu.

Rješenje: Priključio sam zajedničku katodnu iglu na masu i LED je zasvijetlila! Razlog zašto nisam promijenio 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 koja nam trebaju i za druge svrhe!

Kako testirati tip?

Neka multimetar ostane u načinu rada za kontinuitet. Dodirnite najduži kabel crvenim vrhom multimetra i 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 vod s crnim vrhom i crvenim vrhom s bilo kojim drugim vodovima. 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 čak i ako je druga vrsta dostupna, ne brinite. Spojevi kruga ostaju isti, jedina razlika mora biti napravljena u kodu koji ću dati kao komentar uz stvarni kodni redak koji morate promijeniti. Udahni.

Vremenska traka: 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 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 na Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.izlaz (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) za zajedničku vrstu anode 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 ("Upišite svoju naredbu:") ako je cmd == "crveno na ": #type ulazne naredbe kako je toč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 naredba") osim KeyboardInterrupt: GPIO.cleanup ()

Referirao sam 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 paralelnim povezivanjem na ploči i izvaditi jednu točku s bilo koje spojene pinove. 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 s crvenom iglom druge LED.

Vremenska crta: Neka sjaje!

Testiranje dodirne podloge

Povezivanje kruga je kako je prikazano ovdje (vremenska traka). Spojite ih kako je prikazano i isprobajte svoje dodirne podloge pomoću sljedećeg koda.

Kodirati:

uvezite RPi. GPIO kao GPIO

od trenutka uvoza spavanje GPIO.setmode (IO. BOARD) dodirna podloga1 = 11 #pin 11 dodirna podloga2 = 13 #pin 13 GPIO.setup (dodirna podloga1, GPIO. IN) GPIO.setupna (dodirna podloga2, GPIO. IN) #Možemo spojiti obje 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 ovu sjajnu uputu 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 s lemljenjem, pogledajte ovaj vodič kako biste ovdje naučili neke njegove osnove (Kako lemiti). Ako ste profesionalac u lemljenju, počnimo!

Ploča s pokazateljima

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

Za ploču koristimo 13 RGB LED dioda. Odvojite ih u tri odjeljka: lijevo, desno i u sredini prema lemljenju.

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 bi mogle razlikovati svjetlost iz daljine.

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

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

Desni presjek: (5 LED dioda)

  • Spojite sve crvene pinove zajedno
  • Spojite sve zelene igle zajedno
  • Spojite sve zajedničke katodne pinove zajedno

Lijevi odjeljak: (5 LED dioda)

  • Spojite sve crvene pinove zajedno
  • Spojite sve zelene igle 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!

  • Spojite sve crvene pinove zajedno
  • Spojite 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! Dovoljno su čvrste da izdrže mehanička naprezanja koja se na nju 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! Jako važno

Za lemljenje koristite kratkospojnu žicu i jednolančanu žicu. Jedan kraj žice kratkospojnika mora biti ženski konektor. Lemite ih kako je ovdje prikazano (vremenska traka)

Boje označite žicama 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 priključcima.
  • Provjerite jeste li lemili ispravne vrijednosti otpornika. Ako se vrijednosti promijene, to će utjecati na svjetlinu LED dioda
  • Jedan od načina da provjerite rade li sve vaše LED diode je pomoću multimetra iz koraka 2. Ovo je vrlo zgodno jer ćete znati ima li kratkog spoja LED diode neće zasvijetliti.
  • Ne skidajte krajeve žica duže nego što je potrebno. To ć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 upotrijebite jednolančanu žicu.

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

Čast! Ako ste ispravno lemili ploču. Idemo sada s kodiranjem pokazatelja!

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 spomenuto:

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

Kôd testa:

uvezite RPi. GPIO kao GPIO

od trenutka uvoza spavanje #Povežite se prema dolje navedenim 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 ("Okretanje 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") treptanje (Red_left, Red_right, Red_center) try: while True: cmd = input (" Test LED za: ") if cmd ==" right turn ": right_turn () elif cmd ==" left turn ": left_turn () elif cmd ==" night night ": 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! Pripremite se za sljedeći korak

Ako se ploča ne svijetli, provjerite jeste li točno 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 traka: Test ONE (Provjerite radni prototip u videu)

Korak 5: 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
Integriranje indikatorske ploče s dodirnom pločom

Spajanje na RPi

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

Desna ploča

Dodirna podloga:

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

LED:

Anodni (+) pin - Pin 33

Lijeva ploča

Dodirna podloga:

  • 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 -a) - Lemljenje zajedničkog uzemljenja (vremenska traka)

Kôd testa:

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 trigger = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([desno_lijevo, lijevo_lijevo], GPIO. OUT) GPIO.setup (desni dodir, GPIO. IN, povlačenje_dopunjavanja = 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") treptanje (Zeleni_desno, Zeleni_vrh_dolje) def lijevo_okret (kanal): GPIO.izlaz (lijevo_lijevo, GPIO. HIGH) globalno aktivirano aktivirano = 1 ispis ("Okretanje Lijevo ") trepće (Zeleno_lijevo, Zeleno_vrh_dna) 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_okret, odskakivanje 500 (otkazivanje 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) za x u rasponu (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (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) sleep (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) try: night_sight () osim KeyboardInterrupt: GPIO.cleanup ()

Dodirnite dodirnu plohu da biste vidjeli svjetlo koje sjaji

Vremenska traka (bez indikacijske LED diode): Drugi test

Vremenska traka (s indikacijskom LED): Test 3

Objašnjenje koda: Želimo da noćni nišan radi neprestano i kad dodirnemo dodirnu ploču, ona bi se trebala zaustaviti i izvršiti funkciju dodirne podloge. Da bismo to učinili istovremeno, koristimo nešto poznato kao "Prekidi" u pythonu. To nam omogućuje pokretanje našeg uobičajenog koda 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 zastavicu.

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

Lemiti ploču

Sada lemimo ploče osjetljive na dodir koje će ići na upravljač bicikla. Pogledajte veze kako je prikazano na gornjoj slici.

Sada kada ste testirali LED i dodirnu plohu, spremni ste za rad. Ako već niste testirali, pogledajte ovaj korak i prethodne korake.

Postavite dodirnu plohu blizu upravljača kao što je prikazano u videu. Odnosno, za desni touchpad touchpad 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 ponovno upotrijebiti. Stoga 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 pokrenuli sve bitne pokazatelje. Napravimo korak dalje kako bismo ga učinili pametnim.

Ovdje smart definira i uštedu baterije. 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, integrirajmo LDR (Light Dependent Resistor) kako bismo dobili podatke o intenzitetu svjetlosti koje možemo prikupiti i prema tome obraditi naš indikator.

Testiranje LDR -a

Poslao sam na ovu web stranicu radi testiranja LDR -a radi provjere intenziteta svjetla 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 podloge kao što je prikazano na gornjoj shemi povezivanja.

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

  • Spojite zajedničku točku katode (-) kondenzatora i LDR na pin 36 na RPi
  • Anoda kondenzatora spojena je na točku 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. 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 (kanal): GPIO.output (right_led, GPIO. HIGH) globalno aktivirano aktivirano = 1 ispis ("Okretanje udesno") trepće (Green_right, Green_top_bottom) def left_turn (kanal): GPIO.output (left_led, 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 odskoka = 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 natrag na ulaz GPIO.setup (ldr, GPIO. IN) #Count dok pin ne naraste visoko (GPIO.input (ldr) == GPIO. LOW): count += 1 return 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) 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 (light_sensing (ldr)> 7800): if (aktivirano == 0): ispis ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (0,27) GPIO.izlaz ([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) pokušajte: night_sight () osim KeyboardInterrupt: GPIO.cleanup ()

Voila! I indikator je spreman za valjanje.

Praktičan savjet: Prije sastavljanja RPi -ja i drugih komponenti u ciklus, provjerite jeste li ispravno testirali ovaj program! Pokrenite ga nekoliko puta da biste otklonili pogreške.

Korak 7: Slikanje i montaža

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 spremanje u Raspberry Pi
  • Jedna mala kutija za pohranu koja odgovara indikatorskoj ploči
  • Boja
  • Kistovi za boju

Počnite slikanjem ploče s indikatorima i ploča osjetljive na dodir u crnu boju. Ovdje sam koristila akrilne boje, možete ih koristiti po vlastitom izboru koje se dobro stapaju s perf pločom. Upotrijebite 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 crta: 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 pokazivačkoj ploči i prednjoj ploči radi uštede prostora.

Montažu provjerite u videu!

Vremenska linija: Osvetnici! Sastavite. (Sastavljanje indikatorske ploče i RPi s 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 s VNC -om i konačnim kodom
Daljinsko testiranje s VNC -om i konačnim kodom
Daljinsko testiranje s VNC -om i konačnim kodom
Daljinsko testiranje s VNC -om i konačnim kodom

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

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

Na ovoj stranici provjerite da li svoj RPi spojite na VNC poslužitelj. (VNC poslužitelj)

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

Vremenska traka: Pokreni pri pokretanju

Praktičan savjet: Nakon što povežete svoj Raspberry Pi s virtualnom radnom površinom, prijavit ćete se s IP adresom RPi -ja. Ali ako dobijete pogreš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 ponovno pokrenete usmjerivač ili WiFi pristupnu točku, a zatim se pokušate prijaviti sa starom adresom. Ruter dodjeljuje novi IP svaki put kad 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 pomoću 190.148.1.101

Nakon što provjerite radi li sve ispravno, vrijeme je za konačnu montažu.

Uvijek ne možemo imati virtualnu radnu površinu za praćenje ili pokretanje python skripte. Pa 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 postavci automatske prijave, nastavite;

Pokrenite sljedeće naredbe na terminalu RPi

sudo nano /etc /profile

Pomaknite se do dna i dodajte sljedeći redak:

sudo python file_path &

File_path ovdje se odnosi na put python datoteke gdje je pohranjen vaš konačni kod.

Napomena: Ampersand (&) na kraju datoteke treba dodati tako da vaš program radi paralelno s pokretanjem sustava. Budući da naš program sadrži beskonačnu petlju, ovaj je korak obavezan kako bismo, čak i ako program ne radi prema očekivanjima, i dalje mogli 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 kabelima i završna montaža

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

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

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

Upravljanje kablovima

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

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 spojnim žicama spojenim na RPi, doći će do labavog kontakta. Ako se ovo nastavi, upotrijebite kratkospojnu žicu s muškog na ženski da biste produžili žicu i spojili ih. Držite žice na mjestu kako se ne bi micale.

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

PS: U sljedećim uputama 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

Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora
Nekoliko slika indikatora

Hvala vam što ste pročitali ovaj Instructable. Nadam se da ste uživali jednako kao i ja u izradi

Vremenska traka: Završni testU gornjem odjeljku možete vidjeti da čim se soba smrači, "Noćni prizor" se UKLJUČUJE i kako postaje svjetliji, odmah se isključuje!

Vremenska traka: Spremno za rolanje Neki videozapisi koje sam snimio kako bih prikazao indikator u središtu pozornosti. Svaka čast biciklizmu mojih sestara za video!

Preporučeni: