Indholdsfortegnelse:

Minimalistisk cykelindikator, berøringsaktiveret !: 10 trin (med billeder)
Minimalistisk cykelindikator, berøringsaktiveret !: 10 trin (med billeder)

Video: Minimalistisk cykelindikator, berøringsaktiveret !: 10 trin (med billeder)

Video: Minimalistisk cykelindikator, berøringsaktiveret !: 10 trin (med billeder)
Video: Physical Therapy Strategies for People with Dysautonomia 2024, November
Anonim
Image
Image

Hej! Dette er min første instruerbare. Jeg har altid ønsket at lave ting fra bunden bare for at se, hvordan det fungerer, og hvem kan ikke lide DIY (gør det selv) ting, når du kan ændre noget efter dine behov, ikke? Så interessant som en DIY kan lyde, det kræver lidt indsats at få det til at ske. At kigge på Instructables -webstedet er en god måde at starte dine DIY -ambitioner på, og det var sådan, jeg begyndte at bygge nogle af mine projekter tidligere, men jeg havde aldrig troet, at jeg ville lave et.

Lige som muligheden er kommet min vej, har jeg lavet en Cykelindikator med et minimalistisk design og berøringsaktiveret. Jeg ved, at der er mange instruktioner eller online kilder til en cykelindikator, men de fleste af dem tog enten mere plads eller var ikke kloge nok til at ændre dem på en bestemt måde. Hvis du leder efter en indikator, der er smart nok til at opfylde dine behov og giver dig en chance for at ændre dem efter dine behov, så er denne Instructable noget for dig!

Hvorfor cykelindikator?

Jeg elsker at cykle rundt i byen! Jeg tager min cyklus og tager bare en tur enten om morgenen eller om aftenen. Nogle gange, om natten, er det svært at ride, da trafikken bag dig ikke vil kunne lægge mærke til dig, og det er et farligt tegn. Derfor ville jeg selv bygge en indikator med alle de materialer, jeg havde med mig derhjemme, og det ser også godt ud på cyklen, mens du kører i byen og tænder indikatorerne!

At lave et projekt uden at skulle stå over for problemer, sker ikke! Men jeg vil fortælle dig alle de fejl, jeg lavede, mens jeg byggede dette, som et "praktisk tip", så du ikke prøver at lave dem. YouTube -videoen indeholder en illustration af, hvordan projektet er bygget, små animationer til at formidle, hvordan tingene fungerer, og hvordan indikatoren ser ud på vejen! De mest detaljerede oplysninger er givet i denne instruktionsbog. Når du fortsætter, vil jeg mærke segmenterne i min youtube -video som "Tidslinje:" ved hvert trin, så du kan se på, hvordan tingene fungerer praktisk. Du kan få flere oplysninger ved at klikke på de angivne links.

Funktioner ved dette projekt:

  • Højre drej indikation
  • Venstre drej indikation
  • Nattesyn indikation
  • Berøringsaktiveret

Trin 1: Materialer til at komme i gang

Test af komponenter
Test af komponenter
  • Modstande (330 ohm og 120 ohm): 330 ohm og 120 ohm
  • Raspberry Pi 3: RPi 3
  • Brødbræt: Brødbræt
  • Jumper Wires (Male-Male, Male-Female, Female-Female): Jumper Wires
  • Multi-Strand Wires: Multi-Strand Wire
  • Kapacitiv berøringssensor (TTP223) - (2): Link
  • RGB LED'er (almindelig katodetype) - (13): RGB LED fælles katode
  • Normale lysdioder - (2): LED
  • Loddematerialer: Loddesæt
  • Perf Boards: Perf Board
  • Powerbank: Powerbank
  • 1 mikro Farad elektrolytkondensator: Elektrolytisk kondensator
  • LDR (lysafhængig modstand): LDR
  • Kabelbindere: Kabelbindere
  • Cable Concealer: Cable Concealer
  • Akrylmaling og pensler (valgfrit): Maling og pensler
  • To opbevaringsbokse til montering. (1 stor og 1 mellemstor)

Opbevar altid ekstra mængde med hensyn til det, der er nævnt ovenfor. Jeg har knyttet komponenterne på Amazon og nogle bedste købssæt til loddematerialer!

Tidslinje: Saml materialer

Trin 2: Test af komponenter

Test af komponenter
Test af komponenter
Test af komponenter
Test af komponenter
Test af komponenter
Test af komponenter

Lad os teste dine komponenter! Dette er virkelig nyttigt at adskille de komponenter, der er beskadigede eller virker underlige af en eller anden grund, og også denne fase lader dig få den første praktiske oplevelse med komponenterne og lære lidt, før du går i gang med at bygge hele projektet.

Test for typen RGB LED

Der findes to typer RGB -lysdioder, vi finder på markedet. Den almindelige katodetype og den almindelige anodetype.

Dette er et praktisk tip (selvom det er større), fordi jeg tilsluttede lysdioderne som set fra denne video her, og lysdioden tændte ikke som forventet, selv efter at jeg havde krydskontrolleret kredsløbet flere gange. Så indså jeg, at der er to typer af denne LED og gennem databladet fik jeg endelig en løsning! Problemet med mit kredsløb var, at den fælles katodestift var forbundet til 3,3V som nævnt, og jeg havde holdt ved GPIO -ben til HIGH, så både den fælles katodestift og de andre 3 stifter havde samme potentiale.

Løsning: Jeg tilsluttede den fælles katodestift til jorden, og LED'en tændte! Grunden til, at jeg ikke ændrede min kode for at holde GPIO -benene LAVE, fordi vi senere vil bruge flere lysdioder, og RPi giver os kun to ben på 3,3 V, som vi også har brug for til andre formål!

Hvordan testes for typen?

Hold multimeteret i kontinuitetstilstand. Tryk på den længste ledning med den røde spids på multimeteret og med den sorte spids, tryk på en af de andre elektroder. Hvis LED'en lyser ved at udføre ovenstående trin, er det en Common Anode RGB LED. Hvis den ikke gør det, skal multimeterspidsen vendes nu. Tryk på den længste ledning med en sort spids og rød spids med andre ledninger. Nu lyser det, og viser, at LED'en er en Common Cathode RGB LED.

Praktisk tip: Jeg har brugt den almindelige katodetype i dette projekt. Prøv kun at få disse typer, men selvom den anden type er tilgængelig, skal du ikke bekymre dig. Kredsløbsforbindelserne forbliver de samme, den eneste forskel skal gøres i koden, som jeg vil give som en kommentar ved siden af den faktiske kodelinje, hvor du skal ændre. Tage et åndedrag.

Tidslinje: Test RGB

Reference: Sådan testes RGB

RGB LED lyser

For at gøre dette skal du tjekke tilslutningsdiagrammet på billederne ovenfor og forbinde i henhold til stifterne gennem et brødbræt (for at holde det sikkert at starte med).

RØD: Pin 11 (330-ohm modstand)

GRØN: Pin 13 (120-ohm modstand)

BLÅ: Pin 15 (120-ohm modstand)

Modstandsværdierne varierer på grund af de forskellige fremspændinger af ledningerne.

Når du har forbundet dem korrekt, skal du kode RPi'en i dens indbyggede python IDE.

importer RPi. GPIO som GPIO

#Pin -numrene svarer til det nøjagtige nummer på RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Connect Common cathode pin to 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 almindelig 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) try: while True: cmd = input ("Skriv din kommando:") hvis cmd == "rød på ": #type inputkommandoer som nævnt nøjagtigt inde" "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") undtagen KeyboardInterrupt: GPIO.cleanup ()

Jeg henviste til denne Instructable, tjek dette for en detaljeret beskrivelse og koden!

Ved at bruge den samme kode ovenfor kan du kontrollere, om der er flere lysdioder sammen ved at forbinde dem parallelt på brødbrættet og tage det enkelte punkt ud af en af stifterne, der er forbundet sammen. Brug forskellige modstandsværdier for hver pin til at kontrollere lysstyrken på dine lysdioder

Praktisk tip: Sørg for at tilslutte den samme pin-type parallel. Det vil sige, at den røde pin på den ene LED kun er forbundet med den røde pin på den anden LED.

Tidslinje: Få dem til at lyse!

TouchPad -test

Kredsløbstilslutningen er som vist her (tidslinje). Tilslut dem som vist, og test dine touchpads ved hjælp af følgende kode.

Kode:

importer RPi. GPIO som GPIO

fra tid importere 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 både ovenstående udsagn 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") undtagen KeyboardInterrupt: GPIO.cleanup () #CTRL-C for at afslutte

Test af en LED

Se denne fantastiske instruerbare til test af din LED!

Når du har testet alle ovenstående komponenter, er du klar til at bygge den større version af den.

Trin 3: Lodning af indikatorpanelet

Lodning af indikatorpanelet
Lodning af indikatorpanelet
Lodning af indikatorpanelet
Lodning af indikatorpanelet
Lodning af indikatorpanelet
Lodning af indikatorpanelet

Hvis du er ny inden for lodning, så tjek denne vejledning for at lære nogle grundlæggende oplysninger om det her (Sådan loddes). Hvis du er en professionel til lodning, lad os komme i gang!

Indikatorpanelet

Du kan finde illustrationen af, hvordan du lodder dem på perfbrættet i billederne ovenfor.

Vi bruger 13 RGB LED'er til panelet. Opdel dem i tre sektioner: venstre, højre og center for lodning i overensstemmelse hermed.

Vigtigt: Afstand mellem lysdioderne

Jeg har efterladt 3 rækker mellem lysdioderne. Som vist på det andet billede. Dette er vigtigt for LED -panelet for at se ud og føles godt. Vi ønsker ikke, at lysdioderne for langt skal øge rummet eller for tæt på for ikke at kunne skelne lyset fra langt væk.

Praktisk tip: Start med at lodde alle de almindelige katodestifter først

Praktisk tip: Brug flerstrengede ledninger til at forbinde lysdioderne sammen, da de er mindre robuste og lette at bøje. Du kan bruge de ekstra cut-off pins fra lysdioderne til at forbinde de kortere afstande

Højre sektion: (5 lysdioder)

  • Tilslut alle de røde stifter sammen
  • Tilslut alle de grønne pins sammen
  • Tilslut alle de almindelige katodestifter sammen

Venstre sektion: (5 lysdioder)

  • Tilslut alle de røde stifter sammen
  • Tilslut alle de grønne stifter sammen
  • Tilslut alle de almindelige katodestifter sammen

Centersektion: (3 lysdioder)

Praktisk tip: Dette afsnit kræver tilstrækkelig forsigtighed. Lod ikke alle stifterne sammen, som vi gjorde i de ovenstående to sektioner!

  • Tilslut alle de røde stifter sammen
  • Tilslut kun de øverste og nederste LED'er, grøn pin.
  • Tilslut alle de almindelige katodestifter sammen

Ledninger

Vi har brug for længere ledninger for at slutte panelet til GPIO -kortet.

Praktisk tip:

  • Brug enkeltstrengede ledninger! De er robuste nok til at modstå mekaniske belastninger påført den!
  • Hold ledningerne lidt længere end den faktiske længde, der er nødvendig mellem panelet og RPi (dette er meget praktisk, når du håndterer ledningerne senere! (Tidslinje: Målinger)
  • Isoler efter lodning! Meget vigtigt

Brug en jumper wire og en enkelt tråd til lodning. Jumpertrådens ene ende skal være en hunstik. Lod dem som vist her (tidslinje)

Farvekod ledningerne som rød, grøn og sort. som svarer til henholdsvis rød pin, grøn pin og Common katode pin.

Vi har brug for 3 sorte ledninger, 3 røde ledninger og 3 grønne ledninger.

Når ledningerne er klar. Lod lodningerne til indikatorlysdioderne.

Praktiske tips:

  • Sørg for, at lysdioderne er loddet i henhold til de angivne forbindelser.
  • Sørg for, at du har loddet de korrekte modstandsværdier på plads. Hvis værdierne ændres, vil det påvirke lysdiodernes lysstyrke
  • En måde at sikre, at alle dine lysdioder fungerer, er ved at bruge multimetermåleren i trin 2. Dette er meget praktisk, da du ved, hvis der er kortslutning, lysdioderne ikke lyser.
  • Fjern ikke enderne af ledningerne længere end nødvendigt. Dette vil være svært at holde dem på plads og også en højere risiko for kortslutning.
  • Brug multistrengskabel til forbindelse mellem lysdioder.
  • Brug enstrenget ledning til at forbinde sektionerne med RPi.

Trin 4: Sæt indikatorpanelet til test

Sæt indikatorpanelet til test
Sæt indikatorpanelet til test
Sæt indikatorpanelet til test
Sæt indikatorpanelet til test
Sæt indikatorpanelet til test
Sæt indikatorpanelet til test

Kudos! Hvis du har loddet panelet korrekt. Lad os fortsætte med at kode indikatoren nu!

Som tidligere nævnt vil vi angive en højresving, venstresving og tænde/slukke for nattesynet.

Se forbindelsen til kredsløbet i trin 3.

Tilslut panelets ledninger som nævnt nedenfor:

  • Rød Højre - Pin 7
  • Grøn højre - Pin 11
  • Fælles katode til højre - Pin 6 (GND)
  • Rød venstre - Pin 13
  • Grøn til venstre - Pin 15
  • Fælles katode venstre - ben 9 (GND)
  • Center rød - Pin 16
  • Centergrøn (øverst og nederst) - Pin 18
  • Center fælles katode - Pin 14 (GND)

Testkode:

importer RPi. GPIO som GPIO

fra tid importer søvn #Forbind i henhold til nedenstående pin -numre 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 ("Drej til højre") blink (Green_right, Green_top_bottom, 0) def left_turn (): print ("Drej til venstre") 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) sleep (0,5) andet: 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: ") hvis cmd ==" højresving ": højre_turn () elif cmd ==" venstresving ": venstre_turn () elif cmd ==" nattesyn ": night_sight () else: print (" Ugyldig kommando ") undtagen Ke yboardInterrupt: GPIO.cleanup ()

Hvis dit panel rydder alle testfaserne som i koden, Well Done! Gør dig klar til det næste trin

Hvis panelet ikke lyser, skal du sørge for at have fulgt alle trin korrekt og kigget de praktiske tips igennem før. Hvis problemet stadig vedvarer, kan du kommentere herunder, jeg er klar til at hjælpe.

Tidslinje: Test ONE (Se videoen for den fungerende prototype)

Trin 5: Integrering af indikatorpanelet med pegefeltet

Integrering af indikatorpanelet med pegefeltet
Integrering af indikatorpanelet med pegefeltet
Integrering af indikatorpanelet med pegefeltet
Integrering af indikatorpanelet med pegefeltet
Integrering af indikatorpanelet med pegefeltet
Integrering af indikatorpanelet med pegefeltet

Tilslutter den til RPi

Forbind forbindelserne som vist på billedet ovenfor.

Højre panel

Touchpad:

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

LED:

Anode (+) pin - Pin 33

Venstre panel

Touchpad:

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

LED:

Anode (+) pin - Pin 35

Fælles GND: Pin 39 (For begge katoder af LED'erne) - Common Ground Lodning (Tidslinje)

Testkode:

importer RPi. GPIO som GPIO

fra tid importer søvn 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øjre_led, GPIO. HØJ) global udløst udløst = 1 print ("Drej til højre") blink (Grøn_højre, Grøn_top_bod) def venstre_turn (kanal): GPIO.output (venstre_led, GPIO. HØJ) global udløst udløst = 1 udskrift ("Drejning Venstre ") blink (Grøn_ venstre, Grøn_top_ nederst) GPIO.add_event_detect (højre_touch, GPIO. FALLING, callback = højre_turn, bouncetime = 500) GPIO.add_event_detect (venstre_touch, GPIO. FALLING, tilbagekald = 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 ([højre_led, venstre_led], GPIO. LOW) global udløst udløst = 0 def night_sight (): mens (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global udlø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 () undtagen KeyboardInterrupt: GPIO.cleanup ()

Rør ved berøringspladen for at se dit lys skinne

Tidslinje (uden indikation LED): Test to

Tidslinje (med indikations -LED): Test 3

Kodeforklaring: Vi ønsker, at nattesynet kører kontinuerligt, og når vi rører ved berøringspladen, skal det stoppe og udføre touchpadens funktion. For at gøre dette samtidigt bruger vi noget kendt som "Afbrydelser" i python. Dette giver os mulighed for at køre vores normale kode, som er nattesynet her, og det udløser også en hændelse, når et tryk opdages. Vi bruger udløst variabel som et flag til at stoppe nattesynet.

For mere information om afbrydelser, tjek dette link.

Lodde panelet

Lad os nu lodde touchpad -panelerne, der går til cykelens styr. Se forbindelserne som angivet på billedet ovenfor.

Nu hvor du har testet din LED og touchpad, er du klar til at gå. Hvis du ikke allerede har testet, skal du se dette trin og de foregående trin.

Placer berøringspladen tæt på styret som vist i videoen. Det vil sige, at den højre touchpad er touchpad'en til højre og venstre til venstre. Tilsvarende for venstre touchpad er LED'en til højre og touchpad'en til venstre, hvilket gør det lettere for tommelfingeren at nå.

PS: Jeg har ikke loddet touchpad'en til perf boardet, fordi jeg skulle genbruge det igen. Derfor lagde jeg det bare på panelet med dobbeltsidet tape.

Tilslut panelet til RPi ved hjælp af længere ledninger

Trin 6: Gør det smart

Gør det smart!
Gør det smart!
Gør det smart!
Gør det smart!
Gør det smart!
Gør det smart!

Ja! Nu hvor vi har alle vores væsentlige elementer i indikatoren i gang. Lad os tage det et skridt videre for at gøre det smart.

Her definerer smart også at spare op på batteriet. Som du måske har bemærket, er nattesynet altid tændt, og nogle gange er det måske ikke nødvendigt på en solrig dag. For at overvinde dette problem lader vi integrere en LDR (Light Dependent Resistor) for at give os data om lysintensitet, som vi kan indsamle og behandle vores indikator i overensstemmelse hermed.

Test af LDR

Jeg henviste til dette websted for at teste LDR for at kontrollere lysintensiteten, og hvilken værdi den returnerer.

Se det websted, der er mærket ovenfor, for kredsløbet og prøvekoden til driften af LDR.

Integration af LDR til vores kode

Lod LDR'en til højre panel på touchpad'en som vist i tilslutningsdiagrammet ovenfor.

Efter lodning af stifterne på det rigtige sted er det tid til den sidste bit af kodningen. Den sidste kode!

  • Tilslut det fælles punkt for kondensatorens katode (-) og LDR til pin 36 på RPi
  • Kondensatorens anode er forbundet til det Common Ground -punkt, der henvises til i trin 5

Endelig kode:

importer RPi. GPIO som GPIO

fra tid import søvn 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 (venstre_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (kanal): GPIO.output (højre_led, GPIO. HIGH) global udløst udløst = 1 print ("Drej til højre") blink (Grøn_højre, Grøn_top_bod) def venstre_turn (kanal): GPIO.output (venstre_led, GPIO. HØJ) global udløst udløst = 1 udskrift ("Drej til venstre") blinker (Grøn_ venstre, Grøn_top_ nederst) GPIO.add_event_detect (højre_touch, GPIO. FALLING, tilbagekald = højre_turn, bouncetime = 500) GPIO.add_event_detect (venstre_touch, GPIO. FALLING, tilbagekald = venstre_turn, lysstart_500) def. (ldr): count = 0 #Output på stiften til GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) sleep (0,1) #Chang e stiften tilbage til input GPIO.setup (ldr, GPIO. IN) #Tæll, indtil stiften går højt, mens (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def blinker (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) for x inden for område (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2)], GPIO. LOW) søvn (0,5) GPIO.output ([højre_led, venstre_led], GPIO. LOW) global udløst udløst = 0 def night_sight (): mens (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global udløst hvis (light_sensing (ldr)> 7800): if (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) prøv: night_sight () undtagen KeyboardInterrupt: GPIO.cleanup ()

Voila! Og indikatoren er klar til at rulle.

Praktisk tip: Inden du samler RPi og andre komponenter til cyklussen, skal du sørge for at teste dette program korrekt! Kør det et par gange for at fejlsøge eventuelle fejl.

Trin 7: Maling og samling

Maling og montage
Maling og montage
Maling og montage
Maling og montage
Maling og montage
Maling og montage

Nødvendige materialer:

  • Wire Cutting/ Stripping Tools
  • En stor opbevaringsboks, der passer til Raspberry Pi
  • En lille opbevaringsboks, der passer til indikatorpanelet
  • Maling
  • Pensler

Start med at male indikatorpanelet og touchpad -panelerne med sort farve. Jeg brugte akrylmaling her, du kan bruge dem efter eget valg, som passer godt til perfbrættet. Brug en sort baggrund for at gøre LED -panelet levende og mere skiller sig ud. Lav hullerne ved hjælp af en opvarmet skruetrækker eller brug en metalgenstand til at smelte plasten.

Bemærk: Vær forsigtig, når du laver huller.

Tidslinje: Maling

Praktisk tip: Jeg brugte plastkasser, og malingen kommer let af. Sørg for at bruge malinger af god kvalitet

Når indikatoren og panelerne er malet, tørrer du dem ud i solen og gør dig klar til montering.

Jeg har skåret ekstra kanter af perf -kortet i indikatorpanelet og frontpanelet for at spare plads.

Tjek videoen for montering!

Tidslinje: Avengers! Samle. (Montering af indikatorpanelet og RPi med kasser)

Som det ses i videoen, placeres ledningerne i overensstemmelse hermed ved at lave tre huller i den større boks. En til RPi power bank wire, en til touchpad panelerne og en til indikator panelet. Der kræves kun et hul til den mindre kasse.

Praktisk tip: Kontroller, om ledningerne er isoleret, og kontroller, om ledningerne er loddet korrekt, før du tilslutter dem i æsken.

Trin 8: Fjerntest med VNC og slutkode

Fjerntest med VNC og slutkode
Fjerntest med VNC og slutkode
Fjerntest med VNC og slutkode
Fjerntest med VNC og slutkode

En sidste test, før indikatoren er helt klar. Tilslut din RPi til VNC Viewer og kør programmet.

Jeg bruger altid en VNC -server til at køre programmet og fejlsøge eventuelle fejl i programmet. På denne måde kan jeg placere RPi direkte til det sted, hvor jeg vil teste uden at tilslutte skærmen eksternt.

Tjek denne side for at forbinde din RPi til VNC -serveren. (VNC -server)

Når du har tilsluttet RPi til VNC Server. Du kan køre koden på det virtuelle skrivebord og fejlsøge fejlene.

Tidslinje: Kør ved opstart

Praktisk tip: Når du har tilsluttet din Raspberry Pi til det virtuelle skrivebord, logger du ind med RPi'ens IP -adresse. Men hvis du får en fejl om, at RPi nægtede forbindelsen, er det på grund af ændringen af IP -adressen i RPI. Dette kan ske, når du genstarter din router eller et WiFi -hotspot og derefter prøver at logge ind med den gamle adresse. Routeren tildeler en ny IP hver gang du genstarter den. Men hvis du husker RPi's gamle IP -adresse, skal du blot øge det sidste ciffer med 1 og logge ind. Eksempel: Hvis den gamle IP -adresse er 190.148.1.100, skal du logge ind med 190.148.1.101

Når du har kontrolleret, om det hele fungerer korrekt, er det tid til den sidste samling.

Vi kan altid ikke have et virtuelt skrivebord til at overvåge eller køre python -scriptet. Så lad os gøre det ved opstart.

Vi vil have vores program til at køre, når RPi'en starter op. Tjek dette websted for flere detaljer om dette!

Hvis din RPi er på automatisk loginopsætning, skal du fortsætte;

Kør følgende kommandoer i terminalen på RPi

sudo nano /etc /profile

Rul til bunden, og tilføj følgende linje:

sudo python file_path &

File_path refererer her til stien til python -filen, hvor din endelige kode er gemt.

Bemærk: Ampersand (&) i slutningen af filen skal tilføjes, så dit program kører parallelt med systemstart. Fordi vores program indeholder en endeløs sløjfe, er dette trin obligatorisk, så selvom programmet ikke kører som forventet, kan vi stadig bruge RPi -skrivebordet til at ændre indstillingerne.

Efter dette skal du trykke på CTRL-X og derefter YTryk på Enter to gange, og du vil være tilbage til kommandoterminalen.

Genstart Pi

Nu skulle koden køre ved opstart

Trin 9: Kabelstyring og endelig samling

Kabelhåndtering og endelig samling
Kabelhåndtering og endelig samling
Kabelhåndtering og endelig samling
Kabelhåndtering og endelig samling
Kabelhåndtering og endelig samling
Kabelhåndtering og endelig samling

Tillykke! på at afslutte dette projekt. Jeg gav det ordet Minimal, som du har set, vi har brugt færre lysdioder til at vise alle nødvendige indikationer og også med tilpassede farver. Brug gerne forskellige farver til dine lysdioder såsom gul til blinklysene eller andre.

Hvis du har gennemført dette projekt, skal du klikke på "I made It" og dele din oplevelse. Del ikke dine tanker og også forslag eller kommentarer til dette projekt. Det ville jeg elske at høre!

Kabelstyring

Ja! Som du måske har bemærket, går der så mange ledninger i og omkring cyklusserne, og det er hektisk at styre dem. Jeg brugte kabelmærker, isoleringsbånd og kabelhus til at skjule ledningerne og malede dem også sorte, som du har set billedet.

Praktisk tip: Fordi du har efterladt ekstra centimeter fra dine kabler end nødvendigt, er det nyttigt nu at styre dem korrekt uden at understrege dem! Hvis en af dine LED'er lyser, og andre ikke selvom du har gjort alt rigtigt, er problemet Jumper Wires forbundet til RPi, vil der være en løs kontakt. Hvis dette fortsætter, skal du bruge en han -til -hun -jumpertråd til at forlænge tråden og forbinde dem. Brug kabelbindere til at holde ledningerne på plads, så de ikke bevæger sig.

Nu er indikatoren klar til en tur! Nyd det

PS: I en yderligere instruks ville jeg virkelig elske at reducere antallet af ledninger i kredsløbet og komme med en bedre plan. Hvis jeg gør det, vil jeg dele en instruks om det!

Trin 10: Nogle billeder af indikatoren

Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren
Nogle billeder af indikatoren

Tak fordi du læste denne Instructable. Jeg håber du nød det lige så meget som jeg gjorde det

Tidslinje: sidste test I ovenstående segment kan du se, at så snart rummet bliver mørkere, tænder "Night Sight", og når det bliver lysere, slukker det med det samme!

Tidslinje: Klar til at rulle Nogle videoer har jeg taget for at vise indikatoren i rampelyset. Alle kreditter til mine søsters cykling til videoen!

Anbefalede: