Satura rādītājs:
- 1. darbība: materiāli, lai sāktu darbu
- 2. darbība: komponentu pārbaude
- 3. darbība: indikatora paneļa lodēšana
- 4. darbība: pārbaudiet indikatoru paneli
- 5. darbība: indikatora paneļa integrēšana ar skārienpaliktni
- 6. solis: padariet to gudru
- 7. solis: krāsošana un montāža
- 8. darbība. Attālā pārbaude ar VNC un galīgo kodu
- 9. solis: kabeļu vadība un galīgā montāža
- 10. solis: daži indikatora attēli
Video: Minimālisma velosipēdu indikators ar pieskārienu! 10 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Sveiki! Šī ir mana pirmā pamācība. Es vienmēr gribēju izveidot lietas no nulles tikai tāpēc, lai redzētu, kā tas darbojas un kam nepatīk DIY (dari pats) lietas, kad vari kaut ko mainīt atbilstoši savām vajadzībām? Lai arī cik interesanti varētu šķist DIY, tas prasa nedaudz pūļu, lai tas notiktu. Tīmekļa vietnes Instructables pārlūkošana ir lielisks veids, kā sākt savu vēlmi izdarīt pats, un tāpēc es sāku veidot dažus no saviem projektiem agrāk, bet es nekad nedomāju, ka to izveidošu.
Tieši tā, kā radās iespēja, esmu izveidojis velosipēda indikatoru ar minimālisma dizainu un pieskārienu. Es zinu, ka velosipēda indikatoram ir daudz pamācību vai tiešsaistes avotu, taču lielākā daļa no tiem aizņēma vairāk vietas vai nebija pietiekami gudri, lai tos konkrētā veidā mainītu. Ja jūs meklējat rādītāju, kas ir pietiekami gudrs, lai apmierinātu jūsu vajadzības un dotu jums iespēju tos mainīt atbilstoši savām vajadzībām, tad šī pamācība ir paredzēta jums!
Kāpēc velosipēdu indikators?
Man patīk riteņbraukšana pa pilsētu! Es paņemu savu velosipēdu un vienkārši braucu no rīta vai vakarā. Dažreiz naktī ir grūti braukt, jo aiz jums esošā satiksme jūs nevarēs pamanīt, un tā ir bīstama zīme. Tāpēc es gribēju pats izveidot indikatoru ar visiem materiāliem, kas man bija mājās, un arī tas lieliski izskatās uz velosipēda, braucot pilsētā, ieslēdzot rādītājus!
Veicot projektu, nesaskaroties ar problēmām, tas nenotiek! Bet es jums pastāstīšu visas kļūdas, kuras es pieļāvu, to veidojot, kā "parocīgu padomu", lai jūs nemēģinātu tās pieļaut. YouTube videoklipā ir ilustrācija par projekta veidošanu, nelielas animācijas, lai parādītu, kā lietas darbojas un kā indikators izskatās uz ceļa! Lielākā daļa sarežģītas informācijas ir sniegta šajā pamācībā. Turpinot darbību, es atzīmēšu sava YouTube videoklipa segmentus kā “Laika skala:” katrā solī, lai jūs varētu apskatīt, kā lietas darbojas praktiski. Plašāku informāciju varat iegūt, noklikšķinot uz norādītajām saitēm.
Šī projekta iezīmes:
- Pagrieziena rādītājs pa labi
- Kreisā pagrieziena indikācija
- Nakts redzamības indikācija
- Pieskaršanās iespējota
1. darbība: materiāli, lai sāktu darbu
- Rezistori (330 omi un 120 omi): 330 omi un 120 omi
- Raspberry Pi 3: RPi 3
- Maizes dēlis: maizes dēlis
- Džemperu vadi (vīrieši-vīrieši, vīrieši-sievietes, sievietes-sievietes): džemperu vadi
- Daudzpavedienu vadi: daudzpavedienu vads
- Kapacitīvs skārienjūtīgais sensors (TTP223) - (2): saite
- RGB gaismas diodes (parastais katoda tips) - (13): RGB LED kopējais katods
- Normālas gaismas diodes - (2): LED
- Lodēšanas materiāli: lodēšanas komplekts
- Perf dēļi: Perf Board
- Powerbank: Powerbank
- 1 mikro Farad elektrolītiskais kondensators: elektrolītiskais kondensators
- LDR (no gaismas atkarīgs rezistors): LDR
- Kabeļu saites: Kabeļu saites
- Kabeļu korektors: Kabeļu korektors
- Akrila krāsa un otas (pēc izvēles): krāsa un otas
- Divas uzglabāšanas kastes montāžai. (1 liels un 1 vidējs)
Vienmēr paturiet papildu daudzumu, kā norādīts iepriekš. Esmu saistījis Amazon komponentus un dažus labākos lodēšanas materiālu komplektus!
Laika skala: apkopojiet materiālus
2. darbība: komponentu pārbaude
Pārbaudīsim jūsu komponentus! Tas ir patiešām noderīgi, lai atdalītu komponentus, kas kāda iemesla dēļ ir bojāti vai darbojas dīvaini, un arī šī fāze ļauj iegūt sākotnējo praktisko pieredzi ar sastāvdaļām un nedaudz iemācīties pirms visa projekta veidošanas.
Pārbaudiet RGB gaismas diodes veidu
Tirgū mēs atrodam divu veidu RGB gaismas diodes. Parastais katoda tips un parastais anoda tips.
Tas ir ērts padoms (lai arī lielāks), jo es pievienoju gaismas diodes, kā redzams šajā videoklipā, un gaismas diode nedeg, kā paredzēts, pat pēc ķēdes vairākkārtējas pārbaudes. Tad es sapratu, ka ir divu veidu šīs gaismas diodes, un, izskatot datu lapu, es beidzot saņēmu risinājumu! Problēma ar manu ķēdi bija kopējā katoda tapa, kas tika savienota ar 3.3V, kā minēts, un es GPIO tapu turēju HIGH, tāpēc gan kopējā katoda tapa, gan pārējās 3 tapas bija ar tādu pašu potenciālu.
Risinājums: Es pievienoju parasto katoda tapu zemei un iedegās gaismas diode! Iemesls, kāpēc es nemainīju savu kodu, lai GPIO tapas būtu zemas, jo vēlāk mēs izmantosim vairāk gaismas diodes, un RPi dod mums tikai divas tapas pie 3,3 V, kas mums ir vajadzīgas arī citiem mērķiem!
Kā pārbaudīt tipu?
Turiet multimetru nepārtrauktības režīmā. Pieskarieties garākajam vadam ar multimetra sarkano galu un melno galu pieskarieties jebkuram citam vadam. Ja gaismas diode iedegas, veicot iepriekš minēto darbību, tā ir kopējā anoda RGB gaismas diode. Ja tā nenotiek, tagad apgrieziet multimetra galu. Pieskarieties garākajam vadam ar melnu galu un sarkanu galu ar citiem vadiem. Tagad tas iedegsies, parādot, ka gaismas diode ir kopējā katoda RGB gaismas diode.
Ērts padoms: šajā projektā esmu izmantojis parasto katoda tipu. Mēģiniet iegūt tikai šos veidus, bet pat tad, ja ir pieejams cits veids, neuztraucieties. Ķēdes savienojumi paliek nemainīgi, vienīgā atšķirība ir jāizdara kodā, ko es sniegšu kā komentāru blakus faktiskajai koda rindai, kurā jums jāmaina. Ievelc elpu.
Laika skala: pārbaudiet RGB
Atsauce: Kā pārbaudīt RGB
RGB LED iedegas
Lai to izdarītu, pārbaudiet savienojuma shēmu, kas parādīta iepriekšējos attēlos, un pieslēdzieties caur tapām caur maizes dēli (lai tas būtu droši, lai sāktu).
SARKANS: 11. tapa (330 omu rezistors)
ZAĻA: tapa 13 (120 omu rezistors)
ZILA: tapa 15 (120 omu rezistors)
Rezistoru vērtības mainās atkarībā no dažādu vadu sprieguma uz priekšu.
Kad esat tos pareizi pievienojis, kodējiet RPi iebūvētajā python IDE.
importēt RPi. GPIO kā GPIO
#Tapas skaitļi atbilst precīzam skaitlim RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Savienojiet kopējo katoda tapu ar Pin 6 def ieslēgtu (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) parastam anoda tipam def turn OFF (izspiests): 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) mēģiniet: kamēr True: cmd = input ("Ierakstiet savu komandu:"), ja cmd == "sarkans ": #type ievades komandas, kā minēts tieši iekšā" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () else: print ("Nav derīga komanda"), izņemot KeyboardInterrupt: GPIO.cleanup ()
Es atsaucos uz šo Instructable, pārbaudiet to, lai iegūtu detalizētu aprakstu un kodu!
Izmantojot to pašu kodu iepriekš, jūs varat pārbaudīt, vai nav kopā vairākas gaismas diodes, savienojot tās paralēli uz maizes dēļa, un izņemt vienu punktu no jebkuras kopā savienotās tapas. Katrai tapai izmantojiet dažādas rezistoru vērtības, lai pārbaudītu gaismas diožu spilgtumu
Ērts padoms. Pārliecinieties, vai pievienojat to pašu tapas tipa paralēli. Tas ir, vienas gaismas diodes sarkanā tapa savienojas tikai ar citas gaismas diodes sarkano tapu.
Laika skala: Lieciet viņiem mirdzēt!
Skārienpaneļa pārbaude
Ķēdes savienojums ir tāds, kā parādīts šeit (laika skala). Savienojiet tos, kā parādīts, un pārbaudiet skārienpaliktņus, izmantojot šādu kodu.
Kods:
importēt RPi. GPIO kā GPIO
no laika importēšanas miega GPIO.setmode (IO. BOARD) skārienpaliktnis1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Mēs varam apvienot gan iepriekš minētie apgalvojumi kopā kā # GPIO.setup ([skārienpaliktnis1, skārienpaliktnis2], GPIO. IN) mēģiniet: kamēr taisnība: ja (GPIO.input (skārienpaliktnis1) == Patiess): drukāt ("skārienpaliktnis 1 pieskārās") miega (2) elif (GPIO.input (skārienpaliktnis2) == True): drukāt ("2 skārienpaliktnis pieskārās") miega režīms (2) cits: drukāt ("Nav pieskāries"), izņemot tastatūruInterrupt: GPIO.cleanup () #CTRL-C, lai izietu
LED testēšana
Lai pārbaudītu savu LED, skatiet šo lielisko pamācību!
Kad esat pārbaudījis visas iepriekš minētās sastāvdaļas, esat gatavs izveidot tā lielāko versiju.
3. darbība: indikatora paneļa lodēšana
Ja neesat iesācis lodēt, iepazīstieties ar šo pamācību, lai uzzinātu dažus tās pamatus šeit (Kā lodēt). Ja esat lodēšanas profesionālis, sāksim darbu!
Indikatora panelis
Iepriekš redzamajos attēlos varat atrast ilustrāciju par to lodēšanu.
Mēs izmantojam 13 RGB gaismas diodes panelim. Sadaliet tos trīs daļās: pa kreisi, pa labi un centrā, lai attiecīgi lodētu.
Svarīgi: gaismas diodes atstarpes
Es atstāju 3 rindas starp gaismas diodēm. Kā parādīts otrajā attēlā. Tas ir svarīgi, lai LED panelis izskatītos un justos labi. Mēs nevēlamies, lai gaismas diodes pārāk tālu palielinātu telpu vai pārāk tuvu, lai nespētu atšķirt gaismu no tālienes.
Ērts padoms: vispirms lodējiet visas parastās katoda tapas
Ērts padoms: izmantojiet vairāku stiepļu vadus, lai savienotu gaismas diodes kopā, jo tās ir mazāk izturīgas un viegli saliekamas. Lai savienotu īsākus attālumus, varat izmantot gaismas diodes papildu nogrieztās tapas
Labā daļa: (5 gaismas diodes)
- Savienojiet visas sarkanās tapas kopā
- Savienojiet visas zaļās tapas kopā
- Savienojiet visas kopējās katoda tapas kopā
Kreisā daļa: (5 gaismas diodes)
- Savienojiet visas sarkanās tapas kopā
- Savienojiet visas zaļās tapas kopā
- Savienojiet visas kopējās katoda tapas kopā
Centrālā sadaļa: (3 gaismas diodes)
Ērts padoms: šai sadaļai nepieciešama pietiekama piesardzība. Nelodējiet visas tapas kopā, kā mēs to darījām iepriekš minētajās divās sadaļās!
- Savienojiet visas sarkanās tapas kopā
- Pievienojiet tikai augšējo un apakšējo gaismas diodi, zaļo tapu.
- Savienojiet visas kopējās katoda tapas kopā
Vadi
Mums ir nepieciešami garāki vadi, lai savienotu paneli ar GPIO plati.
Ērts padoms:
- Izmantojiet vienpavedienu vadus! Tie ir pietiekami izturīgi, lai izturētu uz tiem iedarbotos mehāniskos spriegumus!
- Turiet vadus nedaudz ilgāk par faktisko garumu starp paneli un RPi (tas ir ļoti ērti, vadot vadus vēlāk! (Laika skala: mērījumi)
- Izolējiet pēc lodēšanas! Ļoti svarīgs
Lodēšanai izmantojiet džemperi un vienvirziena vadu. Džempera stieples vienam galam jābūt sieviešu savienotājam. Lodējiet tos, kā parādīts šeit (laika skala)
Krāsojiet vadus kā sarkanu, zaļu un melnu. kas atbilst attiecīgi sarkanajai, zaļajai un kopējā katoda tapai.
Mums nepieciešami 3 melni vadi, 3 sarkani vadi un 3 zaļi vadi.
Kad vadi ir gatavi. Lodējiet vadus pie indikatora gaismas diodēm.
Ērti padomi:
- Pārliecinieties, vai gaismas diodes ir pielodētas atbilstoši norādītajiem savienojumiem.
- Pārliecinieties, vai esat pielodējuši pareizās rezistora vērtības. Ja vērtības tiek mainītas, tas ietekmēs gaismas diodes spilgtumu
- Viens veids, kā pārliecināties, vai visas jūsu gaismas diodes darbojas, ir izmantot 2. solī norādīto multimetra mērītāju. Tas ir ļoti ērti, jo jūs zināt, vai ir kāds īssavienojums, gaismas diodes nedeg.
- Nenoņemiet vadu galus ilgāk, nekā nepieciešams. Tas būs grūti noturēt tos vietā, kā arī lielāks īssavienojuma risks.
- Savienošanai starp gaismas diodēm izmantojiet daudzpavedienu vadu.
- Sekciju savienošanai ar RPi izmantojiet vienpavedienu vadu.
4. darbība: pārbaudiet indikatoru paneli
Paldies! Ja paneli esat lodējis pareizi. Tagad turpināsim rādītāja kodēšanu!
Kā minēts iepriekš, mēs norādīsim labo pagriezienu, kreiso pagriezienu un ieslēgsim/izslēgsim nakts skatu.
Skatiet ķēdes pieslēgšanu 3. darbībā.
Pievienojiet paneļa vadus, kā minēts zemāk:
- Sarkans pa labi - 7. tapa
- Zaļš pa labi - 11. tapa
- Parastais katods - 6. tapa (GND)
- Sarkans pa kreisi - 13. tapa
- Zaļā kreisā - 15. tapa
- Kopējais katods pa kreisi - 9. tapa (GND)
- Centrs sarkans - 16. tapa
- Zaļais centrs (augšā un apakšā) - 18. tapa
- Centrālais kopējais katods - 14. tapa (GND)
Testa kods:
importēt RPi. GPIO kā GPIO
no laika importēšanas miega #Savienojums saskaņā ar zemāk esošajiem pin numuriem Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): print ("Turning Right") mirgo (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") mirgo (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): ja (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x diapazonā (10): GPIO.output ([pin1, pin2], GPIO. HIGH) miega režīms (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) miega režīms (0.5) cits: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x diapazonā (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) miega režīms (0,5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) miega režīms (0,5) def night_sight (): print ("Night Sight ON") mirgo (Red_left, Red_right, Red_center) mēģiniet: kamēr True: cmd = input (" Pārbaudiet LED: ") ja cmd ==" pagrieziens pa labi ": labais_apgrieziens () elifs cmd ==" pagrieziens pa kreisi ": pa kreisi_pagrieziens () elifs cmd ==" nakts skats ": nakts_skats () cits: drukāt (" Nederīga komanda ")) izņemot Ke yboardInterrupt: GPIO.cleanup ()
Ja jūsu panelis izdzēš visas pārbaudes fāzes, kā norādīts kodā, labi darīts! Gatavojieties nākamajam solim
Ja panelis neiedegas, pārliecinieties, vai esat pareizi izpildījis visas darbības un iepriekš apskatījis noderīgos padomus. Ja problēma joprojām pastāv, varat komentēt zemāk, es būšu gatavs palīdzēt.
Laika skala: PĀRBAUDIET VIENU (pārbaudiet videoklipu par darba prototipu)
5. darbība: indikatora paneļa integrēšana ar skārienpaliktni
Pievienojot to RPi
Izveidojiet savienojumus, kā parādīts attēlā.
Labais panelis
Skārienpaliktnis:
- GND tapa - 34. tapa
- VCC tapa - 1. tapa
- SIG tapa - 29. tapa
LED:
Anoda (+) tapa - 33
Kreisais panelis
Skārienpaliktnis:
- GND tapa - 30. tapa
- VCC tapa - 17. tapa
- SIG tapa - 31. tapa
LED:
Anoda (+) tapa - 35. tapa
Kopējais GND: 39. tapa (abiem LED katodiem) - kopējā zemes lodēšana (laika skala)
Testa kods:
importēt RPi. GPIO kā GPIO
no laika importēšanas miega Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 triggered = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (kanāls): GPIO.output (labais_leds, GPIO. HIGH) globālā aktivizētā aktivizētā = 1 drukāšana ("pagriešanās pa labi") mirgo (zaļais_pareizais, zaļais_apakšējais_ apakšā) def left_turn (kanāls): GPIO.output (kreisais_leds, GPIO. HIGH) globālais izraisītais aktivizēts = 1 drukāšana ("Turning" Pa kreisi ") mirgo (zaļš_pa kreisi, zaļš_augšējais_apakšējais) GPIO.add_event_detect (labais_touch, GPIO. FALLING, atzvanīšana = right_turn, atlēciena laiks = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, atzvanīšana = left_turn), defuncetime = pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x diapazonā (10): GPIO.output ([pin1, pin2], GPIO. HIGH) miega režīms (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) miega režīms (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) globāli aktivizēts aktivizēts = 0 def night_sight (): kamēr (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globāls tiek aktivizēts, ja (aktivizēts == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) miega režīms (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) miega režīms (0.27) cits: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) mēģiniet: night_sight () izņemot KeyboardInterrupt: GPIO.cleanup ()
Pieskarieties skārienpaliktnim, lai redzētu savu gaismu
Laika skala (bez indikācijas gaismas diodes): otrais tests
Laika skala (ar indikācijas LED): 3. tests
Koda skaidrojums: Mēs vēlamies, lai nakts redzamība darbotos nepārtraukti, un, pieskaroties skārienpaliktnim, tai vajadzētu apstāties un izpildīt skārienpaliktņa funkciju. Lai to izdarītu vienlaikus, python izmantojam kaut ko tādu, kas pazīstams kā “Pārtraukumi”. Tas ļauj mums palaist mūsu parasto kodu, kas šeit ir nakts skats, kā arī aktivizē notikumu, kad tiek konstatēts pieskāriens. Mēs izmantojam aktivizēto mainīgo kā karogu, lai apturētu nakts redzamību.
Lai iegūtu papildinformāciju par pārtraukumiem, pārbaudiet šo saiti.
Lodēt paneli
Tagad pielodēsim skārienpaliktņa paneļus, kas nonāks pie velosipēda stūres. Skatiet savienojumus, kā parādīts attēlā.
Tagad, kad esat pārbaudījis savu gaismas diodi un skārienpaliktni, varat sākt darbu. Ja vēl neesat veicis pārbaudi, lūdzu, skatiet šo un iepriekšējās darbības.
Novietojiet skārienpaliktni pie stūres, kā parādīts video. Tas ir, labajam skārienpaliktnim skārienpaliktnis atrodas labajā un kreisajā pusē pa kreisi. Līdzīgi arī kreisajam skārienpaliktnim gaismas diode atrodas labajā pusē un skārienpaliktnis kreisajā pusē, kas atvieglo īkšķa sasniegšanu.
PS: Es neesmu pielodējis skārienpaliktni pie tāfeles, jo es to gribēju atkārtoti izmantot. Tāpēc es to vienkārši uzliku uz paneļa ar abpusēju lenti.
Pievienojiet paneli RPi, izmantojot garākus vadus
6. solis: padariet to gudru
Jā! Tagad, kad esam sagatavojuši visas svarīgākās indikatora funkcijas. Sperim soli tālāk, lai padarītu to gudru.
Šeit viedais definē arī akumulatora taupīšanu. Kā jūs, iespējams, pamanījāt, nakts skats vienmēr ir ieslēgts, un dažreiz tas var nebūt vajadzīgs gaišā saulainā dienā. Lai pārvarētu šo problēmu, ļauj integrēt LDR (no gaismas atkarīgu rezistoru), lai sniegtu mums gaismas intensitātes datus, kurus mēs varam savākt un attiecīgi apstrādāt mūsu indikatoru.
LDR pārbaude
Es atsaucos uz šo vietni, lai pārbaudītu LDR, lai pārbaudītu gaismas intensitāti un to vērtību.
Skatiet iepriekš atzīmēto vietni, lai uzzinātu ķēdi un parauga kodu LDR darbībai.
LDR integrēšana mūsu kodā
Lodējiet LDR uz skārienpaliktņa labā paneļa, kā parādīts iepriekš redzamajā savienojuma shēmā.
Pēc tapas lodēšanas pareizajā vietā ir pienācis laiks pēdējam kodēšanas bitam. Galīgais kods!
- Pievienojiet kondensatora un LDR katoda (-) kopējo punktu RPi 36. tapai
- Kondensatora anods ir pievienots 5. punktā minētajam kopējā zemes punktam
Galīgais kods:
importēt RPi. GPIO kā GPIO
no laika importēšanas miega 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. iestatīšana ([labais_led, kreisais_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (kanāls): GPIO.output (right_led, GPIO. HIGH) izraisīja globālo aktivizēšanu = 1 drukāšana ("pagrieziens pa labi") mirgo (Green_right, Green_top_bottom) def left_turn (kanāls): GPIO.output (left_led, GPIO. HIGH) globāls aktivizēts aktivizēts = 1 drukāšana ("Pagrieziens pa kreisi") mirgo (zaļš_pa kreisi, zaļš_augšējais_apakšējais) GPIO.add_event_detect (labais_taustiņš, GPIO. FALLING, atzvanīšana = labais_apgrieziens, atgriešanās laiks = 500) GPIO.add_event_detect (kreisais pieskāriens, GPIO. FALLING, atzvanīšana = ieslēgšanās kreisajā pusē = izslēgšanās) [ldr]: skaits = 0 #Izvade uz tapas GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) miega režīms (0.1) #Chang e atgrieziet tapu atpakaļ ievadē GPIO.setup (ldr, GPIO. IN) #Skaitiet, līdz tapa kļūst augsta, kamēr (GPIO.input (ldr) == GPIO. LOW): skaits += 1 atgriešanās skaits def mirgo (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x diapazonā (10): GPIO.output ([pin1, pin2], GPIO. HIGH) miega režīms (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) miega režīms (0.5) GPIO. izeja ([labais_led, kreisais_led], GPIO. LOW) aktivizēts globāli = 0 def night_sight (): kamēr (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) miega režīms (0.27) cits: drukāt ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) izmēģināt: night_sight () izņemot KeyboardInterrupt: GPIO.cleanup ()
Voila! Un indikators ir gatavs ripot.
Ērts padoms: Pirms RPi un citu sastāvdaļu montāžas ciklam pārliecinieties, vai esat pareizi pārbaudījis šo programmu! Palaidiet to dažas reizes, lai atkļūdotu visas kļūdas.
7. solis: krāsošana un montāža
Nepieciešamie materiāli:
- Stieples griešanas/ noņemšanas instrumenti
- Viena liela uzglabāšanas kaste, kas piemērota Raspberry Pi
- Viena maza uzglabāšanas kaste, kas piemērota indikatora panelim
- Krāsa
- Otas
Sāciet, krāsojot indikatora paneli un skārienpaliktņa paneļus ar melnu krāsu. Šeit es izmantoju akrila krāsas, jūs varat tās izmantot pēc savas izvēles, kas labi sajaucas ar perforatoru. Izmantojiet melnu fonu, lai LED panelis būtu košs un izceltāks. Izgatavojiet caurumus, izmantojot apsildāmu skrūvgriezi vai izmantojot jebkuru metāla priekšmetu, lai izkausētu plastmasu.
Piezīme: lūdzu, esiet piesardzīgs, veidojot caurumus.
Laika skala: krāsa
Ērts padoms: Es izmantoju plastmasas kastes, un krāsa viegli nokrīt. Pārliecinieties, ka izmantojat labas kvalitātes krāsas
Kad indikators un paneļi ir nokrāsoti, izžāvējiet tos saulē un sagatavojieties salikšanai.
Lai samazinātu vietu, indikatoru panelī un priekšējā panelī esmu nogriezis papildu paneļa malas.
Pārbaudiet video montāžu!
Laika skala: Atriebēji! Salieciet. (Indikatora paneļa un RPi montāža ar kastēm)
Kā redzams video, ievietojiet vadus atbilstoši, izveidojot trīs caurumus lielākajā kastē. Viens RPi barošanas bankas vadam, viens skārienpaliktņa paneļiem un viens indikatora panelim. Mazākajai kastei ir nepieciešams tikai viens caurums.
Ērts padoms: pārbaudiet vadu izolāciju un pārbaudiet, vai vadi ir pareizi pielodēti, pirms tos pievienojat kastē.
8. darbība. Attālā pārbaude ar VNC un galīgo kodu
Pēdējais tests, pirms indikators ir pilnībā gatavs. Pievienojiet savu RPi VNC skatītājam un palaidiet programmu.
Es vienmēr izmantoju VNC serveri, lai palaistu programmu un atkļūdotu visas programmas kļūdas. Tādā veidā es varu novietot RPi tieši uz vietu, kur es vēlos pārbaudīt, nepieslēdzot monitoru ārēji.
Pārbaudiet šo lapu, lai savienotu savu RPi ar VNC serveri. (VNC serveris)
Kad esat pievienojis RPi VNC serverim. Varat palaist kodu virtuālajā darbvirsmā un atkļūdot kļūdas.
Laika skala: palaist palaišanas laikā
Ērts padoms: Kad esat pievienojis Raspberry Pi virtuālajai darbvirsmai, jūs pierakstīsities, izmantojot RPi IP adresi. Bet, ja tiek parādīta kļūda, norādot, ka RPi atteicās izveidot savienojumu, tas ir saistīts ar IP adreses maiņu RPI. Tas var notikt, restartējot maršrutētāju vai WiFi tīklāju un pēc tam mēģinot pieteikties ar veco adresi. Katru reizi restartējot, maršrutētājs piešķir jaunu IP. Bet, ja atceraties veco RPi IP adresi, vienkārši palieliniet pēdējo ciparu par 1 un piesakieties. Piemērs: ja vecā IP adrese ir 190.148.1.100, tad piesakieties, izmantojot 190.148.1.101
Kad esat pārbaudījis, vai viss darbojas pareizi, ir pienācis pēdējās montāžas laiks.
Vienmēr mums nevar būt virtuālās darbvirsmas, lai uzraudzītu vai palaistu python skriptu. Tāpēc darīsim to startēšanas laikā.
Mēs vēlamies, lai mūsu programma darbotos, tiklīdz RPi sāk darboties. Pārbaudiet šo vietni, lai iegūtu sīkāku informāciju par šo!
Ja jūsu RPi ir ieslēgta automātiskās pieteikšanās iestatīšanai, turpiniet;
Izpildiet šādas komandas RPi terminālī
sudo nano /etc /profile
Ritiniet līdz apakšai un pievienojiet šādu rindu:
sudo python file_path &
File_path šeit attiecas uz python faila ceļu, kurā tiek glabāts jūsu galīgais kods.
Piezīme. Ampersand (&) faila beigās jāpievieno tā, lai jūsu programma darbotos paralēli sistēmas sāknēšanai. Tā kā mūsu programmā ir bezgalīga cilpa, šī darbība ir obligāta, lai pat tad, ja programma nedarbojas, kā paredzēts, mēs joprojām varam izmantot RPi darbvirsmu, lai mainītu iestatījumus.
Pēc tam nospiediet taustiņu kombināciju CTRL-X un pēc tam Y divreiz nospiediet taustiņu Enter, un jūs atgriezīsities komandu terminālī.
Pārstartējiet Pi
Tagad kodam vajadzētu darboties, startējot
9. solis: kabeļu vadība un galīgā montāža
Apsveicam! par šī projekta pabeigšanu. Es devu tam vārdu Minimāls, kā jūs redzējāt, mēs esam izmantojuši mazāk gaismas diodes, lai parādītu visas nepieciešamās norādes, kā arī ar pielāgotajām krāsām. Jūtieties brīvi izmantot savas gaismas diodes dažādās krāsās, piemēram, dzelteno pagrieziena rādītājiem vai jebkuru citu.
Ja esat paveicis šo projektu, noklikšķiniet uz "Es to izveidoju" un dalieties savā pieredzē. Dalieties savās domās, kā arī ieteikumos vai komentāros par šo projektu. Es labprāt to dzirdētu!
Kabeļu vadība
Jā! Kā jūs, iespējams, pamanījāt, ciklu laikā un ap to ir tik daudz vadu, un to pārvaldīšana ir drudžaina. Es izmantoju kabeļu birkas, izolācijas lentes un kabeļu korpusu, lai paslēptu vadus, kā arī krāsoju tos melnā krāsā, kā redzat attēlā.
Ērts padoms. Tā kā no kabeļiem esat atstājis papildu collas, nekā nepieciešams, tagad ir lietderīgi tos pareizi pārvaldīt, tos nesaspringstot! Ja kāda no jūsu gaismas diodēm iedegas un citas pat tad, ja esat izdarījis visu pareizi, problēma ir džemperu vadi, kas savienoti ar RPi, būs vaļīgs kontakts. Ja tas neizdodas, izmantojiet vadu no sievišķa līdz sievietei, lai pagarinātu vadu un savienotu tos. Izmantojiet kabeļu saites, lai vadi netiktu pārvietoti.
Tagad indikators ir sagatavots braucienam! Izbaudi to
PS: Turpmākā pamācībā es patiešām vēlētos samazināt ķēdes vadu skaitu un nākt klajā ar labāku plānu. Ja es to darīšu, es par to dalīšos pamācībā!
10. solis: daži indikatora attēli
Paldies, ka izlasījāt šo pamācību. Es ceru, ka jums patika tikpat daudz kā man tā tapšanā
Laika skala: galīgais tests Iepriekš minētajā segmentā var redzēt, ka, tiklīdz telpa kļūst tumšāka, "nakts redzamība" ieslēdzas un, kad kļūst gaišāka, tā nekavējoties izslēdzas!
Laika skala: gatavs ritināšanai Daži videoklipi, kurus esmu uzņēmis, lai parādītu indikatoru uzmanības centrā. Visi kredīti manas māsas riteņbraukšanai par video!
Ieteicams:
Sāciet brīvdienu attēlu slaidrādi ar maģijas pieskārienu!: 9 soļi (ar attēliem)
Sāciet savu brīvdienu attēlu slaidrādi ar maģijas pieskārienu!: Gadu gaitā esmu iemācījies ceļojumā ņemt līdzi mazu figūriņu: es bieži pērku mazu tukšu artoy (piemēram, attēlā redzamo) un krāsoju lai tas atbilstu tās valsts karogam un tēmai, kuru apmeklēju (šajā gadījumā Sicīlija). T
Elektrificējiet klavieres ar pieskārienu: 9 soļi (ar attēliem)
Elektrificējiet savu pieskārienu klavierēm: izveidojiet eksperimentālu panku mūziku un šausmu filmu skaņas efektus, izmantojot šo projektu, iedvesmojoties no Randofo "Elektriskās cigāru kastes ģitāras"; Instructable un EvanKale "Elektriskā Ukelele ar Tone Control" Instructable. Pieskarieties klavierēm
PCB pieskārienu klavieres: 6 soļi (ar attēliem)
PCB Touch Piano: klavieres jūsu kabatai? Protams! Izmantojot printera tonera pārnesi, vara kodināšanas šķīdumu un Teensy 3.2, mēs izgatavojam nelielu MIDI kontrolieri, kas reaģē uz vienkāršu pirksta pieskārienu. Jums būs nepieciešami daži materiāli: 100 mm x 70 mm vara PCB Teensy 3.2 Ferric
Mikro: bitu virziena indikators velosipēdu ķiverēm: 5 soļi
Mikro: bitu virziena indikators velosipēdu ķiverēm: atjaunināta versija-2018. gada 12. maijs Tālāk ir sniegti norādījumi, kā izveidot vienkāršu mikrobitu virziena indikatoru velosipēdu ķiverēm (vai līdzīgām). Tā kā vadīklas izmanto micro: bit iebūvēto akselerometru. Piedāvātie mikro python skripti ir optimāli
Minimālisma IoT pulkstenis (izmantojot ESP8266, Adafruit.io, IFTTT un Arduino IDE): 10 soļi (ar attēliem)
Minimālisma IoT pulkstenis (izmantojot ESP8266, Adafruit.io, IFTTT un Arduino IDE): šajā apmācībā es parādīšu, kā jūs varat izveidot minimālisma pulksteni, kas tiek sinhronizēts ar internetu. Es to pārbaudīju ar divām dažādām uz ESP8266 balstītām plāksnēm: Firebeetle un NodeMCU. Mikrokontrolleris iegūst pašreizējo laiku no Google servera un parāda to