Talaan ng mga Nilalaman:

Minimalist na Tagapagpahiwatig ng Bisikleta, Pinagana ang Touch !: 10 Hakbang (na may Mga Larawan)
Minimalist na Tagapagpahiwatig ng Bisikleta, Pinagana ang Touch !: 10 Hakbang (na may Mga Larawan)

Video: Minimalist na Tagapagpahiwatig ng Bisikleta, Pinagana ang Touch !: 10 Hakbang (na may Mga Larawan)

Video: Minimalist na Tagapagpahiwatig ng Bisikleta, Pinagana ang Touch !: 10 Hakbang (na may Mga Larawan)
Video: 15 Most Innovative Gadgets Currently in Development 2024, Nobyembre
Anonim
Image
Image

Kumusta! Ito ang aking unang Instructable. Palagi kong nais na gumawa ng mga bagay mula sa simula lamang upang makita kung paano ito gumagana at kung sino ang hindi gusto ng mga bagay na DIY (Gawin mo mismo) kung maaari mong baguhin ang isang bagay alinsunod sa iyong mga pangangailangan di ba? Gayundin kagiliw-giliw na bilang isang DIY ay maaaring tunog, nangangailangan ng kaunting pagsisikap upang maganap ito. Ang pagtingin sa website ng Instructables ay isang mahusay na paraan upang simulan ang iyong mga hangarin sa DIY at iyon ang paraan kung paano ko sinimulan ang pagbuo ng ilan sa aking mga proyekto nang mas maaga, ngunit hindi ko akalain na makakagawa ako ng isa.

Tulad ng pagdating sa akin ng pagkakataon, gumawa ako ng isang Tagapagpahiwatig ng Bisikleta na may isang minimalist na disenyo at naka-on ang touch. Alam kong maraming mga Tagubilin o mga mapagkukunan sa online para sa isang tagapagpahiwatig ng bisikleta ngunit ang karamihan sa kanila alinman ay tumagal ng mas maraming puwang o hindi sapat na matalino upang baguhin ang mga ito sa isang partikular na paraan. Kung naghahanap ka para sa isang tagapagpahiwatig na sapat na matalino upang matupad ang iyong mga pangangailangan at bibigyan ka ng pagkakataon na baguhin ang mga ito alinsunod sa iyong mga pangangailangan, kung gayon ang Instructable na ito ay para sa iyo!

Bakit tagapagpahiwatig ng bisikleta?

Gusto ko ng pagbibisikleta sa buong lungsod! Kinukuha ko ang aking ikot at sumakay lamang alinman sa umaga o gabi. Minsan, sa gabi, mahirap sumakay, dahil ang trapiko sa likuran mo ay hindi ka mapapansin at isang mapanganib na tanda. Iyon ang dahilan kung bakit nais kong bumuo ng isang tagapagpahiwatig na aking sarili sa lahat ng mga materyal na mayroon ako sa bahay at maganda rin ang hitsura sa bisikleta habang sumakay ka sa lungsod na ON ang mga tagapagpahiwatig!

Ang paggawa ng isang proyekto nang hindi kinakailangang harapin ang anumang mga problema, ay hindi nangyari! Ngunit sasabihin ko sa iyo ang lahat ng mga pagkakamali na nagawa ko, habang itinatayo ito, bilang isang "Madaling magamit na Tip" upang hindi mo subukan na gawin ang mga ito. Naglalaman ang video sa YouTube ng isang Ilustrasyon kung paano binuo ang proyekto, maliit na mga animasyon upang maiparating kung paano gumagana ang mga bagay, at kung paano ang hitsura ng tagapagpahiwatig sa kalsada! Karamihan sa mga detalyadong impormasyon ay ibinibigay sa Instructable na ito. Sa iyong pagpapatuloy ay tag ang mga segment ng aking video sa youtube bilang "Timeline:" sa bawat hakbang upang tingnan mo kung paano gumana nang praktikal ang mga bagay. Maaari kang makakuha ng karagdagang impormasyon sa pamamagitan ng pag-click sa mga naka-highlight na link na ibinigay.

Mga tampok ng proyektong ito:

  • Kananang Pahiwatig ng Pagliko
  • Pahiwatig ng Kaliwa na Pagliko
  • Indikasyon ng Night Sight
  • Pinagana ang Touch

Hakbang 1: Mga Materyales upang Magsimula

Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok
  • Mga resistors (330 ohm at 120 ohms): 330 ohms at 120 ohm
  • Raspberry Pi 3: RPi 3
  • Breadboard: Breadboard
  • Jumper Wires (Lalaki-Lalaki, Lalaki-Babae, Babae-Babae): Mga Jumper Wires
  • Mga Multi-Strand Wires: Multi-Strand Wire
  • Capacitive Touch Sensor (TTP223) - (2): Link
  • Mga RGB LED (Karaniwang Uri ng Cathode) - (13): RGB LED Common Cathode
  • Mga normal na LED - (2): LED
  • Mga Materyal sa Paghihinang: Soldering Kit
  • Mga Perf Board: Perf Board
  • Powerbank: Powerbank
  • 1 micro Farad Electrolytic Capacitor: Electrolytic Capacitor
  • LDR (Light Dependent Resistor): LDR
  • Mga Tie ng Cable: Mga Tie ng Cable
  • Cable Concealer: Cable Concealer
  • Acrylic Paint and Brushes (Opsyonal): Kulayan at Brushes
  • Dalawang mga kahon ng imbakan para sa Assembly. (1 Malaki at 1 katamtamang sukat)

Palaging panatilihin ang labis na dami kung ano ang nabanggit sa itaas. Naiugnay ko ang mga bahagi sa Amazon at ilang pinakamahusay na bumili ng kit para sa mga materyales na panghinang!

Timeline: Ipunin ang Mga Materyales

Hakbang 2: Mga Bahagi ng Pagsubok

Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok
Mga Sangkap ng Pagsubok

Subukin natin ang iyong mga bahagi! Ito ay talagang kapaki-pakinabang upang paghiwalayin ang mga bahagi na nasira o kumikilos nang kakatwa sa ilang kadahilanan at hinahayaan ka rin ng yugto na ito na makuha ang paunang karanasan sa Kamay sa mga sangkap at gumawa ng kaunting pag-aaral bago magtayo sa buong proyekto.

Subukan ang uri ng RGB LED

Mayroong dalawang uri ng RGB LED na nakita namin ang merkado. Ang karaniwang uri ng cathode at ang karaniwang uri ng anode.

Ito ay isang madaling gamiting tip (kahit na mas malaki) sapagkat ikinonekta ko ang mga LED na nakikita mula sa video na ito dito at ang LED ay hindi nag-ilaw tulad ng inaasahan kahit na pagkatapos ng pag-cross-check sa circuit ng maraming beses. Pagkatapos ay napagtanto ko na mayroong dalawang uri ng LED na ito at dumadaan sa datasheet sa wakas ay nakakuha ako ng solusyon! Ang problema sa aking circuit ay ang karaniwang cathode pin ay konektado sa 3.3V tulad ng nabanggit at itinago ko sa pamamagitan ng GPIO pin sa TAAS kaya kapwa ang karaniwang cathode pin at ang iba pang 3 pin ay nasa parehong potensyal.

Solusyon: Ikinonekta ko ang karaniwang pin ng cathode sa lupa at ang LED ay naiilawan! Ang dahilan kung bakit hindi ko binago ang aking code upang panatilihing mababa ang mga GPIO pin dahil gagamit kami ng higit pang mga LED sa paglaon at binibigyan kami ng RPi ng dalawang mga pin lamang sa 3.3 V na kailangan namin ito para sa iba pang mga layunin din!

Paano subukan ang uri?

Panatilihin ang multimeter sa pagpapatuloy mode. Tapikin ang pinakamahabang lead na may pulang dulo ng multimeter at sa itim na tip, i-tap ang alinman sa iba pang mga lead. Kung ang LED ay ilaw up sa pamamagitan ng pagsasagawa ng hakbang sa itaas, ito ay isang Karaniwang Anode RGB LED. Kung hindi, baligtarin ang tip ng multimeter ngayon. I-tap ang pinakamahabang lead na may isang itim na tip at pulang tip sa anumang iba pang mga lead. Ngayon ay magaan ang ilaw na ipinapakita na ang LED ay isang Karaniwang Cathode RGB LED.

Madaling magamit na Tip: Ginamit ko ang Karaniwang Uri ng Cathode sa proyektong ito. Subukang makuha lamang ang mga ganitong uri ngunit kahit na magagamit ang ibang uri huwag magalala. Ang mga koneksyon sa circuit ay mananatiling pareho, ang pagkakaiba lamang ay dapat gawin sa code na ibibigay ko bilang isang komento sa tabi ng aktwal na linya ng code kung saan kailangan mong baguhin. Huminga ka.

Timeline: Subukan ang RGB

Sanggunian: Paano masubukan ang RGB

RGB LED ilaw

Upang magawa ito, suriin ang diagram ng koneksyon na ibinigay sa mga larawan sa itaas at kumonekta ayon sa mga pin sa pamamagitan ng isang breadboard (upang mapanatiling ligtas ito upang magsimula sa).

PULA: Pin 11 (330-ohm risistor)

GREEN: Pin 13 (120-ohm risistor)

BLUE: Pin 15 (120-ohm risistor)

Ang mga halaga ng risistor ay nag-iiba dahil sa iba't ibang mga pasulong na voltages ng mga lead.

Kapag nakakonekta mo nang tama ang mga ito, i-code ang RPi sa built-in nitong python IDE.

i-import ang RPi. GPIO bilang GPIO

# Ang mga numero ng pin ay tumutugma sa eksaktong numero sa RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Connect Karaniwang pin ng cathode sa Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) # GPIO.output (pin, GPIO. LOW) para sa karaniwang uri ng 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) subukan: habang Totoo: cmd = input ("I-type ang iyong utos:") kung cmd == "pula sa ": #type input utos tulad ng nabanggit nang eksakto sa loob ng" "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 () iba pa: print ("Hindi isang wastong utos") maliban sa KeyboardInterrupt: GPIO.cleanup ()

Sumangguni ako sa Instructable na ito, suriin ito para sa detalyadong paglalarawan at ang code!

Gamit ang parehong code sa itaas maaari mong suriin para sa maraming mga LED nang sama-sama sa pamamagitan ng pagkonekta sa kanila nang kahanay sa breadboard at ilabas ang solong point mula sa alinman sa mga pin na konektado nang magkasama. Gumamit ng iba't ibang mga halaga ng risistor para sa bawat pin upang suriin ang ningning ng iyong mga LED

Madaling magamit na Tip: Siguraduhin na ikinonekta mo ang parehong parallel na uri ng pin. Iyon ay, ang pulang pin ng isang LED ay kumokonekta sa pulang pin ng iba pang LED lamang.

Timeline: Gawin silang glow!

Pagsubok sa TouchPad

Ang koneksyon ng circuit ay tulad ng ipinakita dito (Timeline). Ikonekta ang mga ito tulad ng ipinakita at subukan ang iyong mga touchpad gamit ang sumusunod na code.

Code:

i-import ang RPi. GPIO bilang GPIO

mula sa oras na pag-import ng pagtulog GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) # Maaari nating i-club pareho ang sa itaas ng mga pahayag na magkasama bilang # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) subukan: habang Totoo: kung (GPIO.input (touchpad1) == Totoo): i-print ("Touchpad 1 hinawakan") pagtulog (2) elif (GPIO.input (touchpad2) == Tama): i-print ("Touchpad 2 hinawakan") pagtulog (2) iba pa: i-print ("Hindi Naantig") maliban sa KeyboardInterrupt: GPIO.cleanup () # CTRL-C upang lumabas

Pagsubok ng isang LED

Sumangguni sa kahanga-hangang itinuturo na ito para sa pagsubok sa iyong LED!

Kapag nasubukan mo na ang lahat ng mga bahagi sa itaas handa ka nang bumuo ng mas malaking bersyon nito.

Hakbang 3: Paghihinang sa Panel ng Tagapagpahiwatig

Paghihinang ng Panel ng Tagapagpahiwatig
Paghihinang ng Panel ng Tagapagpahiwatig
Paghihinang sa Panel ng Tagapagpahiwatig
Paghihinang sa Panel ng Tagapagpahiwatig
Paghihinang ng Panel ng Tagapagpahiwatig
Paghihinang ng Panel ng Tagapagpahiwatig

Kung bago ka sa paghihinang suriin ang tutorial na ito upang malaman ang ilang mga pangunahing kaalaman dito (Paano maghinang). Kung ikaw ay isang pro sa paghihinang, magsimula kami!

Ang Panel ng tagapagpahiwatig

Maaari mong makita ang Ilustrasyon kung paano maghinang ang mga ito sa perf board sa mga imahe sa itaas.

Gumagamit kami ng 13 RGB LEDs para sa panel. Paghiwalayin ang mga ito sa tatlong seksyon: kaliwa, kanan, at gitna sa panghinang nang naaayon.

Mahalaga: Paglawak ng mga LED

Naiwan ako sa 3 mga hilera sa pagitan ng mga LED. Tulad ng ipinakita sa pangalawang larawan. Ito ay mahalaga para sa LED panel upang tumingin at pakiramdam ng mabuti. Hindi namin nais ang mga LED masyadong malayo upang madagdagan ang puwang o masyadong malapit upang hindi makilala ang ilaw mula sa malayo.

Madaling-magamit na Tip: Magsimula sa pamamagitan ng paghihinang muna ng lahat ng Mga Karaniwang Pin ng Pins

Madaling magamit na Tip: Gumamit ng Mga Multi-Strand Wires para sa pagkonekta ng mga LED nang magkasama dahil hindi gaanong matibay at madaling yumuko. Maaari mong gamitin ang sobrang mga cut-off na pin mula sa mga LED upang ikonekta ang mas maiikling distansya

Tamang Seksyon: (5 LEDs)

  • Ikonekta ang lahat ng mga Pins na magkasama
  • Ikonekta magkasama ang lahat ng mga Green Pins
  • Ikonekta magkasama ang lahat ng Mga Karaniwang Pins ng Cathode

Kaliwa Seksyon: (5 LEDs)

  • Ikonekta ang lahat ng mga Pins na magkasama
  • Ikonekta magkasama ang lahat ng mga Green Pins
  • Ikonekta magkasama ang lahat ng Mga Karaniwang Pins ng Cathode

Seksyon ng Center: (3 LEDs)

Madaling magamit na Tip: Ang seksyon na ito ay nangangailangan ng sapat na pag-iingat. Huwag maghinang ng lahat ng mga pin nang magkasama tulad ng ginawa namin sa itaas na dalawang seksyon!

  • Ikonekta ang lahat ng mga Pins na magkasama
  • Ikonekta lamang ang mga LED sa itaas at ibaba, Green Pin.
  • Ikonekta magkasama ang lahat ng Mga Karaniwang Pins ng Cathode

Mga wire

Kailangan namin ng mas matagal na mga wire upang ikonekta ang panel sa GPIO board.

Magaling na Tip:

  • Gumamit ng mga Single-strand wires! Ang mga ito ay sapat na matatag upang mapaglabanan ang mga mekanikal na stress na inilapat dito!
  • Panatilihin ang mga wire nang medyo mas mahaba kaysa sa aktwal na haba na kinakailangan sa pagitan ng panel at ng RPi (ito ay napaka madaling gamiting habang pinamamahalaan ang mga wire sa ibang pagkakataon! (Timeline: Mga Pagsukat)
  • Insulate pagkatapos ng paghihinang! Napaka importante

Gumamit ng isang jumper wire at isang solong strand wire upang maghinang. Ang isang dulo ng jumper wire ay dapat maging isang babaeng konektor. Itago ang mga ito tulad ng ipinakita dito (Timeline)

Kulay ng code ang mga wire bilang Red, Green, at Black. na tumutugma sa Red pin, Green pin, at Karaniwang pin ng cathode ayon sa pagkakabanggit.

Nangangailangan kami ng 3 Itim na mga wire, 3 Red Wires, at 3 Green Wires.

Kapag handa na ang mga wire. Paghinang ng mga wire sa mga tagapagpahiwatig na LED.

Mga madaling gamiting Tip:

  • Tiyaking ang mga LED ay solder ayon sa ibinigay na mga koneksyon.
  • Tiyaking na-solder mo ang tamang mga halaga ng risistor sa lugar. Kung binago ang mga halaga, makakaapekto ito sa ningning ng mga LED
  • Ang isang paraan upang matiyak na ang lahat ng iyong LEDs ay gumagana ay sa pamamagitan ng paggamit ng multimeter meter na ibinigay sa Hakbang 2. Napaka-madaling gamiting alam mo kung mayroong anumang maikling circuit ang mga LED ay hindi magaan.
  • Huwag hubarin ang mga dulo ng mga wire na mas mahaba kaysa sa kinakailangan. Mahirap itong mapanatili ang mga ito sa lugar at mas mataas din ang peligro ng isang maikling circuit.
  • Gumamit ng multi-strand wire para sa koneksyon sa pagitan ng mga LED.
  • Gumamit ng single-strand wire para sa pagkonekta ng mga seksyon sa RPi.

Hakbang 4: Ilagay ang Panel ng Tagapagpahiwatig sa Pagsubok

Ilagay ang Panel ng Tagapahiwatig sa Pagsubok
Ilagay ang Panel ng Tagapahiwatig sa Pagsubok
Ilagay ang Panel ng Tagapahiwatig sa Pagsubok
Ilagay ang Panel ng Tagapahiwatig sa Pagsubok
Ilagay ang Panel ng Tagapahiwatig sa Pagsubok
Ilagay ang Panel ng Tagapahiwatig sa Pagsubok

Kudos! Kung na-solder mo nang tama ang panel. Magpatuloy tayo sa pag-coding ng Tagapagpahiwatig ngayon!

Tulad ng nabanggit kanina, magpapahiwatig kami ng isang kanang pagliko, kaliwang pagliko, at i-on / patayin ang paningin sa gabi.

Sumangguni sa koneksyon ng circuit sa Hakbang 3.

Ikonekta ang mga wire ng panel tulad ng nabanggit sa ibaba:

  • Pula Kanan - Pin 7
  • Green Right - Pin 11
  • Karaniwang Cathode Right - Pin 6 (GND)
  • Pulang kaliwa - Pin 13
  • Umalis ang berde - Pin 15
  • Karaniwang Cathode Left - Pin 9 (GND)
  • Center Red - Pin 16
  • Center Green (itaas at ibaba) - Pin 18
  • Center Common Cathode - Pin 14 (GND)

Code ng Pagsubok:

i-import ang RPi. GPIO bilang GPIO

mula sa oras na pag-import ng pagtulog # Kumonekta ayon sa mga numero ng pin sa ibaba 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 (): i-print ("Pagliko sa Kanang") 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) para sa x sa saklaw (10): GPIO.output ([pin1, pin2], GPIO. HIGH) pagtulog (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) pagtulog (0.5) iba pa: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) para sa x sa saklaw (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) pagtulog (0.5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) pagtulog (0.5) def night_sight (): print ("Night Sight ON") blink (Red_left, Red_ Right, Red_center) try: habang True: cmd = input (" Pagsubok LED para sa: ") kung cmd ==" kanan pagliko ": kanan_turn () elif cmd ==" kaliwa pagliko ": left_turn () elif cmd ==" night sight ": night_sight () else: print (" Invalid Command ") maliban kay Ke yboardInterrupt: GPIO.cleanup ()

Kung i-clear ng iyong panel ang lahat ng mga phase test tulad ng sa code, Well Tapos na! Humanda para sa susunod na hakbang

Kung ang panel ay hindi nag-iilaw, tiyaking nasunod mo nang tama ang lahat ng mga hakbang at tiningnan ang mga madaling gamiting tip dati. Kung magpapatuloy pa rin ang problema maaari kang magkomento sa ibaba, handa akong tumulong.

Timeline: Subukan ang ISA (Suriin ang video para sa gumaganang prototype)

Hakbang 5: Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad

Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad
Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad
Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad
Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad
Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad
Pagsasama ng tagapagpahiwatig ng Panel Gamit ang Touchpad

Pagkonekta nito sa RPi

Gawin ang mga koneksyon tulad ng ipinakita sa larawan sa itaas.

Kanang Panel

Touchpad:

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

LED:

Anode (+) pin - Pin 33

Kaliwang Panel

Touchpad:

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

LED:

Anode (+) pin - Pin 35

Karaniwang GND: Pin 39 (Para sa parehong cathode ng LEDs) - Karaniwang Ground Soldering (Timeline)

Code ng Pagsubok:

i-import ang RPi. GPIO bilang GPIO

mula sa oras na pag-import ng pagtulog 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 (channel): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 print ("Turning Right") blink (Green_ Right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered triggered = 1 print ("Turning Kaliwa ") kumurap (Green_left, Green_top_bottom) GPIO.add_event_detect (kanan_touch, GPIO. NAGTATALO, callback = kanan_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. NAGLALABAS, callback = left_turn, bouncime = 5001, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) para sa x sa saklaw (10): GPIO.output ([pin1, pin2], GPIO. HIGH) pagtulog (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) pagtulog (0.5) GPIO.output ([kanan_, left_led], GPIO. LOW) pandaigdigan na na-triggered = 0 def night_sight (): habang (Totoo): GPIO.setup ([Pinalaganap ng Red_center, Red_left, Red_ Right], GPIO. OUT) ang pandaigdigan kung (triggered == 0): print ("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) pagtulog (0.27) iba pa: i-print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_ Right], GPIO. LOW) subukan: night_sight () maliban sa KeyboardInterrupt: GPIO.cleanup ()

Pindutin ang touchpad upang makita ang iyong ilaw na glow

Timeline (walang Indication LED): Dalawang Pagsubok

Timeline (na may Indication LED): Pagsubok 3

Pagpapaliwanag sa code: Gusto namin ang night-sight na patuloy na tumatakbo at kapag hinawakan namin ang touchpad dapat itong huminto at magpatupad ng pagpapaandar ng touchpad. Upang gawin ito nang sabay-sabay gumagamit kami ng isang bagay na kilala bilang "Nakagagambala" sa sawa. Pinapayagan kaming patakbuhin ang aming normal na code na kung saan ay ang night-sight dito at nagpapalitaw din ito ng isang kaganapan kapag nakita ang isang ugnayan. Gumagamit kami ng nag-trigger na variable bilang isang watawat upang ihinto ang paningin sa gabi.

Para sa karagdagang impormasyon sa Mga Nakagagambala, suriin ang link na ito.

Maghinang sa Panel

Ngayon ay maghinang na tayo ng mga touchpad panel na pupunta sa handlebar ng bisikleta. Sumangguni sa mga koneksyon tulad ng ibinigay sa larawan sa itaas.

Ngayon na nasubukan mo na ang iyong LED at ang touchpad, mahusay kang pumunta. Kung hindi mo pa nasubukan mangyaring mag-refer sa Hakbang na ito at ang mga nakaraang Hakbang.

Ilagay ang touchpad malapit sa handlebar tulad ng ipinakita sa video. Iyon ay, para sa tamang touchpad ang touchpad ay nasa kanan at kaliwa sa kaliwa nito. Katulad nito, para sa kaliwang touchpad, ang led ay nasa kanan at ang touchpad sa kaliwa na ginagawang mas madali para maabot ng hinlalaki.

PS: Hindi ko pa hinihinang ang touchpad sa perf board sapagkat muling gagamitin ko ito muli. Samakatuwid inilagay ko lamang ito sa panel na may dobleng panig na tape.

Ikonekta ang panel sa RPi gamit ang mas mahahabang mga wire

Hakbang 6: Gawin itong Matalino

Gawing matalino!
Gawing matalino!
Gawing matalino!
Gawing matalino!
Gawing matalino!
Gawing matalino!

Oo! Ngayon nasa amin na ang lahat ng aming mga mahahalaga sa Tagapagpahiwatig na tumatakbo at tumatakbo. Gawin natin ito ng isang hakbang sa karagdagang paraan upang gawin itong matalino.

Dito tinutukoy ng matalinong pag-save din sa baterya. Tulad ng napansin mo na ang paningin sa gabi ay laging naka-on at kung minsan hindi ito kinakailangan sa isang maliwanag na maaraw na araw. Upang mapagtagumpayan ang problemang ito hinahayaan na isama ang isang LDR (Light Dependent Resistor) upang bigyan kami ng data ng light intensity na maaari naming kolektahin at maproseso nang naaayon ang aming tagapagpahiwatig.

Pagsubok sa LDR

Sumangguni ako sa website na ito para sa pagsubok sa LDR upang suriin ang ilaw na ilaw at kung anong halaga ang ibabalik nito.

Sumangguni sa website na na-tag sa itaas para sa circuit at ang sample code para sa pagtatrabaho ng LDR.

Pagsasama ng LDR sa aming code

Solder ang LDR sa kanang panel ng touchpad tulad ng ipinakita sa diagram ng koneksyon sa itaas.

Matapos ang paghihinang ng mga pin sa tamang lugar ng oras nito para sa huling piraso ng pag-coding. Ang pangwakas na code!

  • Ikonekta ang karaniwang punto ng Cathode (-) ng capacitor at ang LDR sa Pin 36 sa RPi
  • Ang anode ng capacitor ay konektado sa Common Ground point na tinukoy sa Hakbang 5

Pangwakas na Code:

i-import ang RPi. GPIO bilang GPIO

mula sa oras na pag-import ng pagtulog 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. pag-setup ([kanan_, left_led], GPIO. OUT) GPIO.setup (kanan_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): Ang GPIO.output (kanan_led, GPIO. HIGH) pandaigdigan na nag-triggered = 1 print ("Pagliko sa Kanang") kumurap (Green_ Right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) pandaigdigan na nag-trigger = 1 print ("Pagliko sa Kaliwa") kumurap (Green_left, Green_top_bottom) GPIO.add_event_detect (kanan_touch, GPIO. NAGTATALO, callback = kanan_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_ting, light (ldr): count = 0 #Output sa pin para sa GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) pagtulog (0.1) #Chang at ang pin pabalik sa input ng GPIO.setup (ldr, GPIO. IN) #Count hanggang sa mataas ang pin habang (GPIO.input (ldr) == GPIO. LOW): count + = 1 return count def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) para sa x sa saklaw (10): GPIO.output ([pin1, pin2], GPIO. HIGH) pagtulog (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) pagtulog (0.5) GPIO.output ([kanan_, left_led], GPIO. LOW) global triggered triggered = 0 def night_sight (): habang (True): GPIO.setup ([Red_center, Red_left, Red_ Right], GPIO. OUT) pandaigdigan na nag-trigger kung (light_sensing (ldr)> 7800): kung (na-trigger == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_ Right], GPIO. HIGH) pagtulog (0.27) GPIO.output ([Red_center, Red_left, Red_ Right], GPIO. LOW) pagtulog (0.27) iba pa: i-print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_ Right], GPIO. LOW) subukan: night_sight () maliban sa KeyboardInterrupt: GPIO.cleanup ()

Voila! At ang tagapagpahiwatig ay handa nang gumulong.

Madaling magamit na Tip: Bago i-assemble ang RPi at iba pang mga bahagi sa cycle siguraduhin na subukan mo nang maayos ang program na ito! Patakbuhin ito ng ilang beses upang mai-debug ang anumang mga error.

Hakbang 7: Pagpinta at Pagpupulong

Pagpipinta at Assembly
Pagpipinta at Assembly
Pagpipinta at Assembly
Pagpipinta at Assembly
Pagpipinta at Assembly
Pagpipinta at Assembly

Mga Materyal na Kinakailangan:

  • Mga Tool sa Pagputol ng Wire / Pagkuha
  • Isang malaking kahon ng imbakan upang magkasya sa Raspberry Pi
  • Isang maliit na kahon ng imbakan upang magkasya sa panel ng tagapagpahiwatig
  • Pintura
  • Mga Brushes ng Pinta

Magsimula sa pamamagitan ng pagpipinta ng Panel ng tagapagpahiwatig at ang mga touchpad panel na may itim na kulay. Gumamit ako ng mga Acrylic Paint dito maaari mong gamitin ang mga ito sa iyong napili na mahusay na naghahalo sa perf board. Gumamit ng isang itim na background upang gawing masigla ang LED panel at higit na nakatayo. Gawin ang mga butas gamit ang isang pinainit na distornilyador o paggamit ng anumang bagay na metal upang matunaw ang plastik.

Tandaan: Mangyaring maging maingat habang gumagawa ng mga butas.

Timeline: Kulayan

Madaling-magamit na Tip: Gumamit ako ng mga plastik na kahon at madaling mapatay ang pintura. Tiyaking gumagamit ka ng mga pinturang may kalidad na kalidad

Kapag ang Tagapahiwatig at ang mga panel ay pininturahan ang mga ito sa araw at maghanda para sa pagpupulong.

Pinutol ko ang labis na mga gilid ng perf board sa tagapagpahiwatig Panel at ang harap na panel upang makatipid ng puwang.

Suriin ang video para sa pagpupulong!

Timeline: Mga Avenger! Magtipun-tipon. (Pag-iipon ng panel ng tagapagpahiwatig at RPi na may mga kahon)

Tulad ng nakikita sa video, ilagay ang mga wire nang naaayon sa pamamagitan ng paggawa ng tatlong butas sa mas malaking kahon. Isa para sa RPi power bank wire, isa para sa mga touchpad panel, at isa para sa panel ng tagapagpahiwatig. Isang butas lamang ang kinakailangan para sa mas maliit na kahon.

Madaling magamit na Tip: Suriin ang pagkakabukod ng mga wire at suriin kung ang mga wire ay na-solder nang maayos bago ikonekta ang mga ito sa kahon.

Hakbang 8: Remote na Pagsubok Sa VNC at Pangwakas na Code

Remote na Pagsubok Sa VNC at Final Code
Remote na Pagsubok Sa VNC at Final Code
Remote na Pagsubok Sa VNC at Final Code
Remote na Pagsubok Sa VNC at Final Code

Isang pangwakas na pagsubok bago ang tagapagpahiwatig ay ganap na handa. Ikonekta ang iyong RPi sa VNC Viewer at patakbuhin ang programa.

Palagi akong gumagamit ng isang VNC server upang patakbuhin ang programa at i-debug ang anumang mga error sa programa. Sa ganitong paraan maaari kong mailagay ang RPi nang direkta sa lugar kung saan nais kong subukan nang hindi kumokonekta sa labas ng monitor.

Suriin ang pahinang ito upang ikonekta ang iyong RPi sa VNC Server. (VNC Server)

Kapag nakakonekta mo ang RPi sa VNC Server. Maaari mong patakbuhin ang code sa virtual desktop at i-debug ang mga error.

Timeline: Patakbuhin sa Startup

Madaling magamit na Tip: Kapag nakakonekta mo ang iyong Raspberry Pi sa virtual desktop mag-sign in ka gamit ang IP Address ng RPi. Ngunit kung nakakuha ka ng isang error na nagsasaad na tinanggihan ng RPi ang koneksyon, ito ay dahil sa pagbabago ng IP Address sa RPI. Maaari itong mangyari kapag na-restart mo ang iyong router o isang WiFi hotspot at pagkatapos ay subukang mag-login gamit ang lumang address. Nagtatalaga ang router ng isang bagong IP sa tuwing i-restart mo ito. Ngunit kung naalala mo ang lumang IP Address ng RPi ay nadaragdagan lamang ang huling digit ng 1 at mag-log in. Halimbawa: Kung ang dating IP address ay 190.148.1.100 pagkatapos mag-log in gamit ang 190.148.1.101

Kapag nasuri mo kung gumagana nang maayos ang lahat sa oras na para sa huling pagpupulong.

Palaging hindi kami maaaring magkaroon ng isang virtual desktop upang subaybayan o patakbuhin ang script ng sawa. Kaya't gawin natin iyon sa pagsisimula.

Nais naming patakbuhin ang aming programa sa sandaling mag-boot ang RPi. Suriin ang website na ito para sa higit pang mga detalye tungkol dito!

Kung ang iyong RPi ay nasa pag-setup ng Auto-login, pagkatapos ay magpatuloy;

Patakbuhin ang mga sumusunod na utos sa terminal ng RPi

sudo nano / etc / profile

Mag-scroll sa ibaba at idagdag ang sumusunod na linya:

sudo python file_path &

Ang file_path dito ay tumutukoy sa landas ng python file kung saan nakaimbak ang iyong huling code.

Tandaan: Ang Ampersand (&) sa dulo ng file ay dapat idagdag upang ang iyong programa ay tumatakbo kahilera sa boot ng system. Dahil ang aming programa ay naglalaman ng isang walang katapusang loop, ang hakbang na ito ay sapilitan upang kahit na ang programa ay hindi tumatakbo tulad ng inaasahan maaari pa rin naming magamit ang RPi desktop upang baguhin ang mga setting.

Pagkatapos nito pindutin ang CTRL-X at pagkatapos ay ang YPress Enter nang dalawang beses at babalik ka sa terminal ng utos.

I-reboot ang Pi

Ngayon ang code ay dapat tumakbo sa pagsisimula

Hakbang 9: Pamamahala ng Cable at Final Assembly

Pamamahala ng Cable at Final Assembly
Pamamahala ng Cable at Final Assembly
Pamamahala ng Cable at Final Assembly
Pamamahala ng Cable at Final Assembly
Pamamahala ng Cable at Final Assembly
Pamamahala ng Cable at Final Assembly

Binabati kita! sa pagtatapos ng proyektong ito. Binigyan ko ito ng salitang Minimal tulad ng nakita mong gumamit kami ng mas kaunting mga LED upang maipakita ang lahat ng mga pahiwatig na kinakailangan at may mga naka-customize na kulay din. Huwag mag-atubiling gumamit ng iba't ibang mga kulay para sa iyong mga LED tulad ng dilaw para sa mga tagapagpahiwatig ng pagliko o anumang iba pa.

Kung nagawa mo ang proyektong ito mag-click sa "Ginawa Ko Ito" at ibahagi ang iyong karanasan. Ibahagi ang iyong mga saloobin at mayroon ding mga mungkahi o komento sa proyektong ito. Gusto kong marinig iyon!

Pamamahala ng kable

Oo! Tulad ng napansin mo na maraming mga wire na pumapasok at sa paligid ng mga pag-ikot at pamamahala sa mga ito ay abala. Gumamit ako ng mga cable tag, insulate tape, at cable casing upang maitago ang mga wire at ipininta din ang mga ito nang itim tulad ng nakita mo ang larawan.

Madaling-magamit na Tip: Sapagkat iniwan mo ang labis na pulgada sa iyong mga kable kaysa sa kinakailangan ay kapaki-pakinabang ngayon upang pamahalaan ang mga ito nang maayos nang hindi binibigyan diin ang mga ito! Kung ang isa sa iyong mga LED ay ilaw at ang iba ay hindi kahit na nagawa mo nang tama, ang problema ay nasa ang Jumper Wires na konektado sa RPi, magkakaroon ng isang maluwag na contact. Kung magpapatuloy ito gumamit ng isang lalaki hanggang babaeng jumper wire upang pahabain ang kawad at ikonekta sila. Gumamit ng mga ugnayan ng kable upang mapanatili ang mga wire sa lugar upang hindi ito gumalaw.

Ngayon ang tagapagpahiwatig ay handa na para sa isang Pagsakay! Tangkilikin ito

PS: Sa isang karagdagang itinuturo Gusto ko talagang bawasan ang bilang ng mga wire sa circuit at magkaroon ng isang mas mahusay na plano. Kung gagawin ko iyan magbabahagi ako ng isang Maituturo doon!

Hakbang 10: Ilang Mga Larawan ng Tagapagpahiwatig

Ilang Mga Larawan ng Tagapagpahiwatig
Ilang Mga Larawan ng Tagapagpahiwatig
Ang ilang mga Larawan ng tagapagpahiwatig
Ang ilang mga Larawan ng tagapagpahiwatig
Ilang Mga Larawan ng Tagapagpahiwatig
Ilang Mga Larawan ng Tagapagpahiwatig
Ang ilang mga Larawan ng tagapagpahiwatig
Ang ilang mga Larawan ng tagapagpahiwatig

Salamat sa pagbabasa ng Instructable na ito. Inaasahan kong nasiyahan ka ito tulad ng ginawa ko sa paggawa nito

Timeline: Pangwakas na Pagsubok Sa segment na nasa itaas, makikita mo na sa lalong madaling madilim ang silid, ang "Night Sight" ay ON at habang lumiliwanag ito ay agad na naka-off!

Timeline: Handa na Magulong ng ilang mga video na kinuha ko upang maipakita ang tagapagpahiwatig sa matinding ilaw. Lahat ng mga kredito sa pagbibisikleta ng aking mga kapatid para sa video!

Inirerekumendang: