Innholdsfortegnelse:

Minimalistisk sykkelindikator, berøringsaktivert!: 10 trinn (med bilder)
Minimalistisk sykkelindikator, berøringsaktivert!: 10 trinn (med bilder)

Video: Minimalistisk sykkelindikator, berøringsaktivert!: 10 trinn (med bilder)

Video: Minimalistisk sykkelindikator, berøringsaktivert!: 10 trinn (med bilder)
Video: 15 самых крутых электронных гаджетов и снаряжения на 2020 год 2024, November
Anonim
Image
Image

Hei der! Dette er min første instruks. Jeg har alltid ønsket å lage ting fra bunnen av bare for å se hvordan det fungerer, og hvem liker ikke DIY (gjør det selv) ting når du kan endre noe i henhold til dine behov? Så interessant som en DIY kan høres ut, det tar litt innsats for å få det til. Å se gjennom Instructables -nettstedet er en fin måte å starte dine DIY -ambisjoner på, og det var slik jeg begynte å bygge noen av prosjektene mine tidligere, men jeg hadde aldri trodd at jeg skulle lage et.

Akkurat som muligheten har kommet, har jeg laget en sykkelindikator med minimalistisk design og berøringsaktivert. Jeg vet at det er mange instrukser eller nettkilder for en sykkelindikator, men de fleste av dem tok enten mer plass eller var ikke smarte nok til å endre dem på en bestemt måte. Hvis du leter etter en indikator som er smart nok til å dekke dine behov og gir deg en sjanse til å endre dem etter dine behov, så er denne instruksen noe for deg!

Hvorfor sykkelindikator?

Jeg elsker å sykle rundt i byen! Jeg tar syklusen min og går en tur enten om morgenen eller kvelden. Noen ganger, om natten, er det vanskelig å sykle, ettersom trafikken bak deg ikke vil kunne legge merke til deg, og det er et farlig tegn. Derfor ønsket jeg å bygge en indikator selv med alle materialene jeg hadde med meg hjemme, og det ser også bra ut på sykkelen mens du sykler i byen og slår på indikatorene!

Å lage et prosjekt uten å måtte møte noen problemer, skjer ikke! Men jeg vil fortelle deg alle feilene jeg gjorde mens jeg bygde dette som et "praktisk tips" slik at du ikke prøver å gjøre dem. YouTube -videoen inneholder en illustrasjon av hvordan prosjektet er bygget, små animasjoner for å formidle hvordan ting fungerer, og hvordan indikatoren ser ut på veien! Mest utførlig informasjon er gitt i denne instruksjonsboken. Når du fortsetter, vil jeg merke segmentene i YouTube -videoen min som "Tidslinje:" ved hvert trinn for å se på hvordan ting fungerer praktisk talt. Du kan få mer informasjon ved å klikke på de uthevede koblingene.

Funksjoner i dette prosjektet:

  • Høyre sving indikasjon
  • Venstre svingindikasjon
  • Nattvisningsindikasjon
  • Berøringsaktivert

Trinn 1: Materialer for å komme i gang

Testing av komponenter
Testing av komponenter
  • Motstander (330 ohm og 120 ohm): 330 ohm og 120 ohm
  • Raspberry Pi 3: RPi 3
  • Brødbrett: Brødbrett
  • Jumper Wires (Hann-Mann, Mann-Kvinne, Kvinne-Kvinne): Jumper Wires
  • Multi-Strand Wires: Multi-Strand Wire
  • Kapasitiv berøringssensor (TTP223) - (2): Lenke
  • RGB LED (vanlig katodetype) - (13): RGB LED felles katode
  • Normale lysdioder - (2): LED
  • Loddematerialer: Loddesett
  • Perf Boards: Perf Board
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolytisk kondensator: Elektrolytisk kondensator
  • LDR (lysavhengig motstand): LDR
  • Kabelbindere: Kabelbindere
  • Cable Concealer: Cable Concealer
  • Akrylmaling og pensler (valgfritt): Maling og pensler
  • To oppbevaringsbokser for montering. (1 stor og 1 mellomstor)

Behold alltid ekstra mengde om det som er nevnt ovenfor. Jeg har koblet komponentene på Amazon og noen best buy -kit for loddematerialer!

Tidslinje: Samle materialer

Trinn 2: Testing av komponenter

Testing av komponenter
Testing av komponenter
Testing av komponenter
Testing av komponenter
Testing av komponenter
Testing av komponenter

La oss teste komponentene dine! Dette er veldig nyttig for å skille komponentene som er skadet eller virker rart av en eller annen grunn, og også denne fasen lar deg få den første praktiske opplevelsen med komponentene og lære litt før du går videre med å bygge hele prosjektet.

Test for typen RGB LED

Det er to typer RGB -lysdioder vi finner på markedet. Den vanlige katodetypen og den vanlige anodetypen.

Dette er et praktisk tips (selv om det er større) fordi jeg koblet lysdiodene som vist fra denne videoen her, og lysdioden tente ikke som forventet, selv etter å ha krysskontrollert kretsen flere ganger. Da innså jeg at det er to typer av denne LED -en og gjennom databladet fikk jeg endelig en løsning! Problemet med kretsen min var at den vanlige katodestiften var koblet til 3,3V som nevnt, og jeg hadde holdt med GPIO -pinnen til HØY, så både den vanlige katodestiften og de andre tre pinnene hadde samme potensial.

Løsning: Jeg koblet den vanlige katodestiften til bakken og lysdioden lyste! Grunnen til at jeg ikke endret koden min for å holde GPIO -pinnene LAVE fordi vi kommer til å bruke flere lysdioder senere, og RPi gir oss bare to pinner på 3,3 V, som vi også trenger for andre formål!

Hvordan teste for typen?

Behold multimeteret i kontinuitetsmodus. Trykk på den lengste ledningen med den røde spissen på multimeteret og med den svarte spissen, trykk på en av de andre ledningene. Hvis LED -lampen lyser ved å utføre trinnet ovenfor, er det en Common Anode RGB LED. Hvis den ikke gjør det, snu multimeterspissen nå. Trykk på den lengste ledningen med en svart spiss og rød spiss med andre ledninger. Nå lyser den og viser at LED -en er en vanlig katode RGB -LED.

Praktisk tips: Jeg har brukt Common Cathode Type i dette prosjektet. Prøv å få disse typene, men selv om den andre typen er tilgjengelig, ikke bekymre deg. Kretsforbindelsene forblir de samme. Den eneste forskjellen må gjøres i koden som jeg vil gi som en kommentar ved siden av den faktiske kodelinjen der du må endre. Ta pusten.

Tidslinje: Test RGB

Referanse: Slik tester du RGB

RGB LED lyser

For å gjøre dette, sjekk tilkoblingsdiagrammet som er gitt på bildene ovenfor, og koble i henhold til pinnene gjennom et brødbrett (for å holde det trygt å begynne med).

RØD: Pin 11 (330 ohm motstand)

GRØNN: Pin 13 (120 ohm motstand)

BLÅ: Pin 15 (120 ohm motstand)

Motstandsverdiene varierer på grunn av de forskjellige fremspenningene til ledningene.

Når du har koblet dem riktig, kode RPi -en i den innebygde python -IDE.

importer RPi. GPIO som GPIO

#Pin -tallene tilsvarer det nøyaktige nummeret på RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Koble vanlig katodestift til Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) for vanlig anodetype def turnOff (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. LOW) #GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) prøv: while True: cmd = input ("Skriv inn kommandoen din:") hvis cmd == "rød på ": #type inngangskommandoer som nevnt nøyaktig inne" "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 ("Not a valid command") unntatt KeyboardInterrupt: GPIO.cleanup ()

Jeg refererte til denne instruksjonsboken, sjekk dette for detaljert beskrivelse og koden!

Ved å bruke den samme koden ovenfor kan du se etter flere lysdioder sammen ved å koble dem parallelt på brødbrettet og ta ut enkeltpunktet fra en av pinnene som er koblet sammen. Bruk forskjellige motstandsverdier for hver pinne for å kontrollere lysstyrken på lysdiodene dine

Praktisk tips: Sørg for å koble til den samme pin-parallellen. Det vil si at den røde pinnen på den ene lysdioden bare kobles til den røde pinnen på den andre lysdioden.

Tidslinje: Få dem til å lyse!

TouchPad -testing

Kretsforbindelsen er som vist her (tidslinje). Koble dem som vist, og test styreputene med følgende kode.

Kode:

importer RPi. GPIO som GPIO

fra tid importer søvn GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Vi kan klubbe begge setninger ovenfor sammen som # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) prøv: while True: if (GPIO.input (touchpad1) == True): print ("touchpad 1 touched") sleep (2) elif (GPIO.input (touchpad2) == True): print ("Touchpad 2 touched") sleep (2) else: print ("Not Touched") unntatt KeyboardInterrupt: GPIO.cleanup () #CTRL-C for å avslutte

Tester en LED

Se denne fantastiske instruksjonen for å teste LED -en din!

Når du har testet alle komponentene ovenfor, er du klar til å bygge den større versjonen av den.

Trinn 3: Lodding av indikatorpanelet

Lodding av indikatorpanelet
Lodding av indikatorpanelet
Lodding av indikatorpanelet
Lodding av indikatorpanelet
Lodding av indikatorpanelet
Lodding av indikatorpanelet

Hvis du er ny i lodding, sjekk ut denne opplæringen for å lære noen grunnleggende om det her (Hvordan lodde). Hvis du er proff i lodding, la oss komme i gang!

Indikatorpanelet

Du finner illustrasjonen av hvordan du lodder dem på perfbrettet i bildene ovenfor.

Vi bruker 13 RGB -lysdioder for panelet. Del dem i tre seksjoner: venstre, høyre og midt for lodding tilsvarende.

Viktig: Avstanden mellom lysdiodene

Jeg har igjen 3 rader mellom lysdiodene. Som vist på det andre bildet. Dette er viktig for at LED -panelet skal se ut og føles bra. Vi vil ikke at lysdiodene for langt skal øke plassen eller for nær for ikke å kunne skille lyset fra langt unna.

Praktisk tips: Start med å lodde alle vanlige katodestifter først

Praktisk tips: Bruk flerstrengede ledninger for å koble lysdiodene sammen, da de er mindre robuste og enkle å bøye. Du kan bruke de ekstra cut-off pinnene fra lysdiodene til å koble til de kortere avstandene

Høyre seksjon: (5 lysdioder)

  • Koble alle de røde pinnene sammen
  • Koble alle de grønne pinnene sammen
  • Koble alle vanlige katodestifter sammen

Venstre seksjon: (5 lysdioder)

  • Koble alle de røde pinnene sammen
  • Koble alle de grønne pinnene sammen
  • Koble alle vanlige katodestifter sammen

Midtseksjon: (3 lysdioder)

Praktisk tips: Denne delen krever nok forsiktighet. Ikke lodd alle pinnene sammen som vi gjorde i de to seksjonene ovenfor!

  • Koble alle de røde pinnene sammen
  • Koble bare til de øverste og nedre LED -ene, Green Pin.
  • Koble alle vanlige katodestifter sammen

Ledninger

Vi trenger lengre ledninger for å koble panelet til GPIO -kortet.

Praktisk tips:

  • Bruk enkelttrådede ledninger! De er solide nok til å tåle mekaniske påkjenninger påført den!
  • Behold ledningene litt lengre enn den faktiske lengden som trengs mellom panelet og RPi (dette er veldig nyttig når du administrerer ledningene senere! (Tidslinje: Målinger)
  • Isolere etter lodding! Veldig viktig

Bruk en jumper wire og en enkelt tråd til lodding. Hoppertrådens ene ende må være en hunkontakt. Lodd dem som vist her (tidslinje)

Fargekode ledningene som rød, grønn og svart. som tilsvarer henholdsvis rød pin, grønn pin og vanlig katodestift.

Vi trenger 3 svarte ledninger, 3 røde ledninger og 3 grønne ledninger.

Når ledningene er klare. Lodd ledningene til indikatorlampene.

Praktiske tips:

  • Sørg for at lysdiodene er loddet i henhold til tilkoblingene som er gitt.
  • Sørg for at du har loddet de riktige motstandsverdiene på plass. Hvis verdiene endres, vil det påvirke lysstyrken til lysdiodene
  • En måte å sikre at alle lysdiodene dine fungerer på er ved å bruke multimetermåleren som er gitt i trinn 2. Dette er veldig praktisk, da du vil vite om det er noen kortslutning, lysdiodene ikke lyser.
  • Ikke ta av endene på ledningene lenger enn nødvendig. Dette vil være vanskelig å holde dem på plass og også en høyere risiko for kortslutning.
  • Bruk flerstrenget ledning for tilkobling mellom lysdioder.
  • Bruk enstrenget ledning for å koble seksjonene til RPi.

Trinn 4: Sett indikatorpanelet på test

Sett indikatorpanelet på prøve
Sett indikatorpanelet på prøve
Sett indikatorpanelet på prøve
Sett indikatorpanelet på prøve
Sett indikatorpanelet på prøve
Sett indikatorpanelet på prøve

Kudos! Hvis du har loddet panelet riktig. La oss fortsette med å kode indikatoren nå!

Som nevnt tidligere vil vi indikere en høyresving, venstresving og slå av/på nattesynet.

Se tilkoblingen til kretsen i trinn 3.

Koble ledningene til panelet som nevnt nedenfor:

  • Rød Høyre - Pin 7
  • Grønn Høyre - Pin 11
  • Felles katode høyre - Pin 6 (GND)
  • Rød venstre - Pin 13
  • Grønn venstre - Pin 15
  • Felles katode venstre - pinne 9 (GND)
  • Senter rød - Pin 16
  • Sentergrønn (topp og bunn) - Pin 18
  • Center Common Cathode - Pin 14 (GND)

Testkode:

importer RPi. GPIO som GPIO

fra tid importer søvn #Koble til i henhold til pin -tallene nedenfor 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 ("Sving til høyre") blink (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turing Left") blink (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) for x i område (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) søvn (0,5) annet: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) for x i område (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) sleep (0,5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) sleep (0,5) def night_sight (): print ("Night Sight ON") blinker (Red_left, Red_right, Red_center) prøv: mens True: cmd = input (" Test LED for: ") if cmd ==" right turn ": right_turn () elif cmd ==" left turn ": left_turn () elif cmd ==" night sight ": night_sight () else: print (" Ugyldig kommando ") bortsett fra Ke yboardInterrupt: GPIO.cleanup ()

Hvis panelet ditt sletter alle testfasene som i koden, Well Done! Gjør deg klar til neste trinn

Hvis panelet ikke lyser, må du kontrollere at du har fulgt alle trinnene riktig og sett gjennom de praktiske tipsene før. Hvis problemet fortsatt vedvarer, kan du kommentere nedenfor, så er jeg klar til å hjelpe.

Tidslinje: Test ONE (Se videoen for fungerende prototype)

Trinn 5: Integrering av indikatorpanelet med styreplaten

Integrering av indikatorpanelet med styreplaten
Integrering av indikatorpanelet med styreplaten
Integrering av indikatorpanelet med styreplaten
Integrering av indikatorpanelet med styreplaten
Integrering av indikatorpanelet med styreplaten
Integrering av indikatorpanelet med styreplaten

Koble den til RPi

Gjør tilkoblingene som vist på bildet ovenfor.

Høyre panel

Berøringsplate:

  • GND pin - Pin 34
  • VCC pin - Pin 1
  • SIG pin - Pin 29

LED:

Anode (+) pin - Pin 33

Venstre panel

Berøringsplate:

  • GND pin - Pin 30
  • VCC pin - Pin 17
  • SIG pin - Pin 31

LED:

Anode (+) pin - Pin 35

Felles GND: Pin 39 (For begge katodene til LED -lampene) - Common Ground Lodding (Tidslinje)

Testkode:

importer RPi. GPIO som GPIO

fra tid import sov 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 (channel): GPIO.output (høyre_led, GPIO. HØY) global utløst utløst = 1 utskrift ("Sving til høyre") blink (grønn_høyre, grønn_topp_bunn) def venstre_tur (kanal): GPIO.output (venstre_led, GPIO. HØY) global utløst utløst = 1 utskrift ("Snu Venstre ") blink (Grønn_ venstre, Grønn_topp_bunn) GPIO.add_event_detect (høyre_touch, GPIO. FALLING, tilbakekall = høyre_turn, bouncetime = 500) GPIO.add_event_detect (venstre_touch, GPIO. FALLING, tilbakekall = venstre_turn, bouncetime = 500) def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) for x i område (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) søvn (0,5) GPIO.output ([right_led, left_led], GPIO. LOW) global triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global utløst hvis (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (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) try: night_sight () unntatt KeyboardInterrupt: GPIO.cleanup ()

Trykk på styreplaten for å se lyset ditt lyse

Tidslinje (uten indikasjons -LED): Test to

Tidslinje (med indikasjons -LED): Test 3

Kodeforklaring: Vi vil at nattesynet skal kjøre kontinuerlig, og når vi berører styreplaten, bør den stoppe og utføre funksjonen til styreplaten. For å gjøre dette samtidig bruker vi noe kjent som "Avbryter" i python. Dette tillater oss å kjøre vår normale kode som er nattsynet her, og det utløser også en hendelse når en berøring oppdages. Vi bruker utløst variabel som flagg for å stoppe nattesynet.

For mer informasjon om avbrudd, sjekk denne lenken.

Lodde panelet

La oss nå lodde berøringsplate -panelene som går til styret på sykkelen. Se tilkoblingene som vist på bildet ovenfor.

Nå som du har testet LED -en og styreplaten, er du i gang. Se dette trinnet og de forrige trinnene hvis du ikke allerede har testet.

Plasser styreplaten nær styret som vist i videoen. Det vil si at for den høyre styreplaten er styreplaten til høyre og venstre til venstre. På samme måte, for den venstre styreplaten, er lysdioden til høyre og styreplaten til venstre, noe som gjør det lettere for tommelen å nå.

PS: Jeg har ikke loddet styreplaten til perf -bordet fordi jeg skulle bruke den igjen. Derfor la jeg den bare på panelet med dobbeltsidig tape.

Koble panelet til RPi ved hjelp av lengre ledninger

Trinn 6: Gjør det smart

Gjør det smart!
Gjør det smart!
Gjør det smart!
Gjør det smart!
Gjør det smart!
Gjør det smart!

Ja! Nå som vi har alt vi trenger av indikatoren i gang. La oss ta det et skritt videre for å gjøre det smart.

Her definerer smart å spare på batteriet også. Som du kanskje har lagt merke til er nattsynet alltid slått på, og noen ganger er det kanskje ikke nødvendig på en solrik dag. For å overvinne dette problemet kan vi integrere en LDR (Light Dependent Resistor) for å gi oss dataene om lysintensitet som vi kan samle og behandle indikatoren vår tilsvarende.

Tester LDR

Jeg henviste til dette nettstedet for å teste LDR for å sjekke lysintensiteten og hvilken verdi den gir.

Se nettstedet merket ovenfor for kretsen og prøvekoden for driften av LDR.

Integrering av LDR i koden vår

Lodd LDR til høyre panel på styreplaten som vist i tilkoblingsdiagrammet ovenfor.

Etter lodding av pinnene på riktig sted er det tid for den siste biten av kodingen. Den siste koden!

  • Koble fellespunktet til katoden (-) til kondensatoren og LDR til pinne 36 på RPi
  • Kondensatorens anode er koblet til Common Ground -punktet referert til i trinn 5

Endelig kode:

importer RPi. GPIO som GPIO

fra tid import sov 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 ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (channel): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 print ("Turing Right") blink (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered triggered = 1 print ("Dreier til venstre") blinker (Grønn_ venstre, Grønn_topp_bunn) GPIO.add_event_detect (høyre_touch, GPIO. FALLING, tilbakering = høyre_turn, bouncetime = 500) GPIO.add_event_detect (venstre_touch, GPIO. FALLING, tilbakekall = venstre_turn, avvisningstiden = 500) def. (ldr): count = 0 #Output på pinnen for GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) sleep (0.1) #Chang e pin tilbake til input GPIO.setup (ldr, GPIO. IN) #Tell til pinnen går høyt mens (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) for x i området (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2)], GPIO. LOW) søvn (0,5) GPIO.output ([høyre_led, venstre_ledet], GPIO. LOW) global utløst utløst = 0 def night_sight (): mens (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global utløst hvis (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) sover (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) prøv: night_sight () unntatt KeyboardInterrupt: GPIO.cleanup ()

Voila! Og indikatoren er klar til å rulle.

Praktisk tips: Før du monterer RPi og andre komponenter i syklusen, må du teste dette programmet ordentlig! Kjør det noen ganger for å feilsøke eventuelle feil.

Trinn 7: Maling og montering

Maling og montering
Maling og montering
Maling og montering
Maling og montering
Maling og montering
Maling og montering

Nødvendig materiale:

  • Verktøy for kutting/ stripping av ledninger
  • En stor oppbevaringsboks som passer i Raspberry Pi
  • En liten oppbevaringsboks som passer til indikatorpanelet
  • Maling
  • Pensler

Start med å male indikatorpanelet og pekeplaten med svart farge. Jeg brukte akrylmaling her, du kan bruke dem etter eget valg som passer godt sammen med perfbrettet. Bruk en svart bakgrunn for å gjøre LED -panelet levende og mer skiller seg ut. Lag hullene med en oppvarmet skrutrekker eller bruk en metallgjenstand for å smelte plasten.

Merk: Vær forsiktig når du lager hull.

Tidslinje: Paint

Praktisk tips: Jeg brukte plastkasser og malingen kommer lett av. Pass på at du bruker maling av god kvalitet

Når indikatoren og panelene er malt, tørker du dem ut i solen og gjør deg klar til montering.

Jeg har kuttet ekstra kanter på perf -brettet i indikatorpanelet og frontpanelet for å spare plass.

Sjekk videoen for montering!

Tidslinje: Avengers! Montere. (Montering av indikatorpanelet og RPi med bokser)

Som sett i videoen, sett ledningene deretter ved å lage tre hull i den større boksen. En for RPi power bank wire, en for touchpad panelene og en for indikator panelet. Bare ett hull er nødvendig for den mindre boksen.

Praktisk tips: Kontroller om ledningene er isolerte og sjekk om ledningene er loddet ordentlig før du kobler dem til esken.

Trinn 8: Fjerntesting med VNC og sluttkode

Ekstern testing med VNC og endelig kode
Ekstern testing med VNC og endelig kode
Ekstern testing med VNC og endelig kode
Ekstern testing med VNC og endelig kode

En siste test før indikatoren er helt klar. Koble RPi -en til VNC Viewer og kjør programmet.

Jeg bruker alltid en VNC -server til å kjøre programmet og feilsøke eventuelle feil i programmet. På denne måten kan jeg plassere RPi direkte til stedet der jeg vil teste uten å koble skjermen eksternt.

Sjekk denne siden for å koble RPi -en til VNC -serveren. (VNC -server)

Når du har koblet RPi til VNC Server. Du kan kjøre koden på det virtuelle skrivebordet og feilsøke feilene.

Tidslinje: Kjør ved oppstart

Praktisk tips: Når du har koblet din Raspberry Pi til det virtuelle skrivebordet, logger du på med IP -adressen til RPi. Men hvis du får en feilmelding om at RPi nektet tilkoblingen, er det på grunn av endringen i IP -adressen i RPI. Dette kan skje når du starter ruteren på nytt eller et WiFi -hotspot og deretter prøver å logge inn med den gamle adressen. Ruteren tildeler en ny IP hver gang du starter den på nytt. Men hvis du husker den gamle IP -adressen til RPi, øker du bare det siste sifferet med 1 og logger inn. Eksempel: Hvis den gamle IP -adressen er 190.148.1.100, logger du på med 190.148.1.101

Når du har sjekket om alt fungerer som det skal, er det på tide med den siste monteringen.

Vi kan ikke alltid ha et virtuelt skrivebord for å overvåke eller kjøre python -skriptet. Så la oss gjøre det ved oppstart.

Vi vil at programmet skal kjøre når RPi starter opp. Sjekk dette nettstedet for mer informasjon om dette!

Hvis RPi-en er på automatisk innlogging, fortsett deretter;

Kjør følgende kommandoer i terminalen til RPi

sudo nano /etc /profile

Rull til bunnen og legg til følgende linje:

sudo python file_path &

File_path refererer her til banen til python -filen der den endelige koden er lagret.

Merk: Ampersand (&) på slutten av filen bør legges til slik at programmet ditt kjører parallelt med systemstart. Fordi programmet vårt inneholder en endeløs sløyfe, er dette trinnet obligatorisk, slik at selv om programmet ikke kjører som forventet, kan vi fortsatt bruke RPi -skrivebordet til å endre innstillingene.

Etter dette trykker du CTRL-X og deretter YTrykk Enter to ganger, og du kommer tilbake til kommandoterminalen.

Start Pi på nytt

Nå skal koden kjøre ved oppstart

Trinn 9: Kabelhåndtering og sluttmontering

Kabelhåndtering og sluttmontering
Kabelhåndtering og sluttmontering
Kabelhåndtering og sluttmontering
Kabelhåndtering og sluttmontering
Kabelhåndtering og sluttmontering
Kabelhåndtering og sluttmontering

Gratulerer! på å fullføre dette prosjektet. Jeg ga det ordet Minimal som du har sett, vi har brukt færre lysdioder for å vise alle nødvendige indikasjoner og også med tilpassede farger. Bruk gjerne forskjellige farger på lysdiodene dine, for eksempel gul til blinklysene eller andre.

Hvis du har gjort dette prosjektet, klikker du på "I made It" og deler din erfaring. Del dine tanker og forslag eller kommentarer til dette prosjektet. Det vil jeg gjerne høre!

Kabelhåndtering

Ja! Som du kanskje har lagt merke til er det så mange ledninger som går inn og rundt syklusene, og det er hektisk å administrere dem. Jeg brukte kabelmerker, isolasjonstape og kabelhus for å skjule ledningene og malte dem også svarte som du har sett bildet.

Praktisk tips: Fordi du har forlatt ekstra centimeter fra kablene dine enn nødvendig, er det nyttig nå å håndtere dem riktig uten å stresse dem! Hvis en av lysdiodene dine lyser og andre ikke selv om du har gjort alt riktig, er problemet Jumper Wires koblet til RPi, vil det være en løs kontakt. Hvis dette vedvarer, bruk en mannlig til kvinnelig startkabel for å forlenge ledningen og koble dem til. Bruk kabelbånd for å holde ledningene på plass slik at de ikke beveger seg.

Nå er indikatoren klar for en tur! Nyt det

PS: I en ytterligere instruks vil jeg virkelig elske å redusere antall ledninger i kretsen og komme med en bedre plan. Hvis jeg gjør det, vil jeg dele en instruks om det!

Trinn 10: Noen bilder av indikatoren

Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren
Noen bilder av indikatoren

Takk for at du leser denne Instructable. Jeg håper du likte den like mye som jeg gjorde den

Tidslinje: siste test I segmentet ovenfor kan du se at så snart rommet blir mørkere, slås "Night Sight" på, og etter hvert som det blir lysere, slås det av umiddelbart!

Tidslinje: Klar til å rulle Noen videoer jeg har tatt for å vise indikatoren i rampelyset. Alle kreditter til søstrenes sykling for videoen!

Anbefalt: