Sisukord:
- Samm: alustamiseks vajalikud materjalid
- 2. samm: komponentide testimine
- 3. samm: näidikupaneeli jootmine
- Samm: pange indikaatorpaneel proovile
- 5. samm: indikaatorpaneeli integreerimine puuteplaadiga
- 6. samm: tehke see targaks
- Samm: värvimine ja kokkupanek
- 8. samm: kaugkontroll VNC ja lõppkoodiga
- 9. samm: kaablihaldus ja lõplik kokkupanek
- Samm: mõned indikaatori pildid
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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
- 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
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
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
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
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
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
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
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
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
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!