Sisällysluettelo:
- Vaihe 1: Aloitusmateriaalit
- Vaihe 2: Komponenttien testaaminen
- Vaihe 3: Ilmaisinpaneelin juottaminen
- Vaihe 4: Testaa ilmaisinpaneeli
- Vaihe 5: Ilmaisinpaneelin integroiminen kosketuslevyyn
- Vaihe 6: Tee siitä älykäs
- Vaihe 7: Maalaus ja kokoaminen
- Vaihe 8: Etätestaus VNC: llä ja lopullisella koodilla
- Vaihe 9: Kaapelinhallinta ja lopullinen kokoonpano
- Vaihe 10: Jotkut kuvat ilmaisimesta
Video: Minimalistinen polkupyörän ilmaisin, kosketusominaisuus!: 10 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Hei siellä! Tämä on ensimmäinen Instructable. Olen aina halunnut tehdä asioita tyhjästä vain nähdäkseni, miten se toimii ja kuka ei pidä DIY (Do it yourself) -jutuista, kun voit muokata jotain tarpeidesi mukaan? Niin mielenkiintoiselta kuin DIY saattaa kuulostaa, sen toteuttaminen vaatii hieman vaivaa. Instructables -verkkosivuston selaaminen on loistava tapa aloittaa DIY -toiveesi, ja näin aloin rakentaa joitain projekteja aiemmin, mutta en koskaan uskonut tekeväni sellaisen.
Aivan kuin tilaisuus on tullut, olen tehnyt polkupyörän ilmaisimen, jossa on minimalistinen muotoilu ja kosketusominaisuus. Tiedän, että polkupyörän ilmaisimelle on monia ohjeita tai online -lähteitä, mutta useimmat niistä joko veivät enemmän tilaa tai eivät olleet riittävän älykkäitä muuttamaan niitä tietyllä tavalla. Jos etsit indikaattoria, joka on tarpeeksi älykäs täyttämään tarpeesi ja antaa sinulle mahdollisuuden muokata niitä tarpeidesi mukaan, tämä Instructable on sinua varten!
Miksi polkupyörän merkkivalo?
Rakastan pyöräilyä ympäri kaupunkia! Otan pyöräni ja menen vain lenkille joko aamuisin tai iltaisin. Joskus yöllä on vaikea ajaa, koska takana oleva liikenne ei huomaa sinua ja se on vaarallinen merkki. Siksi halusin rakentaa itselleni indikaattorin kaikista materiaaleista, joita minulla oli kotona, ja myös se näyttää hyvältä polkupyörällä, kun ajat kaupungissa kääntämällä ilmaisimet päälle!
Projektin tekeminen ilman ongelmia, ei tapahdu! Mutta kerron teille kaikki virheet, joita tein tämän rakentamisen aikana, "kätevänä vinkkinä", jotta ette yritä tehdä niitä. YouTube -video sisältää kuvauksen projektin rakentamisesta, pieniä animaatioita, jotka välittävät, miten asiat toimivat ja miltä indikaattori näyttää tien päällä! Useimmat yksityiskohtaiset tiedot on annettu tässä oppaassa. Kun jatkat, merkitsen youtube -videoni segmentit "aikajanaksi" jokaisessa vaiheessa, jotta voit tarkastella, miten asiat toimivat käytännössä. Saat lisätietoja napsauttamalla korostettuja linkkejä.
Tämän projektin ominaisuudet:
- Oikean kääntymisen ilmaisin
- Vasemman kääntymisen ilmaisin
- Yönäkymän ilmaisu
- Kosketus käytössä
Vaihe 1: Aloitusmateriaalit
- Vastukset (330 ohmia ja 120 ohmia): 330 ohmia ja 120 ohmia
- Raspberry Pi 3: RPi 3
- Leipälauta: Leipälauta
- Hyppyjohdot (uros-uros, uros-naaras, naaras-naaras): hyppyjohdot
- Monisäikeiset johdot: Monisäikeinen lanka
- Kapasitiivinen kosketusanturi (TTP223) - (2): Linkki
- RGB -LEDit (yhteinen katodityyppi) - (13): RGB -LED -yhteinen katodi
- Normaalit LEDit - (2): LED
- Juotosmateriaalit: Juotosarja
- Perf -levyt: Perf Board
- Powerbank: Powerbank
- 1 mikro Farad -elektrolyyttikondensaattori: elektrolyyttikondensaattori
- LDR (valosta riippuvainen vastus): LDR
- Nippusiteet: Johdinsiteet
- Kaapelin peitevoide: Kaapelin peitevoide
- Akryylimaali ja siveltimet (valinnainen): Maali ja siveltimet
- Kaksi säilytyslaatikkoa kokoonpanoa varten. (1 iso ja 1 keskikokoinen)
Pidä aina ylimääräistä yllä mainitun mukaisesti. Olen linkittänyt komponentit Amazoniin ja joihinkin parhaiten ostettuihin juotosmateriaaleihin!
Aikajana: Kerää materiaaleja
Vaihe 2: Komponenttien testaaminen
Laitetaan komponentit testiin! Tämä on todella hyödyllistä erottaa komponentit, jotka ovat jostain syystä vaurioituneet tai toimivat oudosti, ja myös tämän vaiheen avulla voit saada ensimmäisen käytännön kokemuksen komponenteista ja oppia vähän ennen kuin aloitat koko projektin rakentamisen.
Testaa RGB -LED -tyypin tyyppi
Markkinoilla on kahdenlaisia RGB -LED -valoja. Yleinen katodityyppi ja yleinen anodityyppi.
Tämä on kätevä vinkki (vaikkakin isompi), koska liitin LEDit tämän videon mukaan ja LED ei sytynyt odotetulla tavalla edes piirin tarkistamisen jälkeen useita kertoja. Sitten tajusin, että tätä LEDiä on kahta tyyppiä, ja käymällä tietolomakkeen läpi sain vihdoin ratkaisun! Piirini ongelma oli, että yhteinen katoditappi oli kytketty 3.3V: iin, kuten mainittiin, ja olin pitänyt GPIO -nasta korkealla, joten sekä yhteinen katoditappi että muut 3 nastaa olivat samassa potentiaalissa.
Ratkaisu: Liitin yhteisen katoditapin maahan ja LED -valo palaa! Syy, miksi en muuttanut koodiani pitääkseni GPIO -nastat alhaisina, koska käytämme myöhemmin enemmän LED -valoja ja RPi antaa meille vain kaksi nastaa 3,3 V: lla, joita tarvitsemme myös muihin tarkoituksiin!
Miten tyyppiä testataan?
Pidä yleismittari jatkuvuustilassa. Napauta pisin johto yleismittarin punaisella kärjellä ja mustalla kärjellä napauta mitä tahansa muuta johtoa. Jos merkkivalo syttyy suorittamalla yllä oleva vaihe, se on Common Anode RGB LED Jos ei, käännä yleismittarin kärki nyt päinvastaiseksi. Napauta pisintä johtoa mustalla kärjellä ja punaista kärkeä muiden johtojen kanssa. Nyt se syttyy ja osoittaa, että LED on yhteisen katodin RGB LED
Kätevä vinkki: Olen käyttänyt tässä projektissa yleistä katodityyppiä. Yritä hankkia vain nämä tyypit, mutta vaikka toinen tyyppi olisi saatavilla, älä huoli. Piiriliitännät pysyvät samoina, ainoa ero on tehtävä koodissa, jonka annan kommenttina todellisen koodirivin vieressä, jossa sinun on muutettava. Vedä henkeä.
Aikajana: Testaa RGB
Viite: RGB: n testaaminen
RGB LED palaa
Voit tehdä tämän tarkistamalla yllä olevissa kuvissa esitetyn kytkentäkaavion ja liittämällä tapit leipälevyn läpi (jotta se olisi turvallista aloittaa).
PUNAINEN: nasta 11 (330 ohmin vastus)
VIHREÄ: Nasta 13 (120 ohmin vastus)
SININEN: Tappi 15 (120 ohmin vastus)
Vastusarvot vaihtelevat johtimien vaihtelevien eteenpäin suuntautuvien jännitteiden vuoksi.
Kun olet liittänyt ne oikein, koodaa RPi sisäänrakennettuun python IDE: hen.
Tuo RPi. GPIO GPIO: ksi
#Nastanumerot vastaavat RPi GPIO: n tarkkaa lukua. OUT) GPIO. output (pin, GPIO. HIGH) #GPIO. output (pin, GPIO. LOW) yleiselle anodityypille def turn OFF (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) try: while True: cmd = input ("Kirjoita komento:") if cmd == "red on ": #type syöttökomennot, kuten tarkalleen mainittiin" "redOn () elif cmd ==" punainen pois ": redOff () elif cmd ==" vihreä päällä ": greenOn () elif cmd ==" vihreä pois ": greenOff () elif cmd == "sininen päällä": blueOn () elif cmd == "sininen pois": blueOff () else: print ("Ei kelvollinen komento") paitsi KeyboardInterrupt: GPIO.cleanup ()
Viittasin tähän Instructable -ohjelmaan, tarkista tämä saadaksesi yksityiskohtaisen kuvauksen ja koodin!
Käyttämällä samaa koodia yllä voit tarkistaa useita LED -valoja yhdessä liittämällä ne rinnakkain leipälevylle ja irrottamalla yksittäisen pisteen mistä tahansa toisiinsa yhdistetyistä nastoista. Käytä eri vastuksen arvoja kullekin tapille LEDien kirkkauden tarkistamiseksi
Kätevä vinkki: Varmista, että liität saman nastatyyppisen rinnakkaisliitännän. Toisin sanoen yhden LEDin punainen nasta yhdistyy vain toisen LEDin punaiseen nastaan.
Aikajana: Anna hehkua!
Kosketusalustan testaus
Piiriliitäntä on tässä kuvatulla tavalla (aikajana). Liitä ne kuvan osoittamalla tavalla ja testaa kosketuslevyjä seuraavan koodin avulla.
Koodi:
Tuo RPi. GPIO GPIO: ksi
ajan tuonnin lepotilasta GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Voimme yhdistää molemmat yllä olevat lausumat yhdessä # GPIO.setup ([kosketuslevy1, kosketuslevy2], GPIO. IN) kokeile: kun taas Tosi: jos (GPIO.input (kosketuslevy1) == Tosi): tulosta ("Kosketuslevy 1 kosketti") lepotila (2) elif (GPIO.input (kosketuslevy2) == Tosi): tulosta ("Kosketuslevy 2 kosketti") lepotila (2) muu: tulosta ("Ei kosketettu") paitsi näppäimistöInterrupt: GPIO.cleanup () #CTRL-C poistuaksesi
LED -valon testaus
Katso tästä mahtavasta ohjeesta LED -valon testaamiseen!
Kun olet testannut kaikki edellä mainitut komponentit, olet valmis rakentamaan sen suuremman version.
Vaihe 3: Ilmaisinpaneelin juottaminen
Jos olet uusi juotos, tutustu tähän opetusohjelmaan, jos haluat oppia sen perusteet täältä (juottaminen). Jos olet ammattitaitoinen juotos, aloita!
Ilmaisinpaneeli
Löydät kuvion niiden juottamisesta yllä olevasta kuvasta.
Käytämme paneelissa 13 RGB -LEDiä. Erota ne kolmeen osaan: vasen, oikea ja keskitä juottaaksesi vastaavasti.
Tärkeää: LEDien väli
Olen jättänyt 3 riviä LEDien väliin. Kuten toisessa kuvassa näkyy, tämä on tärkeää, jotta LED -paneeli näyttää ja tuntuu hyvältä. Emme halua, että LEDit lisäävät tilaa liian pitkälle tai liian lähelle, jotta ne eivät pystyisi erottamaan valoa kaukaa.
Kätevä vinkki: Aloita juottamalla ensin kaikki yhteiset katodinastat
Kätevä vinkki: Käytä monisäikeisiä lankoja LEDien yhdistämiseen, koska ne ovat vähemmän tukevia ja helposti taivutettavia. Voit käyttää LED-valojen ylimääräisiä katkaisunappeja lyhyempien etäisyyksien liittämiseen
Oikea osa: (5 LEDiä)
- Yhdistä kaikki punaiset nastat yhteen
- Yhdistä kaikki vihreät nastat yhteen
- Kytke kaikki yhteiset katoditapit yhteen
Vasen osa: (5 LEDiä)
- Yhdistä kaikki punaiset nastat yhteen
- Yhdistä kaikki vihreät nastat yhteen
- Kytke kaikki yhteiset katoditapit yhteen
Keskiosa: (3 LEDiä)
Kätevä vinkki: Tämä osa vaatii riittävää varovaisuutta. Älä juota kaikkia tappeja yhteen kuten edellä kahdessa osassa!
- Yhdistä kaikki punaiset nastat yhteen
- Liitä vain ylä- ja ala -LED, vihreä nasta.
- Kytke kaikki yhteiset katoditapit yhteen
Johdot
Tarvitsemme pidempiä johtoja paneelin liittämiseksi GPIO -korttiin.
Kätevä vinkki:
- Käytä yksisäikeisiä johtoja! Ne ovat riittävän tukevia kestämään mekaanisia rasituksia!
- Pidä johdot hieman pidempään kuin paneelin ja RPi: n välinen todellinen pituus (tämä on erittäin kätevää hallita johtoja myöhemmin! (Aikajana: Mittaukset)
- Eristä juottamisen jälkeen! Hyvin tärkeä
Käytä hyppylankaa ja yksijuosteista lankaa juottamiseen. Hyppyjohtimen toisen pään on oltava naarasliitin, juota tässä kuvatulla tavalla (aikajana)
Värikoodaa johdot punaiseksi, vihreäksi ja mustaksi. joka vastaa punaista, vihreää ja yhteistä katoditappia.
Tarvitsemme 3 mustaa johtoa, 3 punaista johtoa ja 3 vihreää johtoa.
Kun johdot ovat valmiit. Juotos johdot merkkivaloihin.
Käteviä vinkkejä:
- Varmista, että LEDit on juotettu annettujen liitosten mukaisesti.
- Varmista, että olet juottanut oikeat vastusarvot paikoilleen. Jos arvoja muutetaan, se vaikuttaa LED -valojen kirkkauteen
- Yksi tapa varmistaa, että kaikki LED -valot toimivat, on käyttää vaiheessa 2 annettua yleismittaria. Tämä on erittäin kätevää, koska tiedät, jos LED -valot eivät syty.
- Älä irrota johtimien päitä pidempään kuin on tarpeen. Niiden pitäminen paikoillaan on vaikeaa ja myös oikosulun riski on suurempi.
- Käytä monisäikeistä johtoa LED-valojen liittämiseen.
- Käytä yksisäikeistä johtoa osien liittämiseen RPi: hen.
Vaihe 4: Testaa ilmaisinpaneeli
Maine! Jos olet juottanut paneelin oikein. Jatketaan indikaattorin koodaamista nyt!
Kuten aiemmin mainittiin, osoitamme oikean käännöksen, vasemman käännöksen ja kytketään päälle/pois yönäkymä.
Katso piirin kytkentä vaiheessa 3.
Liitä paneelin johdot alla kuvatulla tavalla:
- Punainen oikea - nasta 7
- Vihreä oikea - nasta 11
- Yhteinen katodi oikea - nasta 6 (GND)
- Punainen vasen - nasta 13
- Vihreä vasen - nasta 15
- Yhteinen katodi vasen - nasta 9 (GND)
- Keskipunainen - nasta 16
- Keskellä vihreä (ylhäällä ja alhaalla) - nasta 18
- Keskimmäinen yhteinen katodi - nasta 14 (GND)
Testikoodi:
Tuo RPi. GPIO GPIO: ksi
ajan tuonnin lepotilasta #Yhdistä alla olevien pin -numeroiden mukaan 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") vilkkuu (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") vilkkuu (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x: lle alueella (10): GPIO. output ([pin1, pin2], GPIO. HIGH) uni (0,5) GPIO. output ([pin1, pin2], GPIO. LOW) uni (0.5) else: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x: lle alueella (10): GPIO. output ([pin1, pin2, pin3], GPIO. HIGH) uni (0,5) GPIO. output ([pin1, pin2, pin3], GPIO. LOW) uni (0,5) def night_sight (): print ("Night Sight ON") vilkkuu (Red_left, Red_right, Red_center) kokeile: kun True: cmd = input (" Testaa LED: ") jos cmd ==" oikea käännös ": oikea_kierros () elif cmd ==" vasen käännös ": vasen_kierros () elif cmd ==" yönäkymä ": yönäkymä () else: print (" Virheellinen komento ")) paitsi Ke yboardInterrupt: GPIO.cleanup ()
Jos paneelisi tyhjentää kaikki testivaiheet koodin mukaisesti, Hyvin tehty! Valmistaudu seuraavaan vaiheeseen
Jos paneeli ei syty, varmista, että olet noudattanut kaikkia vaiheita oikein ja tutustunut käteviin vinkkeihin ennen. Jos ongelma jatkuu, voit kommentoida alla, olen valmis auttamaan.
Aikajana: Testi ONE (Tarkista videolta toimiva prototyyppi)
Vaihe 5: Ilmaisinpaneelin integroiminen kosketuslevyyn
Liittäminen RPi -laitteeseen
Tee liitännät yllä olevan kuvan mukaisesti.
Oikea paneeli
Kosketuslevy:
- GND -nasta - nasta 34
- VCC -nasta - nasta 1
- SIG -nasta - nasta 29
LED:
Anodi (+) -tappi - Nasta 33
Vasen paneeli
Kosketuslevy:
- GND -nasta - nasta 30
- VCC -nasta - nasta 17
- SIG -nasta - nasta 31
LED:
Anodi (+) -tappi - Nasta 35
Yhteinen GND: nasta 39 (molempien LEDien katodille) - Yhteinen maadoitus (aikajana)
Testikoodi:
Tuo RPi. GPIO GPIO: ksi
ajan tuonnin lepotilasta 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 (kanava): GPIO.output (oikea_kytketty, GPIO. HIGH) globaali laukaisu lauennut = 1 tulostus ("Kääntyminen oikealle") vilkkuu (vihreä_oikea, vihreä_alkuun_bottom) def vasen_kierros (kanava): GPIO.lähtö (vasen_pohjainen, GPIO. HIGH) globaali laukaisu laukaistu = 1 tulostus ("Turning" Left ") vilkkuu (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, callback = left_turn, bouninkime = 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x: lle alueella (10): GPIO. output ([pin1, pin2], GPIO. HIGH) uni (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) lepotila (0.5) GPIO.output ([oikea_led, vasen_led], GPIO. LOW) globaali laukaisu laukaistu = 0 def night_sight (): kun (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globaali lauennut, jos (laukaistu == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) uni (0,27) GPIO. output ([Red_center, Red_left, Red_right], GPIO. LOW) uni (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) kokeile: night_sight () paitsi KeyboardInterrupt: GPIO.cleanup ()
Kosketa kosketuslevyä nähdäksesi valosi hehkuvan
Aikajana (ilman merkkivaloa): Testi kaksi
Aikajana (merkkivalolla): Testi 3
Koodin selitys: Haluamme, että yönäkymä toimii jatkuvasti, ja kun kosketamme kosketuslevyä, sen pitäisi pysähtyä ja suorittaa kosketuslevyn toiminto. Tätä varten samanaikaisesti käytämme jotain, joka tunnetaan nimellä "Keskeytykset" pythonissa. Tämän avulla voimme suorittaa normaalin koodimme, joka on yönäkymä täällä, ja se myös käynnistää tapahtuman, kun kosketus havaitaan. Käytämme laukaistua muuttujaa lippuna yönäkymän pysäyttämiseen.
Lisätietoja keskeytyksistä saat tästä linkistä.
Juotos paneeli
Juotetaan nyt kosketuslevyn paneelit, jotka menevät polkupyörän ohjaustankoon. Katso liitännät yllä olevan kuvan mukaisesti.
Nyt kun olet testannut LED -valon ja kosketuslevyn, voit aloittaa. Jos et ole jo testannut, katso tämä vaihe ja edelliset vaiheet.
Aseta kosketuslevy ohjaustangon lähelle videon mukaisesti. Toisin sanoen oikean kosketuslevyn kohdalla kosketuslevy on oikealla ja vasemmalla vasemmalla. Samoin vasemman kosketuslevyn led on oikealla ja kosketuslevy vasemmalla, mikä helpottaa peukalon tavoittamista.
PS: En ole juottanut kosketuslevyä perf -levylle, koska minun piti käyttää sitä uudelleen. Siksi laitoin sen paneelille kaksipuolisella teipillä.
Liitä paneeli RPi: hen pidemmillä johdoilla
Vaihe 6: Tee siitä älykäs
Joo! Nyt kun kaikki olennaiset indikaattorimme ovat toiminnassa. Otetaan askel pidemmälle, jotta siitä tulee älykäs.
Tässä älykäs määrittelee myös akun säästämisen. Kuten olet ehkä huomannut, yönäkymä on aina päällä ja joskus tätä ei ehkä tarvita kirkkaana aurinkoisena päivänä. Tämän ongelman ratkaisemiseksi voit integroida valosta riippuvan vastuksen (LDR) antamaan meille valon voimakkuustiedot, jotka voimme kerätä ja käsitellä indikaattorimme sen mukaisesti.
LDR: n testaus
Viittasin tähän sivustoon LDR: n testaamiseksi valon voimakkuuden ja sen palauttaman arvon tarkistamiseksi.
Katso yllä olevasta verkkosivustosta piiri ja LDR: n toimimisen näytekoodi.
LDR: n integroiminen koodiin
Juotos LDR kosketuslevyn oikealle paneelille yllä olevan kytkentäkaavion mukaisesti.
Kun nastat on juotettu oikeaan paikkaan, aika koodauksen viimeiselle bitille. Lopullinen koodi!
- Liitä kondensaattorin katodin (-) ja LDR: n yhteinen piste RPi: n nastaan 36
- Kondensaattorin anodi on kytketty vaiheessa 5 tarkoitettuun yhteiseen maadoituspisteeseen
Lopullinen koodi:
Tuo RPi. GPIO GPIO: ksi
ajan tuonnin lepotilasta 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. setup ([oikea_kieli, vasen_kytketty], GPIO. OUT) GPIO.setup (oikea_kosketus, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (vasen_kosketus, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (kanava): GPIO.output (right_led, GPIO. HIGH) globaali laukaisu lauennut = 1 tulostus ("Turning Right") vilkkuu (Green_right, Green_top_bottom) def left_turn (kanava): GPIO. output (left_led, GPIO. HIGH) globaali laukaisu laukaistu = 1 print ("Kääntyminen vasemmalle") vilkkuu (vihreä_vasen, vihreä_top_bottom) GPIO.add_event_detect (oikea_kosketus, GPIO. FALLING, soittopyyntö = oikea_kierros, bouncetime = 500) GPIO.add_event_detect (vasen_kosketus, GPIO. FALLING, takaisinsoitto = vasen_aika palaa) (ldr): count = 0 #Lähtö nastassa GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) lepotila (0,1) #Chang e nasta takaisin tuloon GPIO.setup (ldr, GPIO. IN) #Laske, kunnes nasta nousee korkealle, kun taas (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def vilkkuu (pin1, pin2): GPIO.asetukset ([pin1, pin2], GPIO. OUT) x: lle alueella (10): GPIO. output ([pin1, pin2], GPIO. HIGH) uni (0,5) GPIO. output ([pin1, pin2], GPIO. LOW) lepotila (0.5) GPIO. output ([oikea_led, vasen_led], GPIO. LOW) globaali laukaisu lauennut = 0 def night_sight (): kun (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. (0.27) GPIO. output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) kokeile: night_sight () paitsi KeyboardInterrupt: GPIO.cleanup ()
Voila! Ja ilmaisin on valmis rullaamaan.
Kätevä vinkki: Ennen kuin asennat RPi: n ja muut komponentit sykliin, varmista, että testaat tämän ohjelman oikein! Suorita se muutaman kerran virheiden korjaamiseksi.
Vaihe 7: Maalaus ja kokoaminen
Tarvittavat materiaalit:
- Langan katkaisu-/ irrotustyökalut
- Yksi suuri säilytyslaatikko, joka mahtuu Raspberry Pi: hen
- Yksi pieni säilytyslaatikko, joka sopii ilmaisinpaneeliin
- Maali
- Pensselit
Aloita maalaamalla osoitinpaneeli ja kosketuslevypaneelit mustalla värillä. Käytin täällä akryylimaaleja, joita voit käyttää haluamallasi tavalla, mikä sopii hyvin perf -levyn kanssa. Käytä mustaa taustaa, jotta LED -paneeli olisi eloisa ja erottuvampi. Tee reiät lämmitetyllä ruuvimeisselillä tai millä tahansa metalliesineellä muovin sulattamiseksi.
Huomautus: Ole varovainen, kun teet reikiä.
Aikajana: Maali
Kätevä vinkki: Käytin muovilaatikoita ja maali irtoaa helposti. Varmista, että käytät laadukkaita maaleja
Kun merkkivalo ja paneelit on maalattu, kuivaa ne auringossa ja valmistaudu kokoonpanoon.
Olen leikannut ylimääräisiä reunoja ilmaisupaneelista ja etupaneelista tilan säästämiseksi.
Tarkista kokoaminen videolta!
Aikajana: Kostajat! Koota. (Ilmaisinpaneelin ja RPi: n kokoaminen laatikoilla)
Kuten videosta näkyy, laita johdot vastaavasti tekemällä kolme reikää suurempaan laatikkoon. Yksi RPi -virtapankkijohdolle, toinen kosketuslevyn paneeleille ja yksi merkkivalopaneelille. Pienempään laatikkoon tarvitaan vain yksi reikä.
Kätevä vinkki: Tarkista johtojen eristys ja tarkista, ovatko johdot oikein juotetut, ennen kuin liität ne laatikkoon.
Vaihe 8: Etätestaus VNC: llä ja lopullisella koodilla
Viimeinen testi ennen kuin merkkivalo on täysin valmis. Liitä RPi VNC Vieweriin ja suorita ohjelma.
Käytän aina VNC -palvelinta ohjelman suorittamiseen ja virheiden korjaamiseen ohjelmassa. Tällä tavalla voin sijoittaa RPi: n suoraan paikkaan, jossa haluan testata ilman, että liitän monitorin ulkoisesti.
Tarkista tämä sivu, jos haluat yhdistää RPi: n VNC -palvelimeen. (VNC -palvelin)
Kun olet yhdistänyt RPi VNC -palvelimeen. Voit suorittaa koodin virtuaalipöydällä ja korjata virheitä.
Aikajana: Suorita käynnistyksen yhteydessä
Kätevä vinkki: Kun olet yhdistänyt Raspberry Pi -laitteesi virtuaaliseen työpöytään, kirjaudut sisään RPi -laitteen IP -osoitteella. Mutta jos saat virheilmoituksen, jonka mukaan RPi kieltäytyi yhteydestä, se johtuu RPI: n IP -osoitteen muutoksesta. Tämä voi tapahtua, kun käynnistät reitittimen tai WiFi -yhteyspisteen uudelleen ja yrität kirjautua sisään vanhalla osoitteella. Reititin määrittää uuden IP -osoitteen joka kerta, kun käynnistät sen uudelleen. Mutta jos muistat RPi: n vanhan IP -osoitteen, lisää vain viimeistä numeroa yhdellä ja kirjaudu sisään. Esimerkki: Jos vanha IP -osoite on 190.148.1.100, kirjaudu sisään käyttämällä 190.148.1.101
Kun olet tarkistanut, toimiiko kaikki oikein, on viimeisen kokoonpanon aika.
Meillä ei aina voi olla virtuaalista työpöytää python -komentosarjan seuraamiseen tai suorittamiseen. Joten teemme sen käynnistyksen yhteydessä.
Haluamme, että ohjelmamme käynnistyy, kun RPi käynnistyy. Tarkista tästä sivustosta lisätietoja tästä!
Jos RPi on automaattisen kirjautumisen asetuksissa, jatka;
Suorita seuraavat komennot RPi -päätelaitteessa
sudo nano /etc /profile
Vieritä alas ja lisää seuraava rivi:
sudo python file_path &
Tiedoston_polku viittaa tässä python -tiedoston polkuun, johon lopullinen koodisi on tallennettu.
Huomautus: Ampersand (&) tiedoston loppuun tulee lisätä niin, että ohjelmasi toimii rinnakkain järjestelmän käynnistyksen kanssa. Koska ohjelmamme sisältää loputtoman silmukan, tämä vaihe on pakollinen, joten vaikka ohjelma ei toimi odotetusti, voimme silti muuttaa RPi -työpöytää asetusten muuttamiseen.
Paina tämän jälkeen CTRL-X ja sitten YPaina Enter-näppäintä kahdesti ja palaat komentopäätteeseen.
Käynnistä Pi uudelleen
Koodin pitäisi nyt käynnistyä
Vaihe 9: Kaapelinhallinta ja lopullinen kokoonpano
Onnittelut! tämän projektin loppuunsaattamisesta. Annoin sille sanan Minimal, koska olette nähneet, että olemme käyttäneet vähemmän LED -valoja kaikkien tarvittavien indikaatioiden näyttämiseen ja myös mukautetuilla väreillä. Voit vapaasti käyttää eri värejä LED -valollesi, kuten keltaista vilkkuvaloille tai mitä tahansa muuta.
Jos olet tehnyt tämän projektin, napsauta "Tein sen" ja jaa kokemuksesi. Jaa ajatuksesi ja myös ehdotukset tai kommentit tästä projektista. Haluaisin kuulla sen!
Kaapelinhallinta
Joo! Kuten olet ehkä huomannut, sykleissä ja niiden ympärillä on niin paljon johtoja, ja niiden hallinta on kiireistä. Käytin kaapeleita, eristysteippejä ja kaapelikoteloa piilottaaksesi johdot ja maalasin ne myös mustiksi, kuten olet nähnyt kuvan.
Kätevä vinkki: Koska olet jättänyt tarvittavia ylimääräisiä tuumaa pois kaapeleistasi, on nyt hyödyllistä hallita niitä kunnolla rasittamatta niitä! Jos jokin LED -valoista syttyy ja toiset eivät, vaikka olet tehnyt kaiken oikein, ongelma on RPi -laitteeseen kytketyt hyppyjohtimet, kontakti on löysä. Jos tämä jatkuu, käytä uros -naarashyppyjohtoa jatkaaksesi johtoa ja liittääksesi ne. Käytä nippusiteitä pitääksesi johdot paikallaan, jotta ne eivät liiku.
Nyt indikaattori on valmis ajoon! Nauti siitä
PS: Muussa ohjeessa haluaisin todella vähentää piirin johtojen määrää ja laatia paremman suunnitelman. Jos teen niin, jaan opetusohjelman siitä!
Vaihe 10: Jotkut kuvat ilmaisimesta
Kiitos, että luit tämän ohjeen. Toivottavasti pidit siitä yhtä paljon kuin minä tein sen
Aikajana: Lopullinen testi Yllä olevassa segmentissä näet, että heti kun huone pimenee, "Night Sight" kytkeytyy päälle ja kirkastuessa sammuu heti!
Aikajana: Valmiina rullaamaan Joitakin videoita, jotka olen ottanut esittelemään indikaattorin parrasvaloissa. Kaikki kiitokset sisareni pyöräilystä videosta!
Suositeltava:
LINEA - Suunnittelijan minimalistinen lattiavalaisin: 6 vaihetta
LINEA - Suunnittelijan minimalistinen lattiavalaisin: https://youtu.be/S3DwttzCTKkTarkista YouTube -linkki rakennusvideolle ja lisälinkkejä .stl -tiedostolle;) Luulet, että sinulla on hyvä yleisvalaistus ympäristössäsi, mutta luulet myös, että vain jotain puuttuu, jotain antaa tilaa
Minimalistinen sanakello: 28 vaihetta (kuvilla)
Minimalistinen sanakello: Suuri kiitos Super Make Somethingille, koska tämä projekti sai inspiraationsa heidän Neopixel Word Clockista. Olen luonut tämän kellon osana IGCSE Design & Tekniikan kurssi ja sai siitä A*. CAD -malli rakennettiin fuusioon etukäteen, joten
Minimalistinen IoT -kello (käyttäen ESP8266, Adafruit.io, IFTTT ja Arduino IDE): 10 vaihetta (kuvilla)
Minimalistinen IoT -kello (käyttäen ESP8266, Adafruit.io, IFTTT ja Arduino IDE): Tässä opetusohjelmassa näytän kuinka voit tehdä minimalistisen kellon synkronoituna Internetin kanssa. Testasin sitä kahdella eri ESP8266 -pohjaisella levyllä: Firebeetle ja NodeMCU. Mikro -ohjain saa nykyisen ajan Googlen palvelimelta ja näyttää sen
Kuinka tehdä minimalistinen (ja halpa) kannettavan tietokoneen kotelo: 5 vaihetta
Minimalistisen (ja halvan) kannettavan tietokoneen kotelon tekeminen: Kyllästyin katsomaan MacBookin naarmuja ja kolhuja aina, kun yritin viedä sen jonnekin heittämättä sitä melko isoon reppuun. Tarvitsin jotain kapeaa mutta hyvännäköistä. Jotain karua mutta edullista. Käännyin m
Minimalistinen IR -kynä: Ei juotosta, alle minuutissa, dollarin alle: 3 vaihetta
Minimalistinen IR -kynä: Ei juotosta, alle minuutissa, dollarin alle: Ensimmäinen ohjeeni, toivottavasti siitä on hyötyä: Jos haluat testata JC Leeä (JC tarkoittaa Johnny Chungia, mutta hän tekee myös ihmeitä. ..) tai Smoothboard -ohjelma osoitteessa www.smoothboard.net (valovuotta eteenpäin, koska Boon Jin aloitti