INHOUDSOPGAWE:
- Stap 1: materiaal om aan die gang te kom
- Stap 2: Toets komponente
- Stap 3: soldeer die aanwyserpaneel
- Stap 4: Toets die aanwyserpaneel
- Stap 5: Integrasie van die aanwyserpaneel met die raakvlak
- Stap 6: Maak dit slim
- Stap 7: Verf en montering
- Stap 8: toets op afstand met VNC en finale kode
- Stap 9: Kabelbestuur en finale vergadering
- Stap 10: 'n Paar foto's van die aanwyser
Video: Minimalistiese fietsaanwyser, met aanraakfunksie!: 10 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Haai daar! Dit is my eerste Instructable. Ek wou altyd dinge van nuuts af maak net om te sien hoe dit werk en wie hou nie van DIY (doen dit self) dinge as jy iets volgens jou behoeftes kan aanpas nie? Net so interessant soos 'n selfdoener mag klink, dit verg 'n bietjie moeite om dit te laat gebeur. Deur die Instructables -webwerf te kyk, is 'n goeie manier om met jou DIY -aspirasies te begin, en ek het vroeër begin om 'n paar van my projekte te bou, maar ek het nooit gedink dat ek dit sou doen nie.
Net soos die geleentheid oor my gekom het, het ek 'n fietsindikator gemaak met 'n minimalistiese ontwerp en aanraakfunksie. Ek weet daar is baie instruksies of aanlynbronne vir 'n fietsaanwyser, maar die meeste van hulle het meer ruimte ingeneem of was nie slim genoeg om dit op 'n spesifieke manier aan te pas nie. As u op soek is na 'n aanwyser wat slim genoeg is om aan u behoeftes te voldoen en u die kans gee om dit volgens u behoeftes aan te pas, dan is hierdie instruksie vir u!
Waarom fietsaanwyser?
Ek hou van fietsry deur die stad! Ek neem my fiets en ry soggens of saans. Soms is dit in die nag moeilik om te ry, aangesien die verkeer agter u u nie sal kan sien nie, en dit is 'n gevaarlike teken. Daarom wou ek self 'n aanwyser bou met al die materiaal wat ek by die huis gehad het, en dit lyk ook goed op die fiets terwyl u in die stad ry, en die aanwysers aanskakel!
Dit is nie moontlik om 'n projek te maak sonder probleme nie! Maar ek sal al die foute wat ek tydens die bou hiervan gemaak het, as 'n 'handige wenk' vir u vertel, sodat u dit nie probeer maak nie. Die YouTube -video bevat 'n illustrasie van hoe die projek gebou is, klein animasies om te vertel hoe dinge werk en hoe die aanwyser op die pad lyk! Die mees uitgebreide inligting word in hierdie instruksie gegee. As u verder gaan, sal ek die segmente van my youtube -video by elke stap as 'Tydlyn:' merk, sodat u kan kyk hoe dinge prakties werk. U kan meer inligting kry deur op die gemerkte skakels te klik.
Kenmerke van hierdie projek:
- Aanduiding regs draai
- Links draai draai
- Aand aanduiding
- Aanraak-aangeskakel
Stap 1: materiaal om aan die gang te kom
- Weerstand (330 ohm en 120 ohm): 330 ohm en 120 ohm
- Framboos Pi 3: RPi 3
- Breadboard: Breadboard
- Jumper Wires (Man-Male, Male-Female, Female-Female): Jumper Wires
- Multi-Strand-drade: Multi-Strand-drade
- Kapasitiewe aanraaksensor (TTP223) - (2): skakel
- RGB -LED's (Algemene katodetipe) - (13): RGB LED -algemene katode
- Normale LED's - (2): LED
- Soldeermateriaal: soldeerkit
- Perf Boards: Perf Board
- Powerbank: Powerbank
- 1 mikro Farad elektrolitiese kondensator: elektrolitiese kondensator
- LDR (ligafhanklike weerstand): LDR
- Kabelbinders: Kabelbinders
- Cable Concealer: Cable Concealer
- Akrielverf en kwaste (opsioneel): Verf en borsels
- Twee opbergkaste vir montering. (1 groot en 1 mediumgrootte)
Hou altyd ekstra hoeveelhede by wat hierbo genoem word. Ek het die komponente op Amazon en 'n paar goedkoop kit vir soldeermateriaal gekoppel!
Tydlyn: versamel materiaal
Stap 2: Toets komponente
Laat ons u komponente op die proef stel! Dit is baie handig om die komponente wat om een of ander rede beskadig is of vreemd optree, te skei, en in hierdie fase kan u die eerste hands-on ervaring met die komponente kry en 'n bietjie leer voordat u met die hele projek begin.
Toets vir die tipe RGB LED
Daar is twee soorte RGB -LED's wat ons op die mark vind. Die algemene katode tipe en die algemene anode tipe.
Dit is 'n handige wenk (alhoewel groter) omdat ek die LED's soos hier in hierdie video gesien het, verbind het, en die LED het nie soos verwag aangesteek nie, selfs nadat ek die kring verskeie kere nagegaan het. Toe besef ek dat daar twee tipes van hierdie LED is en deur die datablad te gaan, het ek uiteindelik 'n oplossing gekry! Die probleem met my stroombaan was dat die gewone katodepen soos genoem aan 3,3V gekoppel is, en ek het deur GPIO -pen op HOOG gehou, sodat beide die gewone katodepen en die ander 3 penne dieselfde potensiaal gehad het.
Oplossing: Ek het die gewone katodepen op die grond gekoppel en die LED brand! Die rede waarom ek nie my kode verander het om die GPIO -penne LAAG te hou nie, want ons sal later meer LED's gebruik en die RPi gee ons net twee penne van 3,3 V, wat ons ook vir ander doeleindes nodig het!
Hoe om die tipe te toets?
Hou die multimeter in kontinuïteitsmodus. Tik op die langste snoer met die rooi punt van die multimeter en met die swart punt, tik op een van die ander leidrade. As die LED brand deur die bogenoemde stap uit te voer, is dit 'n Common Anode RGB LED. As dit nie die geval is nie, draai nou die multimeterpunt om. Tik op die langste lood met 'n swart punt en rooi punt met enige ander lood. Nou sal dit brand om te wys dat die LED 'n Common Cathode RGB LED is.
Handige wenk: ek het die gewone katode tipe in hierdie projek gebruik. Probeer slegs hierdie soorte kry, maar moenie bekommerd wees nie, selfs al is die ander tipe beskikbaar. Die stroomverbindings bly dieselfde; die enigste verskil moet gemaak word in die kode wat ek as kommentaar sal lewer langs die werklike kodelyn waar u moet verander. Haal asem.
Tydlyn: toets RGB
Verwysing: Hoe om RGB te toets
RGB LED brand
Om dit te doen, kyk na die verbindingsdiagram wat op die foto's hierbo gegee word en verbind dit volgens die penne deur 'n broodbord (om dit veilig te maak om mee te begin).
ROOI: Pin 11 (330-ohm weerstand)
GROEN: Pin 13 (weerstand van 120 ohm)
BLOU: Pin 15 (weerstand van 120 ohm)
Die weerstandswaardes wissel as gevolg van die wisselende voorspannings van die leidings.
As u dit korrek verbind het, kodeer die RPi in sy ingeboude python IDE.
voer RPi. GPIO in as GPIO
#Die pennommers stem ooreen met die presiese nommer op die RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Verbind die gewone katodepen met Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) vir algemene anode tipe 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) probeer: terwyl True: cmd = input ("Tik u opdrag:") as cmd == "rooi aan ": #tik invoeropdragte soos genoem presies binne" "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") behalwe KeyboardInterrupt: GPIO.cleanup ()
Ek het na hierdie instruksies verwys, kyk gerus na die gedetailleerde beskrywing en die kode!
Deur dieselfde kode hierbo te gebruik, kan u na verskeie LED's saam kyk deur dit parallel op die broodbord te koppel en die enkele punt uit enige van die penne wat aan mekaar gekoppel is, uit te haal. Gebruik verskillende weerstandswaardes vir elke pen om die helderheid van u LED's te kontroleer
Handige wenk: maak seker dat u dieselfde pen-tipe parallel verbind. Dit wil sê, die rooi pen van die een LED skakel slegs met die rooi pen van die ander LED.
Tydlyn: laat hulle gloei!
TouchPad toets
Die kringverbinding is soos hier getoon (tydlyn). Koppel hulle soos aangedui en toets u raakvlak met die volgende kode.
Kode:
voer RPi. GPIO in as GPIO
van tyd af slaap slaap GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Ons kan beide die bogenoemde stellings saam as # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) probeer: terwyl 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") behalwe KeyboardInterrupt: GPIO.cleanup () #CTRL-C om te verlaat
Toets 'n LED
Raadpleeg hierdie wonderlike instruksie om u LED te toets!
Nadat u al die bogenoemde komponente getoets het, is u gereed om die groter weergawe daarvan te bou.
Stap 3: soldeer die aanwyserpaneel
As u nog nie soldeer nie, kyk dan na hierdie handleiding om die basiese beginsels hiervan te leer (Hoe om te soldeer). As u 'n professionele solder is, laat ons begin!
Die aanwyserpaneel
U kan die illustrasie van hoe u dit kan soldeer op die perfekte bord in die foto's hierbo.
Ons gebruik 13 RGB LED's vir die paneel. Verdeel hulle in drie afdelings: links, regs en middelpunt om soldeer te word.
Belangrik: spasiëring van die LED's
Ek het 3 rye tussen die LED's gelaat. Soos in die tweede prentjie getoon. Dit is belangrik dat die LED -paneel goed lyk en voel. Ons wil nie hê dat die LED's te ver om die ruimte te vergroot of te naby is om die lig nie van ver af te kan onderskei nie.
Handige wenk: Begin eers deur al die gewone katodepennetjies te soldeer
Handige wenk: Gebruik Multi-Strand-drade om die LED's aan mekaar te koppel, aangesien hulle minder stewig en maklik buigbaar is. U kan die ekstra afsnypenne van die LED's gebruik om die korter afstande te verbind
Regterkant: (5 LED's)
- Koppel al die rooi penne aan mekaar
- Koppel al die groen penne aan mekaar
- Koppel al die gewone katodepennetjies aan mekaar
Links gedeelte: (5 LED's)
- Koppel al die rooi penne aan mekaar
- Koppel al die groen penne aan mekaar
- Koppel al die gewone katodepennetjies aan mekaar
Middelsnit: (3 LED's)
Handige wenk: hierdie afdeling verg genoeg omsigtigheid. Moenie al die penne aanmekaar soldeer soos ons in die twee afdelings hierbo gedoen het nie!
- Koppel al die rooi penne aan mekaar
- Koppel slegs die boonste en onderste LED's, groen pen.
- Koppel al die gewone katodepennetjies aan mekaar
Drade
Ons benodig langer drade om die paneel aan die GPIO -bord te koppel.
Handige wenk:
- Gebruik enkeldraaddrade! Hulle is stewig genoeg om meganiese spanning te weerstaan!
- Hou die drade 'n bietjie langer as die werklike lengte tussen die paneel en die RPi (dit is baie handig om die drade later te bestuur! (Tydlyn: metings)
- Isoleer na soldeer! Baie belangrik
Gebruik 'n jumperdraad en 'n enkeldraaddraad om te soldeer. Die eindpunt van die jumperdraad moet 'n vroulike aansluiting wees, soldeer dit soos hier getoon (tydlyn)
Kleur die drade as rooi, groen en swart. wat ooreenstem met onderskeidelik Rooi pen, Groen pen en Algemene katode pen.
Ons benodig 3 swart drade, 3 rooi drade en 3 groen drade.
Sodra die drade gereed is. Soldeer die drade aan die LED's.
Handige wenke:
- Maak seker dat die LED's gesoldeer is volgens die gegewe verbindings.
- Maak seker dat u die korrekte weerstandswaardes vasgemaak het. As die waardes verander word, sal dit die helderheid van die LED's beïnvloed
- Een manier om seker te maak dat al u LED's werk, is met behulp van die multimetermeter wat in stap 2. gegee word. Dit is baie handig, aangesien u sal weet as daar 'n kortsluiting is, maar die LED's brand nie.
- Moenie die ente van die drade langer verwyder as wat nodig is nie. Dit sal moeilik wees om dit op hul plek te hou en ook 'n groter risiko vir kortsluiting.
- Gebruik 'n meerstrengs draad vir die verbinding tussen LED's.
- Gebruik enkeldraaddraad om die gedeeltes met RPi te verbind.
Stap 4: Toets die aanwyserpaneel
Geluk! As u die paneel korrek gesoldeer het. Kom ons gaan voort met die kodering van die aanwyser!
Soos vroeër genoem, sal ons 'n regter-, links- en draai -aand aandui.
Verwys na die verbinding van die stroombaan in stap 3.
Verbind die drade van die paneel soos hieronder genoem:
- Rooi regs - pen 7
- Groen regs - pen 11
- Gewone katode regs - pen 6 (GND)
- Rooi links - pen 13
- Groen links - pen 15
- Gewone katode links - pen 9 (GND)
- Middelrooi - pen 16
- Middelgroen (bo en onder) - pen 18
- Middelgewone katode - pen 14 (GND)
Toetskode:
voer RPi. GPIO in as GPIO
van tyd af invoer slaap #Verbind volgens die onderstaande pinnommers Red_right = 7 Green_right = 11 Red_links = 13 Green_links = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): print ("Draai regs") knip (Green_right, Green_top_bottom, 0) def left_turn (): print ("Links draai") knip (Green_links, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) vir x in reeks (10): GPIO.output ([pin1, pin2], GPIO. HIGH) slaap (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) slaap (0.5) anders: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) vir x in reeks (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) slaap (0.5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) slaap (0.5) def night_sight (): print ("Night Sight ON") knip (Red_links, Red_right, Red_center) probeer: terwyl True: cmd = input (" Toets LED vir: ") as cmd ==" regs draai ": regs_draai () elif cmd ==" links draai ": links_ draai () elif cmd ==" naggesig ": night_sight () anders: druk (" Ongeldige opdrag ") behalwe Ke yboardInterrupt: GPIO.cleanup ()
As u paneel al die toetsfases skoonmaak soos in die kode, Well Done! Maak gereed vir die volgende stap
As die paneel nie brand nie, maak seker dat u al die stappe korrek gevolg het en voorheen deur die handige wenke gekyk het. As die probleem steeds voortduur, kan u hieronder kommentaar lewer, ek sal gereed wees om te help.
Tydlyn: toets EEN (kyk na die video vir die werkende prototipe)
Stap 5: Integrasie van die aanwyserpaneel met die raakvlak
Koppel dit aan die RPi
Maak die verbindings soos in die prent hierbo getoon.
Regter paneel
Raakblad:
- GND -pen - pen 34
- VCC -pen - pen 1
- SIG -pen - pen 29
LED:
Anode (+) pen - pen 33
Linker paneel
Raakblad:
- GND -pen - pen 30
- VCC -pen - pen 17
- SIG -pen - pen 31
LED:
Anode (+) pen - pen 35
Algemene GND: pen 39 (vir beide die katode van die LED's) - Soldeer vir gewone grond (tydlyn)
Toetskode:
voer RPi. GPIO in as GPIO
van tyd af slaap slaap 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 (regs_ledig, GPIO. HIGH) wêreldwyd geaktiveer geaktiveer = 1 druk ("Regs draai") knipoog (Groen_reg, Groen_top_bodem) def links_draai (kanaal): GPIO.output (links_leed, GPIO. HIGH) globale geaktiveer geaktiveer = 1 druk ("Draai Links ") knip (Groen_links, Groen_top_bodem) GPIO.add_event_detect (regs_touch, GPIO. FALLING, terugbel = regs_draai, bouncetime = 500) GPIO.add_event_detect (links_touch, GPIO. FALLING, terugbel = links_draai, terugspring = 500) def knip (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) vir x in reeks (10): GPIO.output ([pin1, pin2], GPIO. HIGH) slaap (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) slaap (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) global triggered triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globaal geaktiveer as (trigger == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) slaap (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 () behalwe KeyboardInterrupt: GPIO.cleanup ()
Raak die raakvlak om u lig te sien gloei
Tydlyn (sonder aanduiding LED): Toets twee
Tydlyn (met aanduidings -LED): toets 3
Kode-verduideliking: ons wil hê dat die nagsig voortdurend moet werk, en as ons aan die raakvlak raak, moet dit stop en die funksie van die raakvlak uitvoer. Om dit gelyktydig te doen, gebruik ons iets wat bekend staan as 'onderbrekings' in python. Dit stel ons in staat om ons normale kode, wat die naggesig hier is, uit te voer, en dit veroorsaak ook 'n gebeurtenis wanneer 'n aanraking opgespoor word. Ons gebruik die geaktiveerde veranderlike as 'n vlag om die naggesig te stop.
Raadpleeg hierdie skakel vir meer inligting oor onderbrekings.
Soldeer die paneel
Laat ons nou die raakvlakpanele soldeer wat na die stuur van die fiets gaan. Verwys na die verbindings soos op die foto hierbo gegee.
Noudat u u LED en die raakvlak getoets het, is u gereed. Raadpleeg hierdie stap en die vorige stappe as u nog nie getoets het nie.
Plaas die raakvlak naby die stuur soos aangedui in die video. Dit wil sê, vir die regter raakvlak is die raakvlak regs en links aan sy linkerkant. Net so, vir die linker raakvlak, is die led aan die regterkant en die raakvlak aan die linkerkant, wat dit makliker maak vir die duim om te bereik.
PS: Ek het nie die raakvlak aan die perf board gesoldeer nie, want ek sou dit weer gebruik. Daarom sit ek dit net met dubbelzijdige band op die paneel.
Koppel die paneel aan RPi met behulp van langer drade
Stap 6: Maak dit slim
Ja! Noudat ons al ons noodsaaklikhede van die aanwyser aan die gang het. Kom ons neem 'n stap verder om dit slim te maak.
Hier definieer slim ook die besparing op die battery. Soos u dalk opgemerk het, is die nagskerm altyd aangeskakel, en soms is dit nie nodig op 'n helder, sonnige dag nie. Om hierdie probleem te oorkom, kan ons 'n LDR (Light Dependent Resistor) integreer om ons die ligintensiteitsdata te gee wat ons kan versamel en ons aanwyser dienooreenkomstig kan verwerk.
Toets die LDR
Ek het na hierdie webwerf verwys om die LDR te toets om die ligintensiteit te kontroleer en watter waarde dit gee.
Verwys na die webwerf hierbo gemerk vir die kring en die voorbeeldkode vir die werking van die LDR.
Die integrasie van die LDR in ons kode
Soldeer die LDR aan die regterpaneel van die raakvlak, soos getoon in die verbindingsdiagram hierbo.
Nadat die penne op die regte plek gesoldeer is, is dit tyd vir die laaste deel van die kodering. Die finale kode!
- Verbind die gemeenskaplike punt van die katode (-) van die kapasitor en die LDR met pen 36 op die RPi
- Die anode van die kapasitor is gekoppel aan die Common Ground -punt waarna in stap 5 verwys word
Finale kode:
voer RPi. GPIO in as GPIO
van tyd af invoer slaap 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. opstelling ([regs_leed, links_leed], GPIO. OUT) GPIO.setup (regter_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (links_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (kanaal): GPIO.output (regs_ledig, GPIO. HIGH) globaal geaktiveer geaktiveer = 1 druk ("regs draai") knip (groen_regs, groen_top_bodem) def left_turn (kanaal): GPIO.output (links_led, GPIO. HIGH) globaal geaktiveer geaktiveer = 1 druk ("Links draai") knip (Groen_links, Groen_top_bodem) GPIO.add_event_detect (regs_touch, GPIO. FALLING, terugbel = regs_draai, bouncetime = 500) GPIO.add_event_detect (links_touch, GPIO. FALLING, terugbel = links_draai, weerkaats_verlaging) (ldr): count = 0 #Output op die pen vir GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) slaap (0.1) #Chang e die pen terug na invoer GPIO.setup (ldr, GPIO. IN) #Tel totdat die pen hoog word terwyl (GPIO.input (ldr) == GPIO. LOW): count += 1 return count def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) vir x in reeks (10): GPIO.output ([pin1, pin2], GPIO. HIGH) slaap (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) slaap (0.5) GPIO.output ([regs_ links,_ links], GPIO. LOW) wêreldwyd geaktiveer geaktiveer = 0 def night_sight (): terwyl (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) globaal geaktiveer as (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) slaap (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) slaap (0.27) anders: druk ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) probeer: night_sight () behalwe KeyboardInterrupt: GPIO.cleanup ()
Voila! En die aanwyser is gereed om te rol.
Handige wenk: Maak seker dat u hierdie program behoorlik toets voordat u die RPi en ander komponente aan die siklus monteer! Begin dit 'n paar keer om foute te ontfout.
Stap 7: Verf en montering
Vereiste materiaal:
- Gereedskap vir die sny/ verwyder van draad
- Een groot opbergkas vir Raspberry Pi
- Een klein opbergkas om by die aanwyserpaneel te pas
- Verf
- Verf borsels
Begin deur die indikatorpaneel en die touchpad -panele met 'n swart kleur te verf. Ek het akrielverf hier gebruik; u kan dit van u keuse gebruik, wat goed pas by die perf board. Gebruik 'n swart agtergrond om die LED -paneel lewendiger en meer opvallend te maak. Maak die gate met 'n verhitte skroewedraaier of met 'n metaalvoorwerp om die plastiek te smelt.
Let wel: Wees versigtig as u gate maak.
Tydlyn: Verf
Handige wenk: ek het plastiekkaste gebruik, en die verf kom maklik af. Maak seker dat u verf van goeie gehalte gebruik
Sodra die indikator en die panele geverf is, droog dit uit in die son en maak u gereed om dit te monteer.
Ek het ekstra rande van die perf board in die aanwyserpaneel en die voorpaneel gesny om ruimte te bespaar.
Kyk na die video vir montering!
Tydlyn: Avengers! Versamel. (Monteer die aanwyserpaneel en RPi met bokse)
Soos in die video gesien, moet u die drade dienooreenkomstig plaas deur drie gate in die groter boks te maak. Een vir RPi -kragbankdraad, een vir die touchpad -panele en een vir die Indicator -paneel. Slegs een gat is nodig vir die kleiner boks.
Handige wenk: kyk of die drade geïsoleer is en kyk of die drade behoorlik gesoldeer is voordat u dit in die boks koppel.
Stap 8: toets op afstand met VNC en finale kode
Een laaste toets voordat die aanwyser heeltemal gereed is. Koppel u RPi aan die VNC Viewer en voer die program uit.
Ek gebruik altyd 'n VNC -bediener om die program uit te voer en om foute in die program te ontfout. Op hierdie manier kan ek die RPi direk plaas op die plek waar ek wil toets sonder om die monitor ekstern aan te sluit.
Gaan hierdie bladsy na om u RPi aan die VNC -bediener te koppel. (VNC -bediener)
Sodra u die RPi aan die VNC -bediener gekoppel het. U kan die kode op die virtuele lessenaar laat loop en die foute ontfout.
Tydlyn: hardloop tydens opstart
Handige wenk: sodra u u Raspberry Pi aan die virtuele lessenaar gekoppel het, meld u aan met die IP -adres van die RPi. Maar as u 'n fout ontvang dat die RPi die verbinding geweier het, is dit as gevolg van die verandering van die IP -adres in die RPI. Dit kan gebeur as u u router of 'n WiFi -hotspot herlaai en dan probeer om met die ou adres aan te meld. Die router ken 'n nuwe IP toe elke keer as u dit herlaai, maar as u die ou IP -adres van die RPi onthou, verhoog die laaste syfer met 1 en meld aan. Voorbeeld: As die ou IP -adres 190.148.1.100 is, meld dan aan met 190.148.1.101
Nadat u gekontroleer het of dit alles reg werk, is dit tyd vir die finale vergadering.
Ons kan altyd nie 'n virtuele lessenaar hê om die python -script te monitor of uit te voer nie. Laat ons dit dus doen by die aanvang.
Ons wil hê dat ons program moet begin sodra die RPi begin. Besoek hierdie webwerf vir meer inligting hieroor!
As u RPi op outomatiese aanmelding is, gaan dan voort;
Voer die volgende opdragte in die terminale van die RPi uit
sudo nano /etc /profile
Blaai na onder en voeg die volgende reël by:
sudo python file_path &
Die file_path verwys hier na die pad van die python -lêer waar u finale kode gestoor word.
Let wel: Die Ampersand (&) aan die einde van die lêer moet bygevoeg word sodat u program parallel met die stelselopstart loop. Omdat ons program 'n eindelose lus bevat, is hierdie stap verpligtend, sodat selfs as die program nie werk soos verwag nie, ons steeds die RPi -lessenaar kan gebruik om die instellings te verander.
Druk daarna CTRL-X en dan Y Druk twee keer op Enter en u sal terugkeer na die opdragterminale.
Herlaai die Pi
Nou moet die kode loop by die aanvang
Stap 9: Kabelbestuur en finale vergadering
Baie geluk! oor die voltooiing van hierdie projek. Ek het dit die woord Minimal gegee, soos u gesien het; ons het minder LED's gebruik om al die nodige aanduidings te wys, en ook met pasgemaakte kleure. Gebruik gerus verskillende kleure vir u LED's, soos geel vir die rigtingaanwysers of enige ander.
As u hierdie projek voltooi het, klik op "Ek het dit gemaak" en deel u ervaring. Deel u gedagtes en ook voorstelle of opmerkings oor hierdie projek. Ek hoor dit graag!
Kabelbestuur
Ja! Soos u dalk opgemerk het, gaan daar soveel drade in en om die siklusse en dit is gejaagd. Ek het kabelmerke, isolasiebande en kabelomhulsel gebruik om die drade weg te steek en dit ook swart geverf soos u die prentjie gesien het.
Handige wenk: Omdat u ekstra sentimeter van u kabels af gelaat het as wat nodig is, is dit nou handig om dit behoorlik te bestuur sonder om dit te beklemtoon! As een van u LED's brand en ander nie, selfs al het u alles reg gedoen, is die probleem in As die draaddrade aan die RPi gekoppel is, sal daar 'n los kontak wees. As dit aanhou, gebruik 'n manlike tot vroulike jumperdraad om die draad uit te brei en aan te sluit. Gebruik kabelbinders om die drade op hul plek te hou sodat dit nie beweeg nie.
Nou is die aanwyser gereed vir 'n rit! Geniet dit
PS: In 'n verdere instruksie wil ek graag die aantal drade in die kring verminder en 'n beter plan opstel. As ek dit doen, deel ek 'n instruksie daaroor!
Stap 10: 'n Paar foto's van die aanwyser
Dankie dat u hierdie Instructable gelees het. Ek hoop jy het dit net so geniet soos ek dit gemaak het
Tydlyn: finale toets In die segment hierbo kan u sien dat sodra die kamer donkerder word, die "Night Sight" aanskakel en as dit helderder word, dit onmiddellik afskakel!
Tydlyn: gereed om te rol Sommige video's wat ek geneem het om die aanwyser in die kollig te wys. Alle eer aan my susters se fietsry vir die video!
Aanbeveel:
Maak jouself 'n pasgemaakte, minimalistiese beginblad !: 10 stappe
Maak uself 'n aangepaste, minimalistiese beginblad !: Moes u oorskakel na meestal afstandswerk sedert COVID-19 iets geword het? Om tuis te werk met ons rekenaars en via die internet, beteken dikwels dat ons baie webwerwe moet byhou vir werk, skool of selfs … vir die plesier! Boekmerke
Hoe om 'n minimalistiese LED -horlosie te skep: 9 stappe
Hoe om 'n minimalistiese LED -horlosie te skep: al die digitale muurhorlosies kan so besig wees, of hoe? U wil nie regtig hê dat 'n groot, helder 7-syfer-skerm teen u muur belemmer word nie? Selfs die analoog horlosies, hoewel eenvoudiger, het nog steeds lelike swart syfers en hande in die hand
LINEA - Ontwerper minimalistiese vloerlamp: 6 stappe
LINEA - Designer Minimalistic Floor Lamp: https://youtu.be/S3DwttzCTKk Kyk na die YouTube -skakel vir die bouvideo en ekstra skakels vir die.stl -lêer;) U dink dat u 'n goeie algemene beligting in u omgewing het, maar dink ook daar is net iets ontbreek, iets om die ruimte te gee
Minimalistiese woordklok: 28 stappe (met prente)
Minimalistiese woordklok: 'n groot dank aan Super Make Something, aangesien hierdie projek geïnspireer is deur hul Neopixel Word Clock. Ek het hierdie horlosie geskep as deel van my IGCSE Design & Tegnologie kursus en het 'n A* daarvoor gekry. Die CAD -model is vooraf op samesmelting gebou en dus
Minimalistiese IoT -klok (met behulp van ESP8266, Adafruit.io, IFTTT en Arduino IDE): 10 stappe (met foto's)
Minimalistiese IoT -klok (met behulp van ESP8266, Adafruit.io, IFTTT en Arduino IDE): In hierdie tutoriaal wys ek hoe u 'n minimalistiese klok wat met die internet gesinkroniseer is, kan maak. Ek het dit getoets met twee verskillende ESP8266 -borde: Firebeetle en NodeMCU. Die mikrobeheerder kry die huidige tyd van 'n Google -bediener en wys dit op 'n