Minimalistlik jalgratta näidik, puutetundlik!: 10 sammu (koos piltidega)
Minimalistlik jalgratta näidik, puutetundlik!: 10 sammu (koos piltidega)
Anonim
Image
Image

Tere! See on minu esimene juhendatav. Olen alati tahtnud asju nullist teha, et näha, kuidas see töötab ja kellele ei meeldi isetegemine (tehke seda ise), kui saate midagi vastavalt oma vajadustele muuta? Nii huvitav kui see ka isetegijana kõlaks, nõuab selle teostamine natuke pingutusi. Instructabeli veebisaidi vaatamine on suurepärane viis oma isetegemispüüdluste alustamiseks ja nii hakkasin ma mõnda oma projekti varem ehitama, kuid ma pole kunagi arvanud, et hakkan seda tegema.

Nii nagu võimalus on kätte jõudnud, olen teinud jalgratta näidiku, millel on minimalistlik disain ja puutefunktsioonid. Ma tean, et jalgrattaindikaatori jaoks on palju juhiseid või veebiallikat, kuid enamik neist võttis rohkem ruumi või polnud piisavalt tark, et neid konkreetsel viisil muuta. Kui otsite indikaatorit, mis on teie vajaduste rahuldamiseks piisavalt nutikas ja annab teile võimaluse neid vastavalt oma vajadustele muuta, siis see juhend on teie jaoks!

Miks jalgratta näidik?

Mulle meeldib linnaga rattaga sõita! Võtan tsikli ja lähen lihtsalt hommikuti või õhtuti sõitma. Mõnikord on öösel sõitmine raske, kuna selja taga olev liiklus ei suuda sind märgata ja see on ohtlik märk. Sellepärast tahtsin ma ise ehitada indikaatori koos kõigi materjalidega, mis mul kodus kaasas olid, ja see näeb ka jalgrattaga suurepärane välja, kui sõidate linnas, lülitades näidikud sisse!

Projekti tegemine, ilma et peaks silmitsi seisma probleemidega, ei juhtu! Aga ma ütlen teile kõik vead, mida ma selle ehitamisel tegin, "käepäraseks vihjeks", et te ei üritaks neid teha. YouTube'i video sisaldab illustratsiooni projekti ülesehitamisest, väikseid animatsioone, mis annavad edasi, kuidas asjad toimivad ja kuidas näitaja teel välja näeb! Selles juhendis on esitatud kõige üksikasjalikum teave. Jätkates märgin oma YouTube'i video segmendid igal ajahetkel „Ajaskaalaks“: saate vaadata, kuidas asjad praktiliselt toimivad. Lisateavet saate lisatud esiletõstetud linkidel klõpsates.

Selle projekti omadused:

  • Parempöörde näit
  • Vasakpöörde tähis
  • Öine nägemine
  • Puutetundlik

Samm: alustamiseks vajalikud materjalid

Komponentide testimine
Komponentide testimine
  • Takistid (330 oomi ja 120 oomi): 330 oomi ja 120 oomi
  • Vaarika Pi 3: RPi 3
  • Leivalaud: Leivaplaat
  • Jumper juhtmed (mees-mees, mees-naine, naine-naine): hüppaja juhtmed
  • Mitmejuhtmelised juhtmed: mitmeahelaline traat
  • Mahtuvuslik puutetundlik andur (TTP223) - (2): link
  • RGB LED -id (tavaline katooditüüp) - (13): RGB LED -i üldine katood
  • Tavalised LED -id - (2): LED
  • Jootematerjalid: jootekomplekt
  • Perf lauad: Perf Board
  • Powerbank: Powerbank
  • 1 mikro Faradi elektrolüütiline kondensaator: elektrolüütiline kondensaator
  • LDR (valgusest sõltuv takisti): LDR
  • Kaablisidemed: kaablisidemed
  • Kaabli peitekreem: kaabli peitekreem
  • Akrüülvärv ja pintslid (valikuline): värv ja pintslid
  • Kaks hoiukasti kokkupanekuks. (1 suur ja 1 keskmise suurusega)

Hoidke alati ülaltoodud lisakogust. Olen linkinud Amazonase komponendid ja mõned jootmismaterjalide parima ostu komplekti!

Ajaskaala: koguge materjale

2. samm: komponentide testimine

Komponentide testimine
Komponentide testimine
Komponentide testimine
Komponentide testimine
Komponentide testimine
Komponentide testimine

Paneme oma komponendid proovile! See on tõesti kasulik eraldada komponendid, mis on mingil põhjusel kahjustatud või toimivad kummaliselt. Samuti võimaldab see etapp teil saada esialgse praktilise kogemuse komponentidega ja natuke õppida enne kogu projekti loomist.

Testige RGB LED -i tüüpi

Turult leiame kahte tüüpi RGB LED -e. Tavaline katooditüüp ja tavaline anooditüüp.

See on mugav näpunäide (kuigi suurem), kuna ühendasin valgusdioodid, nagu siit videost näha, ja LED ei süttinud ootuspäraselt isegi pärast vooluahela mitu korda ristkontrolli. Siis mõistsin, et seda LED -i on kahte tüüpi ja andmelehe läbimisel sain lõpuks lahenduse! Minu vooluahela probleem oli see, et tavaline katooditihvt oli ühendatud 3.3 V -ga, nagu mainitud, ja olin GPIO -pihu abil hoidnud HIGH -i, nii et nii tavaline katooditihvt kui ka ülejäänud 3 tihvti olid sama potentsiaaliga.

Lahendus: ühendasin tavalise katooditihvti maapinnaga ja LED süttib! Põhjus, miks ma ei muutnud oma koodi, et GPIO nööpnõelad oleksid madalad, kuna kasutame hiljem rohkem LED -e ja RPi annab meile vaid kaks kontakti 3,3 V juures, mida vajame ka muuks otstarbeks!

Kuidas tüübi järgi testida?

Hoidke multimeeter järjepidevusrežiimis. Puudutage pikimat juhtmest multimeetri punase otsaga ja musta otsaga puudutage mõnda muud juhtmest. Kui LED süttib ülaltoodud sammu sooritades, on see tavaline anood RGB LED. Kui ei, siis pöörake multimeetri ots nüüd ümber. Puudutage pikimat juhet musta otsaga ja punast otsa teiste juhtmetega. Nüüd süttib see, näidates, et LED on tavalise katoodiga RGB LED.

Mugav näpunäide: olen selles projektis kasutanud tavalist katooditüüpi. Proovige hankida ainult neid tüüpe, kuid isegi kui teine tüüp on saadaval, ärge muretsege. Vooluahela ühendused jäävad samaks, ainus erinevus tuleb teha koodis, mille annan kommentaarina tegeliku koodirea kõrval, kus peate muutma. Tõmba hinge.

Ajaskaala: testige RGB -d

Viide: RGB testimine

RGB LED süttib

Selleks vaadake ülalolevatel piltidel toodud ühendusskeemi ja ühendage vastavalt tihvtidele leivaplaadi kaudu (et see oleks algusest peale ohutu).

PUNANE: tihvt 11 (330 oomi takisti)

ROHELINE: tihvt 13 (120-oomine takisti)

SININE: tihvt 15 (120-oomine takisti)

Takisti väärtused varieeruvad juhtmete erineva edasipinge tõttu.

Kui olete need õigesti ühendanud, kodeerige RPi sisseehitatud python IDE -s.

RPi. GPIO importimine GPIO -na

#Pinni numbrid vastavad RPi GPIO täpsele arvule Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Ühendage ühine katoodpistik tihvtiga 6 def lülitus (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.väljund (tihvt, GPIO. HIGH) #GPIO.väljund (tihvt, GPIO. LOW) tavalise anoodi tüübi jaoks 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) proovige: samas True: cmd = input ("Sisestage oma käsk:") kui cmd == "punane ": #type sisendkäsklused, nagu täpselt mainitud" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "sinine": blueOn () elif cmd == "sinine väljas": blueOff () else: print ("Pole kehtiv käsk"), välja arvatud KeyboardInterrupt: GPIO.cleanup ()

Ma viitasin sellele juhendile, vaadake seda üksikasjaliku kirjelduse ja koodi jaoks!

Ülaltoodud sama koodi abil saate kontrollida mitut LED -i koos, ühendades need leivaplaadil paralleelselt ja eemaldades ühe punkti mis tahes ühendatud tihvtidest. Kasutage oma LEDide heleduse kontrollimiseks iga tihvti jaoks erinevaid takisti väärtusi

Mugav näpunäide: ühendage kindlasti sama tihvti tüüpi paralleel. See tähendab, et ühe LED -i punane tihvt ühendub ainult teise LED -i punase tihvtiga.

Ajaskaala: pange need särama!

Puuteplaadi testimine

Vooluahela ühendus on selline nagu siin näidatud (ajaskaala). Ühendage need nagu näidatud ja katsetage puuteplaate järgmise koodi abil.

Kood:

RPi. GPIO importimine GPIO -na

ajast importimine unerežiim GPIO.setmode (IO. BOARD) puuteplaat1 = 11 #pin 11 puuteplaat2 = 13 #pin 13 GPIO.seadistus (puuteplaat1, GPIO. IN) GPIO.seadistus (puuteplaat2, GPIO. IN) #Võime ühendada mõlemad ülaltoodud väited koos kui # GPIO.seadistus ([puuteplaat1, puuteplaat2], GPIO. IN) proovige: samas Tõsi: kui (GPIO.input (puuteplaat1) == Tõene): print ("Puuteplaat 1 puudutatud") unerežiim (2) elif (GPIO.input (puuteplaat2) == tõene): print ("puuteplaat 2 puudutati") unerežiim (2) muu: print ("pole puudutatud"), välja arvatud klaviatuurInterrupt: GPIO.cleanup () #CTRL-C väljumiseks

LED -i testimine

LED -i testimiseks vaadake seda suurepärast juhendit!

Kui olete kõiki ülaltoodud komponente testinud, olete valmis selle suurema versiooni ehitama.

3. samm: näidikupaneeli jootmine

Indikaatorpaneeli jootmine
Indikaatorpaneeli jootmine
Indikaatorpaneeli jootmine
Indikaatorpaneeli jootmine
Indikaatorpaneeli jootmine
Indikaatorpaneeli jootmine

Kui te pole jootmisega veel tutvunud, vaadake seda õpetust, et õppida selle põhitõdesid siit (jootmine). Kui olete jootmise professionaal, alustame!

Indikaatorpaneel

Illustratsiooni nende jootmise kohta leiate ülaltoodud piltidelt.

Paneeli jaoks kasutame 13 RGB LED -i. Eraldage need kolmeks osaks: vasak, parem ja keskel vastavalt jootmiseks.

Tähtis: LED -ide vahekaugus

Olen LED -ide vahele jätnud 3 rida. Nagu on näidatud teisel pildil. See on oluline, et LED -paneel näeks hea välja. Me ei taha, et valgusdioodid suurendaksid ruumi liiga kaugele või liiga lähedale, et nad ei saaks valgust kaugelt eristada.

Mugav näpunäide. Alustuseks jootage kõigepealt kõik tavalised katoodid

Mugav näpunäide: kasutage valgusdioodide ühendamiseks mitmeahelalisi juhtmeid, kuna need on vähem tugevad ja kergesti painutatavad. Lühemate vahemaade ühendamiseks võite kasutada valgusdioodide lisakatkestusi

Parem osa: (5 LED -i)

  • Ühendage kõik punased tihvtid omavahel
  • Ühendage kõik rohelised tihvtid omavahel
  • Ühendage kõik tavalised katoodid

Vasak sektsioon: (5 LED -i)

  • Ühendage kõik punased tihvtid omavahel
  • Ühendage kõik rohelised tihvtid omavahel
  • Ühendage kõik tavalised katoodid

Keskosa: (3 LED -i)

Mugav näpunäide: see jaotis nõuab piisavalt ettevaatust. Ärge jootke kõiki tihvte kokku, nagu tegime ülaltoodud kahes osas!

  • Ühendage kõik punased tihvtid omavahel
  • Ühendage ainult ülemine ja alumine LED, roheline tihvt.
  • Ühendage kõik tavalised katoodid

Juhtmed

Vajame pikemaid juhtmeid, et ühendada paneel GPIO -plaadiga.

Mugav näpunäide:

  • Kasutage üheahelalisi juhtmeid! Need on piisavalt tugevad, et taluda mehaanilisi pingeid!
  • Hoidke juhtmeid paneeli ja RPi vahel tegelikust pikkusest veidi kauem (see on juhtmete hilisemal haldamisel väga mugav! (Ajaskaala: mõõtmised)
  • Isoleerige pärast jootmist! Väga tähtis

Jootmiseks kasutage hüppajatraati ja üheahelalist traati. Hüppetraadi üks ots peab olema naissoost pistik. Jootke need siin näidatud viisil (ajaskaala)

Juhtmete värvikoodiks on punane, roheline ja must. mis vastab vastavalt punasele, rohelisele ja tavalisele katooditihvtile.

Vajame 3 musta juhet, 3 punast ja 3 rohelist juhet.

Kui juhtmed on valmis. Jootke juhtmed indikaator -LED -ide juurde.

Mugavad näpunäited:

  • Veenduge, et valgusdioodid oleksid vastavalt antud ühendustele joodetud.
  • Veenduge, et olete jootnud õiged takisti väärtused. Kui väärtusi muudetakse, mõjutab see valgusdioodide heledust
  • Üks võimalus veenduda, et kõik teie valgusdioodid töötavad, on kasutada punktis 2 toodud multimeetrimõõdikut. See on väga mugav, kuna teate, kas lühise korral LED -id ei sütti.
  • Ärge eemaldage juhtmete otsi nõutust kauem. See on raske neid paigal hoida ja ka suurem lühiseoht.
  • Kasutage valgusdioodide ühendamiseks mitmeahelalist traati.
  • Sektsioonide RPi ühendamiseks kasutage üheahelalist traati.

Samm: pange indikaatorpaneel proovile

Pange indikaatorpaneel proovile
Pange indikaatorpaneel proovile
Pange indikaatorpaneel proovile
Pange indikaatorpaneel proovile
Pange indikaatorpaneel proovile
Pange indikaatorpaneel proovile

Kiitus! Kui olete paneeli õigesti jootnud. Jätkame nüüd indikaatori kodeerimisega!

Nagu varem mainitud, näitame parempööret, vasakpööret ja lülitame sisse/välja öise vaatepildi.

Vaadake vooluringi ühendamist 3. sammus.

Ühendage paneeli juhtmed, nagu allpool kirjeldatud:

  • Punane parem - tihvt 7
  • Roheline parem - tihvt 11
  • Tavaline katood paremal - tihvt 6 (GND)
  • Punane vasak - tihvt 13
  • Roheline vasak - tihvt 15
  • Tavaline vasakpoolne katood - tihvt 9 (GND)
  • Kesk punane - tihvt 16
  • Keskel roheline (üleval ja all) - tihvt 18
  • Keskmine ühine katood - tihvt 14 (GND)

Testikood:

RPi. GPIO importimine GPIO -na

ajast importimine unerežiimis #Ühendage vastavalt allpool toodud pin -numbritele 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") vilgub (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") vilgub (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x vahemikus (10): GPIO.väljund ([pin1, pin2], GPIO. HIGH) unerežiim (0,5) GPIO.väljund ([pin1, pin2], GPIO. LOW) unerežiim (0.5) muu: GPIO.seadistus ([pin1, pin2, pin3], GPIO. OUT) x vahemikus (10): GPIO.väljund ([pin1, pin2, pin3], GPIO. HIGH) unerežiim (0,5) GPIO. väljund ([pin1, pin2, pin3], GPIO. LOW) unerežiim (0,5) def night_sight (): print ("Night Sight ON") vilgub (Red_left, Red_right, Red_center) proovige: samas True: cmd = input (" Testi LED: ") kui cmd ==" paremale pööramine ": paremale pööramine () elif cmd ==" vasakpööre ": vasakule pöörlemine () elif cmd ==" öine nägemine ": öine nägemine () muu: print (" Kehtetu käsk ")) välja arvatud Ke yboardInterrupt: GPIO.cleanup ()

Kui teie paneel kustutab kõik katsefaasid nagu koodis, siis hästi tehtud! Valmistuge järgmiseks sammuks

Kui paneel ei sütti, veenduge, et olete kõiki samme õigesti järginud ja käepäraseid näpunäiteid enne läbi vaadanud. Kui probleem püsib, võite allpool kommentaari anda, olen valmis teid aitama.

Ajaskaala: Test ONE (kontrollige videot töötava prototüübi kohta)

5. samm: indikaatorpaneeli integreerimine puuteplaadiga

Näidikupaneeli integreerimine puuteplaadiga
Näidikupaneeli integreerimine puuteplaadiga
Näidikupaneeli integreerimine puuteplaadiga
Näidikupaneeli integreerimine puuteplaadiga
Näidikupaneeli integreerimine puuteplaadiga
Näidikupaneeli integreerimine puuteplaadiga

Selle ühendamine RPi -ga

Tehke ühendused, nagu ülaltoodud pildil näidatud.

Parem paneel

Puuteplaat:

  • GND tihvt - tihvt 34
  • VCC tihvt - tihvt 1
  • SIG -tihvt - tihvt 29

LED:

Anood (+) tihvt - tihvt 33

Vasak paneel

Puuteplaat:

  • GND tihvt - tihvt 30
  • VCC tihvt - tihvt 17
  • SIG -tihvt - tihvt 31

LED:

Anood (+) tihvt - tihvt 35

Tavaline GND: tihvt 39 (mõlema LED -i katoodi jaoks) - tavaline maapinna jootmine (ajaskaala)

Testikood:

RPi. GPIO importimine GPIO -na

ajast importimine unerežiim 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 trigged = 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 (parempoolne, GPIO. HIGH) globaalne käivitatud käivitus = 1 print ("Pööramine paremale") vilgub (Green_right, Green_top_bottom) def left_turn (kanal): GPIO.output (left_led, GPIO. HIGH) globaalne vallandatud vallandus = 1 print ("Turning" Vasak ") vilgub (roheline_vasak, roheline_top_bottom) GPIO.add_event_detect (parempoolne, GPIO. FALLING, tagasihelistamine = parempoolne pööre, tagasipöördumisaeg = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn, bouninkime = 500) pin2): GPIO.seadistus ([pin1, pin2], GPIO. OUT) x vahemikus (10): GPIO.väljund ([pin1, pin2], GPIO. HIGH) unerežiim (0,5) GPIO.outpu t ([tihvt 1, tihvt 2], GPIO. LOW) unerežiim (0,5) GPIO -väljund ([parempoolne, vasakpoolne], GPIO. LOW) globaalselt käivitatud vallandatud = 0 def öövaade (): samas (tõene): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globaalne käivitatakse, kui (vallandatud == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) unerežiim (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) unerežiim (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) proovi: night_sight () välja arvatud KeyboardInterrupt: GPIO.cleanup ()

Puudutage puuteplaati, et näha oma helendust

Ajaskaala (ilma indikaatortuli): teine test

Ajaskaala (näidik -LED -iga): test 3

Koodi selgitus: me tahame, et öine nägemine töötaks pidevalt ja puuteplaati puudutades peaks see peatuma ja täitma puuteplaadi funktsiooni. Selleks kasutame pythonis midagi, mida nimetatakse katkestusteks. See võimaldab meil käivitada oma tavalise koodi, mis on siin öine vaatamisväärsus, ja käivitab ka puudutuse tuvastamisel sündmuse. Öise nägemise peatamiseks kasutame lipuna käivitatud muutujat.

Katkestuste kohta lisateabe saamiseks vaadake seda linki.

Paneeli jootmine

Nüüd jootame puuteplaadi paneelid, mis lähevad jalgratta juhtraua külge. Vaadake ühendusi, nagu on näidatud ülaltoodud pildil.

Nüüd, kui olete oma LED -i ja puuteplaati testinud, võite minna. Kui te pole veel katsetanud, vaadake seda ja eelnevaid samme.

Asetage puuteplaat juhtraua lähedale, nagu on näidatud videos. See tähendab, et parema puuteplaadi puhul on puuteplaat paremal ja vasakul vasakul. Samamoodi on vasakpoolse puuteplaadi puhul LED paremal ja puuteplaat vasakul, mis hõlbustab pöidla jõudmist.

PS: Ma ei ole puuteplaati jootnud perfoplaadi külge, sest pidin seda uuesti kasutama. Seetõttu panin selle lihtsalt kahepoolse teibiga paneelile.

Ühendage paneel RPi abil pikemate juhtmetega

6. samm: tehke see targaks

Tee see targaks!
Tee see targaks!
Tee see targaks!
Tee see targaks!
Tee see targaks!
Tee see targaks!

Jah! Nüüd, kui meil on kõik indikaatori põhiasjad töös. Teeme sammu edasi, et see oleks tark.

Siin määratleb nutikas ka aku säästmise. Nagu olete võib -olla märganud, on öine sihik alati sisse lülitatud ja mõnikord ei pruugi see olla vajalik päikesepaistelisel päeval. Selle probleemi lahendamiseks saate integreerida valgusest sõltuva takisti (LDR), et saada meile valguse intensiivsuse andmed, mida saame vastavalt oma indikaatorit koguda ja töödelda.

LDR testimine

Viitasin sellele veebisaidile LDR -i testimiseks, et kontrollida valguse intensiivsust ja selle väärtust.

Vt skeemi ja LDR -i töö näidiskoodi ülaltoodud veebisaidilt.

LDR -i integreerimine meie koodi

Jootke LDR puuteplaadi paremale paneelile, nagu ülaltoodud ühendusskeemil näidatud.

Pärast tihvtide jootmist õigesse kohta on viimane aeg kodeerimiseks. Lõplik kood!

  • Ühendage kondensaatori ja LDR-i katoodi (-) ühine punkt RPi tihvtiga 36
  • Kondensaatori anood on ühendatud punktis 5 osutatud ühise maanduspunktiga

Lõplik kood:

RPi. GPIO importimine GPIO -na

ajast importimine unerežiim 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 trigger = 0 GPIO.setmode (GPIO. BOARD) GPIO. seadistamine ([parempoolne, vasakpoolne], 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.väljund (parempoolne, GPIO. HIGH) globaalne käivitatud = 1 print ("Pööramine paremale") vilgub (roheline_parem, roheline_top_bottom) def left_turn (kanal): GPIO.väljund (vasak_tuled, GPIO. HIGH) globaalne vallandatud vallandus = 1 print ("Pööramine vasakule") vilgub (roheline_vasak, roheline_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = light_turning, bouncetneur, backunter) [ldr]: count = 0 #Väljund GPIO.setup (ldr, GPIO. OUT) tihvti GPIO.output (ldr, GPIO. LOW) unerežiimis (0,1) #Chang e pin tagasi sisendisse GPIO.setup (ldr, GPIO. IN) #Lugege, kuni tihvt läheb kõrgele (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def vilgub (pin1, pin2): GPIO.seadistus ([pin1, pin2], GPIO. OUT) x vahemikus (10): GPIO.väljund ([pin1, pin2], GPIO. HIGH) unerežiim (0,5) GPIO.väljund ([pin1, pin2], GPIO. LOW) unerežiim (0.5) GPIO.väljund ([parempoolne, vasakpoolne], GPIO. LOW) globaalselt käivitatud = 0 def öine nägemine (): samas (tõene): GPIO.seadistus ([Red_center, Red_left, Red_right], GPIO. OUT) globaalne käivitatakse, kui (valguse tundmine (ldr)> 7800): kui (käivitatud == 0): print ("Öine nägemine sees") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) unerežiim (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) unerežiim (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) proovige: night_sight (), välja arvatud klaviatuurInterrupt: GPIO.cleanup ()

Voila! Ja indikaator on rullimiseks valmis.

Mugav näpunäide. Enne RPi ja muude komponentide tsükli kokkupanekut veenduge, et testite seda programmi korralikult! Vigade silumiseks käivitage see paar korda.

Samm: värvimine ja kokkupanek

Värvimine ja kokkupanek
Värvimine ja kokkupanek
Värvimine ja kokkupanek
Värvimine ja kokkupanek
Värvimine ja kokkupanek
Värvimine ja kokkupanek

Vajalikud materjalid:

  • Traadi lõikamise/ eemaldamise tööriistad
  • Üks suur hoiukarp, mis mahub Raspberry Pi -sse
  • Üks väike hoiukast indikaatorpaneeli jaoks
  • Värv
  • Pintslid

Alustage indikaatorpaneeli ja puuteplaadi paneelide värvimisega musta värviga. Ma kasutasin siin akrüülvärve, mida saate kasutada oma valikul, mis sobib hästi perf -plaadiga. Kasutage musta tausta, et muuta LED -paneel erksaks ja silmapaistvamaks. Tehke augud kuumutatud kruvikeerajaga või plasti sulatamiseks mis tahes metallesemega.

Märkus: olge aukude tegemisel ettevaatlik.

Ajaskaala: värv

Mugav näpunäide: kasutasin plastkarpe ja värv tuleb kergesti maha. Kasutage kindlasti kvaliteetseid värve

Kui näidik ja paneelid on värvitud, kuivatage need päikese käes ja valmistuge kokkupanekuks.

Lõikasin ruumi kokkuhoiuks indikaatorpaneelilt ja esipaneelilt täiendavad servad.

Kontrollige kokkupanekut videost!

Ajaskaala: Avengers! Pange kokku. (Näidikupaneeli ja RPi kokkupanek kastidega)

Nagu videost näha, pange juhtmed vastavalt, tehes suuremasse kasti kolm auku. Üks RPi toitepanga juhtme jaoks, teine puuteplaadi paneelide jaoks ja üks indikaatorpaneeli jaoks. Väiksema kasti jaoks on vaja ainult ühte auku.

Mugav näpunäide: kontrollige juhtmete isolatsiooni ja enne juhtmete kasti ühendamist, kas juhtmed on korralikult joodetud.

8. samm: kaugkontroll VNC ja lõppkoodiga

Kaugtestimine VNC ja lõppkoodiga
Kaugtestimine VNC ja lõppkoodiga
Kaugtestimine VNC ja lõppkoodiga
Kaugtestimine VNC ja lõppkoodiga

Viimane test enne, kui indikaator on täielikult valmis. Ühendage oma RPi VNC Vieweriga ja käivitage programm.

Kasutan programmi käivitamiseks ja vigade silumiseks alati VNC -serverit. Nii saan paigutada RPi otse kohta, kus tahan testida, ilma monitori väliselt ühendamata.

Vaadake seda lehte, et ühendada oma RPi VNC -serveriga. (VNC -server)

Kui olete RPi VNC -serveriga ühendanud. Saate käivitada koodi virtuaalsel töölaual ja siluda vigu.

Ajaskaala: käivitage käivitamisel

Mugav näpunäide. Kui olete oma Raspberry Pi virtuaalse töölauaga ühendanud, logite sisse RPi IP -aadressiga. Aga kui saate vea, milles öeldakse, et RPi keeldus ühendusest, on see tingitud RPI IP -aadressi muutmisest. See võib juhtuda siis, kui taaskäivitate ruuteri või WiFi leviala ja proovite seejärel vana aadressiga sisse logida. Ruuter määrab uue IP -aadressi iga kord, kui seda taaskäivitate. Aga kui mäletate RPi vana IP -aadressi, suurendage viimast numbrit 1 võrra ja logige sisse. Näide: Kui vana IP -aadress on 190.148.1.100, logige sisse 190.148 abil.1.101

Kui olete kontrollinud, kas see kõik töötab korralikult, on aeg lõplikuks kokkupanekuks.

Alati ei saa meil olla virtuaalset töölauda pythoni skripti jälgimiseks või käitamiseks. Nii et teeme seda käivitamisel.

Soovime, et meie programm käivituks pärast RPi käivitamist. Selle kohta lisateabe saamiseks vaadake seda veebisaiti!

Kui teie RPi on automaatse sisselogimise seadistusel, jätkake;

Käivitage RPi terminalis järgmised käsud

sudo nano /etc /profile

Kerige alla ja lisage järgmine rida:

sudo python file_path &

File_path viitab siin pythoni faili teele, kuhu teie lõplik kood on salvestatud.

Märkus. Ampersand (&) faili lõppu tuleks lisada nii, et teie programm töötaks paralleelselt süsteemi alglaadimisega. Kuna meie programm sisaldab lõputut tsüklit, on see samm kohustuslik, nii et isegi kui programm ei tööta ootuspäraselt, saame siiski seadete muutmiseks kasutada RPi töölauda.

Pärast seda vajutage CTRL-X ja seejärel Y Vajutage kaks korda sisestusklahvi ja olete tagasi käsuterminali.

Taaskäivitage Pi

Nüüd peaks kood käivitamisel töötama

9. samm: kaablihaldus ja lõplik kokkupanek

Kaabli juhtimine ja lõplik kokkupanek
Kaabli juhtimine ja lõplik kokkupanek
Kaabli juhtimine ja lõplik kokkupanek
Kaabli juhtimine ja lõplik kokkupanek
Kaabli juhtimine ja lõplik kokkupanek
Kaabli juhtimine ja lõplik kokkupanek

Palju õnne! selle projekti lõpetamisel. Ma andsin sellele sõna Minimal, nagu nägite, oleme kasutanud vähem LED -e, et näidata kõiki vajalikke märke ja ka kohandatud värve. Kasutage oma LED -ide jaoks julgelt erinevaid värve, näiteks suunatulede kollast või mõnda muud värvi.

Kui olete selle projekti teinud, klõpsake nuppu "Ma tegin selle" ja jagage oma kogemusi. Jagage oma mõtteid ja ka ettepanekuid või kommentaare selle projekti kohta. Mulle meeldiks seda kuulda!

Kaablihaldus

Jah! Nagu olete ehk märganud, läheb tsüklitesse ja nende ümber nii palju juhtmeid ning nende haldamine on pingeline. Kasutasin juhtmete peitmiseks kaablisilte, isolatsioonilinde ja kaablikorpust ning värvisin need ka mustaks, nagu olete pilti näinud.

Mugav näpunäide. Kuna olete jätnud oma kaablitest rohkem tolli, kui vaja, on nüüd kasulik neid korralikult hallata, ilma neid pingestamata! Kui üks teie LED -tuledest süttib ja teised ei sütti isegi siis, kui olete kõik õigesti teinud, on probleem RPi -ga ühendatud hüppajajuhtmed, on kontakt lahti. Kui see ei lahene, kasutage juhtme pikendamiseks ja ühendamiseks isast -naissoost hüppajatraati. Kasutage kaablisidemeid, et hoida juhtmeid paigal, et need ei liiguks.

Nüüd on indikaator sõitmiseks valmis! Naudi seda

PS: Veel ühes juhendis tahaksin tõesti vähendada ahela juhtmete arvu ja koostada parema plaani. Kui ma seda teen, jagan selle kohta juhendit!

Samm: mõned indikaatori pildid

Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist
Mõned pildid indikaatorist

Täname, et lugesite seda juhendit. Loodan, et teile meeldis see sama palju kui mulle selle tegemisel

Ajaskaala: lõplik test Ülaltoodud segmendis näete, et niipea, kui ruum läheb pimedaks, lülitub "Öine nägemine" sisse ja heledamaks muutudes lülitub see kohe välja!

Ajaskaala: valmimiseks valmis Mõned videod, mille olen näidiku rambivalguses esitlemiseks teinud Kogu tänu minu õdede rattasõidule video eest!