Përmbajtje:
- Hapi 1: Materialet për të filluar
- Hapi 2: Testimi i Komponentëve
- Hapi 3: Saldimi i Panelit Tregues
- Hapi 4: Vendoseni panelin tregues në provë
- Hapi 5: Integrimi i panelit tregues me tastierën me prekje
- Hapi 6: Bëjeni të zgjuar
- Hapi 7: Pikturimi dhe montimi
- Hapi 8: Testimi në distancë me VNC dhe kodin përfundimtar
- Hapi 9: Menaxhimi i kabllove dhe montimi përfundimtar
- Hapi 10: Disa fotografi të Treguesit
Video: Treguesi minimalist i biçikletës, i aktivizuar me prekje !: 10 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:14
Pershendetje atje! Ky është udhëzuesi im i parë. Unë gjithmonë kam dashur t'i bëj gjërat nga e para vetëm për të parë se si funksionon dhe kujt nuk i pëlqejnë gjërat DIY (Bëni vetë) kur mund të modifikoni diçka sipas nevojave tuaja apo jo? Edhe pse interesante mund të tingëllojë një DIY, kërkon pak përpjekje për ta bërë atë të ndodhë. Shikimi i faqes në internet Instructables është një mënyrë e shkëlqyeshme për të filluar aspiratat tuaja DIY dhe kështu fillova të ndërtoj disa nga projektet e mia më herët, por kurrë nuk kam menduar se do të bëja një të tillë.
Ashtu si më erdhi mundësia, unë kam bërë një Tregues Biçikletash me një dizajn minimalist dhe të aktivizuar me prekje. Unë e di se ka shumë udhëzues ose burime në internet për një tregues biçikletash, por shumica prej tyre ose zunë pak më shumë hapësirë ose nuk ishin aq të zgjuar sa t'i modifikonin ato në një mënyrë të veçantë. Nëse jeni duke kërkuar për një tregues që është mjaft i zgjuar për të përmbushur nevojat tuaja dhe ju jep një shans për t'i modifikuar ato sipas nevojave tuaja, atëherë ky Instructable është për ju!
Pse treguesi i biçikletës?
Më pëlqen të eci me biçikletë nëpër qytet! Unë marr ciklin tim dhe thjesht bëj një shëtitje ose në mëngjes ose në mbrëmje. Ndonjëherë, gjatë natës, është e vështirë të ngasësh, pasi trafiku prapa jush nuk do të jetë në gjendje t'ju vërejë dhe kjo është një shenjë e rrezikshme. Kjo është arsyeja pse unë doja të ndërtoja një Tregues vetë me të gjitha materialet që kisha me vete në shtëpi dhe gjithashtu Duket mirë në biçikletë ndërsa ngasni në qytet duke ndezur treguesit!
Bërja e një projekti pa pasur nevojë të përballeni me ndonjë problem, nuk ndodh! Por unë do t'ju tregoj të gjitha gabimet që kam bërë, ndërsa e ndërtoj këtë, si një "Këshillë e dobishme" në mënyrë që të mos përpiqeni t'i bëni ato. Videoja në YouTube përmban një Ilustrim se si është ndërtuar projekti, animacione të vogla për të përcjellë se si funksionojnë gjërat dhe si duket treguesi në rrugë! Informacioni më i përpunuar jepet në këtë Udhëzues. Ndërsa vazhdoni, unë do të etiketoj segmentet e videos time në youtube si "Afati kohor", në çdo hap që ju të shikoni se si funksionojnë gjërat në praktikë. Mund të merrni më shumë informacion duke klikuar në lidhjet e theksuara të dhëna.
Karakteristikat e këtij projekti:
- Treguesi i Kthesës Djathtas
- Treguesi i Kthesës Majtas
- Treguesi i shikimit të natës
- E aktivizuar me prekje
Hapi 1: Materialet për të filluar
- Rezistentët (330 Ohm dhe 120 Ohm): 330 Ohm dhe 120 Ohm
- Raspberry Pi 3: RPi 3
- Breadboard: Breadboard
- Telat Jumper (Mashkull-Mashkull, Mashkull-Femër, Femër-Femër): Tela Jumper
- Tela me shumë fije: Tela me shumë fije
- Sensori me prekje me kapacitet (TTP223) - (2): Lidhje
- LED RGB (Lloji i Përbashkët i Katodës) - (13): Katoda e Përbashkët e RGB LED
- LED -të normale - (2): LED
- Materialet e bashkimit: Kit për saldim
- Bordet Perf: Bordi Perf
- Powerbank: Powerbank
- 1 mikro Farad Kondensator elektrolitik: Kondensator elektrolitik
- LDR (Rezistencë e varur nga drita): LDR
- Lidhjet e kabllove: Lidhjet e kabllove
- Korrigjues i kabllove: Korrigjues i kabllove
- Bojë akrilike dhe furça (opsionale): Ngjyra dhe furça
- Dy kuti magazinimi për montim. (1 e madhe dhe 1 e mesme)
Mbani gjithmonë sasi shtesë për sa u përmend më lart. Unë kam lidhur përbërësit në Amazon dhe disa pajisje më të mira për të blerë materiale bashkimi!
Afati kohor: Mblidhni materiale
Hapi 2: Testimi i Komponentëve
Le t'i vëmë në provë përbërësit tuaj! Kjo është vërtet e dobishme për të ndarë përbërësit të cilët janë dëmtuar ose veprojnë çuditshëm për ndonjë arsye dhe gjithashtu kjo fazë ju lejon të merrni përvojën fillestare praktike me përbërësit dhe të mësoni pak para se të filloni të ndërtoni të gjithë projektin.
Provoni për llojin e LED RGB
Ekzistojnë dy lloje të LED -ve RGB që ne gjejmë në treg. Lloji i zakonshëm i katodës dhe lloji i zakonshëm i anodës.
Kjo është një këshillë e dobishme (megjithëse më e madhe) sepse lidha LED-të siç shihet nga kjo video këtu dhe LED nuk ndizet ashtu siç pritej edhe pas kontrollimit të qarkut disa herë. Pastaj kuptova se ka dy lloje të këtij LED dhe duke kaluar nëpër fletën e të dhënave më në fund mora një zgjidhje! Problemi me qarkun tim ishte se kunja e zakonshme e katodës ishte e lidhur me 3.3V siç u përmend dhe unë e kisha mbajtur me pin GPIO në HIGH kështu që edhe kunja e zakonshme e katodës dhe 3 kunjat e tjerë ishin në të njëjtin potencial.
Zgjidhja: Unë e lidha kunjin e zakonshëm të katodës në tokë dhe LED u ndez! Arsyeja pse nuk e ndryshova kodin tim për t'i mbajtur GPU -të këmbët të ulëta, sepse ne do të përdorim më shumë LED më vonë dhe RPi na jep vetëm dy kunja në 3.3 V të cilat na duhen edhe për qëllime të tjera!
Si të testoni për llojin?
Mbani multimetrin në modalitetin e vazhdimësisë. Prekni plumbin më të gjatë me majën e kuqe të multimetrit dhe me majën e zezë, trokitni lehtë mbi ndonjë prej prizave të tjera. Nëse LED ndizet duke kryer hapin e mësipërm, është një LED i zakonshëm Anode RGB. Nëse jo, kthejeni majën e multimetrit tani. Prekni plumbin më të gjatë me majë të zezë dhe majë të kuqe me çdo kordon tjetër. Tani do të ndizet duke treguar se LED është një LED i zakonshëm katodik RGB.
Këshillë e dobishme: Unë kam përdorur Llojin e Përbashkët të Katodës në këtë projekt. Mundohuni t'i merrni këto lloje vetëm, por edhe nëse lloji tjetër është në dispozicion, mos u shqetësoni. Lidhjet e qarkut mbeten të njëjta, ndryshimi i vetëm duhet të bëhet në kodin të cilin do ta jap si koment pranë vijës aktuale të kodit ku duhet të ndryshoni. Merr frymë.
Afati kohor: Testoni RGB
Referenca: Si të testoni RGB
RGB LED ndizet
Për ta bërë këtë, shikoni diagramin e lidhjes të dhënë në fotografitë e mësipërme dhe lidheni sipas kunjave përmes një dërrasë buke (për ta mbajtur atë të sigurt për të filluar).
E KUQ: Pin 11 (rezistencë 330-ohm)
GREEN: Pin 13 (rezistencë 120-ohm)
BLUE: Pin 15 (rezistencë 120-ohm)
Vlerat e rezistencës ndryshojnë për shkak të tensioneve të ndryshme përpara të prizave.
Pasi t'i keni lidhur ato saktë, kodoni RPi në IDE -në e tij të integruar python.
importoni RPi. GPIO si GPIO
#Numrat e kunjave korrespondojnë me numrin e saktë në RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Lidhni pinin e zakonshëm të katodës me Pin 6 nga ana tjetër Në (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) për tipin e zakonshëm të anodës 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) provoni: ndërsa True: cmd = input ("Shkruani komandën tuaj:") nëse cmd == "e kuqe ": #type komandat hyrëse siç janë përmendur pikërisht brenda" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blu on": blueOn () elif cmd == "blu off": blueOff () tjetër: print ("Jo një komandë e vlefshme") përveç KeyboardInterrupt: GPIO.cleanup ()
Unë iu referova këtij Udhëzuesi, kontrolloni këtë për përshkrim të detajuar dhe kodin!
Duke përdorur të njëjtin kod më lart, mund të kontrolloni LED të shumta së bashku duke i lidhur paralelisht në tabelën e bukës dhe të nxirrni pikën e vetme nga secila prej kunjave të lidhur së bashku. Përdorni vlera të ndryshme të rezistencës për secilën kunj për të kontrolluar shkëlqimin e LED -ve tuaj
Këshillë e dobishme: Sigurohuni që të lidhni të njëjtën paralele të tipit pin. Kjo do të thotë, kunja e kuqe e njërës LED lidhet vetëm me kunjin e kuq të LED -it tjetër.
Afati kohor: Bëni ato të shkëlqejnë!
Testimi i TouchPad
Lidhja e qarkut është siç tregohet këtu (Afati kohor). Lidhni ato siç tregohet dhe provoni tastierën tuaj me prekje duke përdorur kodin e mëposhtëm.
Kodi:
importoni RPi. GPIO si GPIO
nga koha importo gjumin GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Ne mund t'i bashkojmë të dyja deklaratat e mësipërme së bashku si # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) provoni: ndërsa True: nëse (GPIO.input (touchpad1) == E vërtetë): print ("Touchpad 1 prekur") fle (2) elif (GPIO.input (touchpad2) == E vërtetë): print ("Touchpad 2 e prekur") gjumë (2) tjetër: print ("Nuk është prekur") përveç tastierësIntërprerë: GPIO.cleanup () #CTRL-C për të dalë
Testimi i një LED
Referojuni këtij udhëzuesi të mrekullueshëm për të testuar LED tuaj!
Pasi të keni testuar të gjithë përbërësit e mësipërm, jeni gati për të ndërtuar versionin më të madh të tij.
Hapi 3: Saldimi i Panelit Tregues
Nëse jeni i ri në saldim, shikoni këtë tutorial për të mësuar disa bazat e tij këtu (Si të lidhni). Nëse jeni profesionist në saldim, le të fillojmë!
Paneli i Treguesit
Ju mund të gjeni Ilustrimin se si t'i lidhni ato në tabelën e përsosur në imazhet e mësipërme.
Ne përdorim 13 LED RGB për panelin. Ndajini ato në tre seksione: majtas, djathtas dhe qendra për t'u bashkuar në përputhje me rrethanat.
E rëndësishme: Hapësira e LED -ve
Kam lënë 3 rreshta midis LED -ve. Siç tregohet në foton e dytë. Kjo është e rëndësishme që paneli LED të duket dhe të ndihet mirë. Ne nuk duam që LED -të shumë të rrisin hapësirën ose shumë afër për të mos qenë në gjendje të dallojmë dritën nga larg.
Këshillë e dobishme: Filloni duke bashkuar së pari të gjitha kunjat e zakonshme të katodës
Këshillë e dobishme: Përdorni tela me shumë fije për lidhjen e LED-ve së bashku pasi ato janë më pak të forta dhe të lehta për tu përkulur. Ju mund të përdorni kunjat shtesë të ndërprera nga LED për të lidhur distanca më të shkurtra
Seksioni i djathtë: (5 LED)
- Lidhni të gjitha kunjat e kuq së bashku
- Lidhni të gjitha kunjat e gjelbër së bashku
- Lidhni të gjitha kunjat e zakonshme të katodës së bashku
Seksioni i majtë: (5 LED)
- Lidhni të gjitha kunjat e kuq së bashku
- Lidhni të gjitha kunjat e gjelbër së bashku
- Lidhni të gjitha kunjat e zakonshme të katodës së bashku
Seksioni Qendror: (3 LED)
Këshillë e dobishme: Ky seksion kërkon kujdes të mjaftueshëm. Mos i bashkoni të gjitha kunjat së bashku siç bëmë në dy pjesët e mësipërme!
- Lidhni të gjitha kunjat e kuq së bashku
- Lidhni vetëm LED -të e sipërme dhe të poshtme, Green Pin.
- Lidhni të gjitha kunjat e zakonshme të katodës së bashku
Telat
Ne kemi nevojë për tela më të gjatë për të lidhur panelin me bordin GPIO.
Këshillë e dobishme:
- Përdorni tela me një fije! Ata janë mjaft të fortë për të përballuar streset mekanike të aplikuara në të!
- Mbani telat pak më të gjatë se gjatësia aktuale e nevojshme midis panelit dhe RPi (kjo është shumë e dobishme kur menaxhoni telat më vonë! (Afati kohor: Matjet)
- Izoloni pas bashkimit! Shume e rendesishme
Përdorni një tel bluzë dhe një tel me një fije të vetme për t'u bashkuar. Njëra anë e telit të kërcyesit duhet të jetë një lidhës femër. Lidhini ato siç tregohet këtu (Afati kohor)
Ngjyra kodoni telat si e Kuqe, E Gjelbër dhe e Zezë. i cili korrespondon përkatësisht me kunjën e Kuqe, Kunjin e Gjelbër dhe Kunën e zakonshme të katodës.
Ne kërkojmë 3 tela të Zi, 3 Tela të Kuq dhe 3 Tela të Gjelbër.
Pasi telat të jenë gati. Lidhni telat në LED -të tregues.
Këshilla të dobishme:
- Sigurohuni që LED -të të jenë bashkuar sipas lidhjeve të dhëna.
- Sigurohuni që keni bashkuar vlerat e sakta të rezistencës në vend. Nëse vlerat ndryshohen, kjo do të ndikojë në shkëlqimin e LED -ve
- Një mënyrë për të siguruar që të gjitha LED -et tuaja po punojnë është duke përdorur njehsorin multimetër të dhënë në Hapin 2. Kjo është shumë e dobishme pasi do ta dini nëse ka ndonjë qark të shkurtër LEDs nuk do të ndizen.
- Mos i hiqni skajet e telave më gjatë sesa kërkohet. Kjo do të jetë e vështirë për t'i mbajtur ato në vend dhe gjithashtu një rrezik më i lartë i një qarku të shkurtër.
- Përdorni tela me shumë fije për lidhje midis LED-ve.
- Përdorni tela me një fije për lidhjen e seksioneve me RPi.
Hapi 4: Vendoseni panelin tregues në provë
Lavdi! Nëse e keni bashkuar panelin si duhet. Le të vazhdojmë me kodimin e Treguesit tani!
Siç u përmend më herët, ne do të tregojmë një kthesë në të djathtë, kthesë majtas dhe ndezje/fikje të pamjes së natës.
Referojuni lidhjes së qarkut në Hapin 3.
Lidhni telat e panelit siç u përmend më poshtë:
- E djathta e kuqe - Pin 7
- E djathta e gjelbër - Pin 11
- E drejta e katodës së zakonshme - Pin 6 (GND)
- E kuqe majtas - kunja 13
- E gjelbër majtas - Pin 15
- Katoda e zakonshme majtas - Pin 9 (GND)
- Qendra e Kuqe - Pin 16
- Qendra e Gjelbër (lart dhe poshtë) - Pin 18
- Qendra e Përbashkët Katodike - Pin 14 (GND)
Kodi i Testit:
importoni RPi. GPIO si GPIO
nga koha e importimit të gjumit #Lidhu sipas numrave të mëposhtëm të pinit (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") blink (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): nëse (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) për x në rang (10): GPIO. dalje ([pin1, pin2], GPIO. HIGHT) gjumë (0.5) GPIO.putput ([pin1, pin2], GPIO. LOW) gjumë (0.5) tjetër: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) për x në rang (10): GPIO. Dalje ([pin1, pin2, pin3], GPIO. HIGHT) gjumë (0.5) GPIO. dalje ([pin1, pin2, pin3], GPIO. LOW) gjumi (0.5) def night_sight (): print ("Night Sight ON") vezullim (Red_left, Red_right, Red_center) provoni: ndërsa True: cmd = input (" Test LED për: ") nëse cmd ==" kthesë djathtas ": right_turn () elif cmd ==" kthesë majtas ": left_turn () elif cmd ==" pamje nate ": night_sight () tjetër: print (" Komandë e pavlefshme ") përveç Ke yboardInterrupt: GPIO.cleanup ()
Nëse paneli juaj pastron të gjitha fazat e testimit si në kod, Mirë U bë! Bëhuni gati për hapin tjetër
Nëse paneli nuk ndizet, sigurohuni që keni ndjekur të gjitha hapat në mënyrë korrekte dhe keni parë këshilla të dobishme më parë. Nëse problemi ende vazhdon ju mund të komentoni më poshtë, unë do të jem gati për t'ju ndihmuar.
Afati kohor: Test ONE (Kontrolloni videon për prototipin që punon)
Hapi 5: Integrimi i panelit tregues me tastierën me prekje
Duke e lidhur atë me RPi
Bëni lidhjet siç tregohet në figurën e mësipërme.
Paneli i djathtë
Touppad:
- Kodi GND - Kunja 34
- Kodi VCC - Pin 1
- SIG pin - Pin 29
LED:
Anoda (+) pin - Pin 33
Paneli i majtë
Tastiera me prekje:
- Kodi GND - Kodi 30
- Kodi VCC - Pin 17
- SIG pin - Pin 31
LED:
Anoda (+) pin - Pin 35
GND i zakonshëm: Pin 39 (Për të dy katodat e LED -ve) - Saldimi i zakonshëm në terren (Afati kohor)
Kodi i Testit:
importoni RPi. GPIO si GPIO
nga koha e importimit gjumi 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 (kanal): GPI (right_led, GPIO. HIGH) global triggered triggered = 1 printim ("Turning Right") blink (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered trigged = 1 print ("Turning Majtas ") vezulloni (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, fshirje, rrahje në zemër, fshirje = kthesë, 500 pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) për x në rang (10): GPIO.putput ([pin1, pin2], GPIO. HIGHT) fle (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) gjumi (0.5) GPIO.putput ([right_led, left_led], GPIO. LOW) global triggered triggerred = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left]. dalje ([Red_center, Red_left, Red_right], GPIO. LOW) fle (0.27) tjetër: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) provoni: night_sight () përveç KeyboardIntruptrupt: GPIO.cleanup ()
Prekni tastierën me prekje për të parë shkëlqimin tuaj të dritës
Afati kohor (pa tregues LED): Testi i dytë
Afati kohor (me LED tregues): Testi 3
Shpjegimi i kodit: Ne duam që pamja e natës të funksionojë vazhdimisht dhe kur prekim tastierën me prekje ajo duhet të ndalet dhe të ekzekutojë funksionin e tastierës me prekje. Për ta bërë këtë njëkohësisht ne përdorim diçka të njohur si "Ndërpret" në python. Kjo na lejon të ekzekutojmë kodin tonë normal i cili është shikimi i natës këtu dhe gjithashtu shkakton një ngjarje kur zbulohet një prekje. Ne përdorim ndryshoren e shkaktuar si një flamur për të ndaluar shikimin e natës.
Për më shumë informacion mbi Ndërprerjet, kontrolloni këtë lidhje.
Saldoni panelin
Tani le të bashkojmë panelet me prekje të cilat do të shkojnë në timonin e biçikletës. Referojuni lidhjeve siç jepet në figurën e mësipërme.
Tani që keni testuar LED -in tuaj dhe tastierën me prekje, jeni mirë të shkoni. Nëse nuk e keni testuar tashmë, ju lutemi referojuni këtij Hapi dhe Hapave të mëparshëm.
Vendoseni tastierën me prekje pranë timonit siç tregohet në video. Kjo do të thotë, për tastierën e djathtë të prekjes, tastiera me prekje është në të djathtë dhe në të majtë në të majtë. Në mënyrë të ngjashme, për tastierën prekëse të majtë, led është në të djathtë dhe touchpad në të majtë, gjë që e bën më të lehtë arritjen e gishtit të madh.
PS: Unë nuk e kam ngjitur tastierën me prekje në tabelën e parfumit sepse do ta ripërdoreja përsëri. Prandaj, thjesht e vendosa në panel me shirit të dyanshëm.
Lidhni panelin me RPi duke përdorur tela më të gjatë
Hapi 6: Bëjeni të zgjuar
Po! Tani që ne kemi të gjitha elementet tona themelore të Treguesit në funksion. Le ta bëjmë një hap më tej për ta bërë atë të zgjuar.
Këtu smart përcakton kursimin e baterisë gjithashtu. Siç mund ta keni vënë re pamja e natës është gjithmonë e ndezur dhe ndonjëherë kjo mund të mos kërkohet në një ditë me diell të ndritshme. Për të kapërcyer këtë problem le të integrojmë një LDR (Rezistencë e varur nga drita) për të na dhënë të dhënat e intensitetit të dritës të cilat ne mund të mbledhim dhe përpunojmë treguesin tonë në përputhje me rrethanat.
Testimi i LDR
Unë iu referova kësaj faqe në internet për testimin e LDR për të kontrolluar intensitetin e dritës dhe çfarë vlere kthehet.
Referojuni faqes së internetit të etiketuar më lart për qarkun dhe kodin shembull për funksionimin e LDR.
Integrimi i LDR në kodin tonë
Lidhni LDR në panelin e djathtë të tastierës me prekje siç tregohet në diagramin e lidhjes më sipër.
Pasi të keni bashkuar kunjat në vendin e duhur, është koha për pjesën e fundit të kodimit. Kodi përfundimtar!
- Lidhni pikën e përbashkët të katodës (-) të kondensatorit dhe LDR me Pin 36 në RPi
- Anoda e kondensatorit është e lidhur me pikën e Tokës së Përbashkët të përmendur në Hapin 5
Kodi Përfundimtar:
importoni RPi. GPIO si GPIO
nga koha e importimit gjumi 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 të shkaktuara = 0 GPIO.setmode (GPIO. BOARD) GPIO. konfigurimi ([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 trigged = 1 printim ("Turning Right") blink (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered = 1 printim ("Duke u kthyer majtas") vezullim (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_sound_tounet, (ldr): numëroni = 0 #Dalje në kunj për GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) fle (0.1) #Chang e kunja kthehet në hyrje GPIO.setup (ldr, GPIO. IN) #Numëroni derisa kunja të shkojë lartë ndërsa (GPIO.input (ldr) == GPIO. LOW): numëroni += 1 numërimin e kthimit def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) për x në rang (10): GPIO.putput ([pin1, pin2], GPIO. HIGHT) fle (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) gjumi (0.5) GPIO.putput ([right_led, left_led], GPIO. LOW) global triggered triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global aktivizohet nëse (ndriçimi i dritës (ldr)> 7800): nëse (aktivizohet == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) fle (0.27) tjetër: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) provoni: night_sight () përveç KeyboardIntruptrupt: GPIO.cleanup ()
Voila! Dhe treguesi është gati të rrokulliset.
Këshillë e dobishme: Para se të montoni RPi dhe përbërës të tjerë në cikël sigurohuni që ta testoni këtë program siç duhet! Drejtojeni atë disa herë për të korrigjuar gabimet.
Hapi 7: Pikturimi dhe montimi
Materialet e kërkuara:
- Mjetet e Prerjes/ Zhveshjes së Telit
- Një kuti e madhe magazinimi që përshtatet në Raspberry Pi
- Një kuti e vogël magazinimi që i përshtatet panelit tregues
- Bojë
- Furça bojë
Filloni duke pikturuar panelin e Treguesit dhe panelet e tastierës me ngjyrë të zezë. Kam përdorur Bojëra Akrilike këtu ju mund t'i përdorni ato sipas dëshirës tuaj e cila përzihet mirë me tabelën e perf. Përdorni një sfond të zi në mënyrë që ta bëni panelin LED të gjallë dhe më të spikatur. Bëni vrimat duke përdorur një kaçavidë të ndezur ose duke përdorur ndonjë objekt metalik për të shkrirë plastikën.
Shënim: Ju lutemi kini kujdes kur bëni vrima.
Afati kohor: Bojë
Këshillë e dobishme: Kam përdorur kuti plastike dhe boja del lehtë. Sigurohuni që përdorni bojëra me cilësi të mirë
Pasi të pikturohen Treguesi dhe panelet thajini ato në diell dhe përgatituni për montim.
Unë kam prerë skajet shtesë të tabelës së perfit në Panelin e Treguesve dhe panelin e përparmë për të kursyer hapësirë.
Shikoni videon për montim!
Afati kohor: Avengers! Mbledh. (Montimi i panelit tregues dhe RPi me kuti)
Siç shihet në video vendosni telat në përputhje me rrethanat duke bërë tre vrima në kutinë më të madhe. Një për telat e bankës së energjisë RPi, një për panelet me prekje dhe një për panelin e Treguesit. Vetëm një vrimë kërkohet për kutinë më të vogël.
Këshillë e dobishme: Kontrolloni izolimin e telave dhe kontrolloni nëse telat janë ngjitur siç duhet para se t'i lidhni ato në kuti.
Hapi 8: Testimi në distancë me VNC dhe kodin përfundimtar
Një test përfundimtar para se treguesi të jetë plotësisht gati. Lidhni RPi -në tuaj me VNC Viewer dhe ekzekutoni programin.
Unë gjithmonë përdor një server VNC për të drejtuar programin dhe për të korrigjuar çdo gabim në program. Në këtë mënyrë unë mund ta vendos RPi direkt në vendin ku dua të provoj pa e lidhur monitorin nga jashtë.
Kontrolloni këtë faqe për të lidhur RPi -në tuaj me VNC Server. (Server VNC)
Pasi të keni lidhur RPi me VNC Server. Mund të ekzekutoni kodin në desktopin virtual dhe të korrigjoni gabimet.
Afati kohor: Drejtoni në fillimin
Këshillë e dobishme: Pasi të keni lidhur Raspberry Pi tuaj me desktopin virtual, do të regjistroheni me Adresën IP të RPi. Por nëse merrni një gabim që thotë se RPi refuzoi lidhjen, kjo është për shkak të ndryshimit të Adresës IP në RPI. Kjo mund të ndodhë kur rindizni ruterin tuaj ose një pikë të nxehtë WiFi dhe më pas përpiqeni të identifikoheni me adresën e vjetër. Ruteri cakton një IP të re sa herë që e rifilloni. Por nëse ju kujtohet IP Adresa e vjetër e RPi, vetëm rritni shifrën e fundit me 1 dhe regjistrohuni. Shembull: Nëse adresa e vjetër IP është 190.148.1.100 atëherë regjistrohuni duke përdorur 190.148.1.101
Pasi të keni kontrolluar nëse gjithçka funksionon siç duhet, është koha për montimin përfundimtar.
Gjithmonë nuk mund të kemi një desktop virtual për të monitoruar ose ekzekutuar shkrimin python. Pra, le ta bëjmë atë në fillimin.
Ne duam që programi ynë të ekzekutohet sapo të ngrihet RPi. Kontrolloni këtë faqe në internet për më shumë detaje mbi këtë!
Nëse RPi juaj është në konfigurimin e Auto-login, atëherë vazhdoni;
Drejtoni komandat e mëposhtme në terminalin e RPi
sudo nano /etc /profil
Shkoni në fund dhe shtoni rreshtin e mëposhtëm:
sudo python file_path &
File_path këtu i referohet shtegut të skedarit python ku ruhet kodi juaj përfundimtar.
Shënim: Ampersand (&) në fund të skedarit duhet të shtohet në mënyrë që programi juaj të funksionojë paralel me nisjen e sistemit. Për shkak se programi ynë përmban një lak të pafund, ky hap është i detyrueshëm në mënyrë që edhe nëse programi nuk po funksionon siç pritej, ne ende mund të përdorim desktopin RPi për të ndryshuar cilësimet.
Pas kësaj shtypni CTRL-X dhe pastaj YPress Enter dy herë dhe do të ktheheni në terminalin e komandës.
Rinisni Pi
Tani kodi duhet të funksionojë gjatë fillimit
Hapi 9: Menaxhimi i kabllove dhe montimi përfundimtar
Urime! në përfundimin e këtij projekti. I dhashë fjalën Minimal siç e keni parë ne kemi përdorur më pak LED për të treguar të gjitha indikacionet e nevojshme dhe gjithashtu me ngjyra të personalizuara. Mos ngurroni të përdorni ngjyra të ndryshme për LED -të tuaj të tillë si e verdha për treguesit e kthesës ose ndonjë tjetër.
Nëse e keni bërë këtë projekt klikoni në "I made it" dhe ndani përvojën tuaj. Ndani mendimet tuaja dhe gjithashtu çdo sugjerim ose koment mbi këtë projekt. Do të doja ta dëgjoja këtë!
Menaxhimi i kabllove
Po! Siç mund ta keni vënë re, ka shumë tela që hyjnë brenda dhe rreth cikleve dhe menaxhimi i tyre është i vrullshëm. Kam përdorur etiketa kabllo, kaseta izoluese dhe mbështjellës kabllor për të fshehur telat dhe gjithashtu i kam lyer ato me ngjyrë të zezë siç e keni parë foton.
Këshillë e dobishme: Për shkak se keni lënë centimetra shtesë nga kabllot tuaja sesa kërkohet, tani është e dobishme t'i menaxhoni ato siç duhet pa i stresuar ato! Nëse njëra prej LED -ve tuaj ndizet dhe të tjerat jo edhe nëse keni bërë gjithçka siç duhet, problemi është në telat Jumper të lidhur me RPi, do të ketë një kontakt të lirshëm. Nëse kjo vazhdon, përdorni një tel bluzë mashkull me femër për të zgjatur tela dhe për t'i lidhur ato. Përdorni lidhëse kabllo për të mbajtur telat në vend në mënyrë që të mos lëvizin.
Tani Treguesi është gati për një Udhëtim! Shijoje
PS: Në një udhëzues të mëtejshëm do të doja shumë të zvogëloja numrin e telave në qark dhe të dilja me një plan më të mirë. Nëse e bëj këtë, do të ndaj një udhëzues për këtë!
Hapi 10: Disa fotografi të Treguesit
Faleminderit që lexuat këtë Udhëzues. Shpresoj se ju ka pëlqyer aq shumë sa unë në bërjen e saj
Afati kohor: Testi PërfundimtarNë segmentin e mësipërm, mund të shihni që sapo të errësohet dhoma, "Pamja e natës" ndizet dhe ndërsa bëhet më e ndritshme fiket menjëherë!
Afati kohor: Gati për tu hedhur Disa video që kam marrë për të shfaqur treguesin në qendër të vëmendjes. Të gjitha meritat për biçikletën e motrave të mia për videon!
Recommended:
Ndërtoni një sinjal të thjeshtë kthesë të biçikletës: 11 hapa (me fotografi)
Ndërtoni një sinjal të thjeshtë kthesë të biçikletës: Me ardhjen e vjeshtës, ndonjëherë është e vështirë të kuptosh që ditët janë bërë më të shkurtra, megjithëse temperatura mund të jetë e njëjtë. Të gjithëve u ka ndodhur- ju shkoni në një udhëtim pasdite me biçikletë, por para se të ktheheni në gjysmë të rrugës, është errësirë dhe jeni
Ora e kasetës së biçikletës: 7 hapa (me fotografi)
Ora e kasetës së biçikletës: Kjo është një orë e bërë nga pjesë këmbimi që kisha të shtrirë përreth. Për këtë arsye shumë nga pjesët e përdorura mund të zëvendësohen lehtësisht me gjithçka që mund të keni shtrirë rreth shtëpisë tuaj. Për shembull, përdorimi i një Arduino dhe servo për të drejtuar orën është padyshim i tepërt
Një çelës alternativ RFID për sigurinë e biçikletës: 7 hapa (me fotografi)
Një çelës alternativ RFID për sigurinë e biçikletës: Për sigurinë e biçikletave, ekziston vetëm një çelës i kyçjes së ndezjes. Dhe mund të hakohet lehtë nga hajduti. Këtu vij me DIY një zgjidhje për këtë. Cheapshtë e lirë dhe e lehtë për tu ndërtuar. Anshtë një çelës alternativ RFID për sigurinë e biçikletave. Le ta bëjmë
Dritë shumë e ndritshme e biçikletës duke përdorur PCB të panelit të dritës me porosi: 8 hapa (me fotografi)
Dritë shumë e ndritshme e biçikletës duke përdorur PCB të panelit të dritës me porosi: Nëse zotëroni një biçikletë, atëherë e dini se sa gropa të pakëndshme mund të jenë në gomat dhe trupin tuaj. Unë kisha mjaft për të fryrë gomat e mia, kështu që vendosa të krijoj panelin tim të udhëhequr me qëllim që ta përdor atë si një dritë biçikletë. Ai që fokusohet në të qenit E
Tre qarqe me sensorë me prekje + Qarku i kohëmatësit me prekje: 4 hapa
Tre Qarqet e Sensorit të Prekjes + Qarku i Kohëmatësit të Prekjes: Sensori i Prekjes është një qark i cili ndizet kur zbulon prekjen në Kunjat e Prekjes. Punon në baza kalimtare, domethënë ngarkesa do të jetë ON vetëm për kohën kur prekja bëhet në kunjat. Këtu, unë do t'ju tregoj tre mënyra të ndryshme për të bërë një prekje sen