Cuprins:
- Pasul 1: Materiale pentru a începe
- Pasul 2: Testarea componentelor
- Pasul 3: lipirea panoului indicator
- Pasul 4: Puneți indicatorul la test
- Pasul 5: Integrarea panoului indicator cu touchpad-ul
- Pasul 6: Fă-l inteligent
- Pasul 7: Pictură și asamblare
- Pasul 8: Testare la distanță cu VNC și cod final
- Pasul 9: Gestionarea cablurilor și asamblarea finală
- Pasul 10: Câteva imagini ale indicatorului
Video: Indicator de bicicletă minimalist, tactil !: 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Bună! Acesta este primul meu instructabil. Întotdeauna am vrut să fac lucruri de la zero doar pentru a vedea cum funcționează și cui nu îi plac lucrurile de bricolaj (Do it yourself) atunci când poți modifica ceva în funcție de nevoile tale, nu? Oricât de interesant ar părea un DIY, este nevoie de un pic de efort pentru ca acest lucru să se întâmple. Privirea prin site-ul Instructables este o modalitate excelentă de a începe aspirațiile dvs. DIY și așa am început să construiesc unele dintre proiectele mele mai devreme, dar nu m-am gândit niciodată că voi face unul.
Așa cum mi-a venit ocazia, am creat un indicator pentru biciclete cu un design minimalist și tactil. Știu că există multe instrumente instructabile sau surse online pentru un indicator de bicicletă, dar cei mai mulți dintre ei au ocupat mai mult spațiu sau nu au fost suficient de inteligenți pentru a le modifica într-un mod anume. Dacă sunteți în căutarea unui indicator suficient de inteligent pentru a vă satisface nevoile și care vă oferă șansa de a le modifica în funcție de nevoile dvs., atunci acest instructiv este pentru dvs.!
De ce Indicatorul bicicletei?
Ador ciclismul prin oraș! Îmi iau ciclul și merg doar la plimbare fie dimineața, fie seara. Uneori, noaptea, este dificil să circuli, deoarece traficul din spatele tău nu te va putea observa și este un semn periculos. De aceea am vrut să construiesc eu însumi un Indicator cu toate materialele pe care le aveam cu mine acasă și, de asemenea, arată minunat pe bicicletă în timp ce călătoriți în oraș aprinzând indicatoarele!
Realizarea unui proiect fără a fi nevoie să se confrunte cu probleme, nu se întâmplă! Dar vă voi spune toate greșelile pe care le-am făcut, în timp ce construiam acest lucru, ca „Sfat la îndemână”, astfel încât să nu încercați să le faceți. Videoclipul YouTube conține o Ilustrație a modului în care este construit proiectul, mici animații pentru a transmite modul în care funcționează lucrurile și cum arată indicatorul pe drum! Cele mai elaborate informații sunt date în acest instructabil. Pe măsură ce continuați, voi eticheta segmentele videoclipului meu de pe YouTube ca „Cronologie:” la fiecare pas, pentru a putea vedea cum funcționează practic lucrurile. Puteți obține mai multe informații făcând clic pe linkurile evidențiate furnizate.
Caracteristicile acestui proiect:
- Indicarea virajului la dreapta
- Indicarea virajului la stânga
- Indicație de vedere nocturnă
- Touch-Enabled
Pasul 1: Materiale pentru a începe
- Rezistoare (330 ohmi și 120 ohmi): 330 ohmi și 120 ohmi
- Raspberry Pi 3: RPi 3
- Breadboard: Breadboard
- Jumper Wires (bărbat-bărbat, bărbat-femeie, femeie-femeie): Jumper Wires
- Firuri cu mai multe fire: Fir cu mai multe fire
- Senzor tactil capacitiv (TTP223) - (2): Link
- LED-uri RGB (tip catod comun) - (13): catod comun LED RGB
- LED-uri normale - (2): LED-uri
- Materiale de lipit: Set de lipit
- Panouri Perf: Panou Perf
- Powerbank: Powerbank
- 1 condensator electrolitic micro Farad: condensator electrolitic
- LDR (rezistență dependentă de lumină): LDR
- Legături de cablu: Legături de cablu
- Cable Concealer: Cable Concealer
- Vopsea și perii acrilice (opțional): Vopsea și perii
- Două cutii de depozitare pentru asamblare. (1 mare și 1 mediu)
Păstrați întotdeauna o cantitate suplimentară în ceea ce privește cele menționate mai sus. Am legat componentele de pe Amazon și unele dintre cele mai bune kituri de cumpărare pentru materiale de lipit!
Cronologie: Adunați materiale
Pasul 2: Testarea componentelor
Să punem componentele la încercare! Acest lucru este foarte util pentru a separa componentele deteriorate sau care acționează ciudat din anumite motive și, de asemenea, această fază vă permite să obțineți experiența inițială hands-on cu componentele și să învățați puțin înainte de a începe construirea întregului proiect.
Testați tipul de LED RGB
Există două tipuri de LED-uri RGB pe care le găsim pe piață. Tipul de catod comun și tipul de anod comun.
Acesta este un sfat la îndemână (deși mai mare), deoarece am conectat LED-urile așa cum se vede în acest videoclip aici, iar LED-ul nu s-a aprins așa cum era de așteptat chiar și după verificarea încrucișată a circuitului de mai multe ori. Apoi mi-am dat seama că există două tipuri de LED-uri și, trecând prin foaia tehnică, am obținut în cele din urmă o soluție! Problema cu circuitul meu a fost că pinul catodic comun a fost conectat la 3,3V așa cum am menționat și l-am păstrat de pinul GPIO la HIGH, astfel încât atât pinul catodic comun, cât și ceilalți 3 pini erau la același potențial.
Soluție: am conectat pinul catodic comun la sol și LED-ul s-a aprins! Motivul pentru care nu mi-am schimbat codul pentru a menține pinii GPIO LOW deoarece vom folosi mai multe LED-uri mai târziu, iar RPi ne oferă doar doi pini la 3,3 V, de care avem nevoie și pentru alte scopuri!
Cum se testează tipul?
Păstrați multimetrul în modul continuitate. Atingeți cel mai lung cablu cu vârful roșu al multimetrului și cu vârful negru, atingeți oricare dintre celelalte cabluri. Dacă LED-ul se aprinde efectuând pasul de mai sus, acesta este un LED RGB comun cu anod. Dacă nu, inversați vârful multimetrului acum. Atingeți cel mai lung cablu cu un vârf negru și vârful roșu cu orice alte cabluri. Acum se va aprinde arătând că LED-ul este un LED RGB cu catod comun.
Sfat la îndemână: am folosit tipul de catod comun în acest proiect. Încercați să obțineți numai aceste tipuri, dar chiar dacă celălalt tip este disponibil nu vă faceți griji. Conexiunile de circuit rămân aceleași, singura diferență trebuie făcută în codul pe care îl voi da drept comentariu lângă linia de cod efectivă în care trebuie să vă schimbați. Ia o pauza.
Cronologie: testați RGB
Referință: Cum se testează RGB
LED-ul RGB se aprinde
Pentru a face acest lucru, verificați schema de conexiune dată în imaginile de mai sus și conectați-vă conform pinilor printr-o placă de măsurare (pentru a o păstra în siguranță pentru început).
ROȘU: Pin 11 (rezistor de 330 ohmi)
VERZ: Pin 13 (rezistor de 120 ohmi)
ALBASTRU: Pin 15 (rezistor de 120 ohmi)
Valorile rezistenței variază din cauza tensiunilor variabile ale cablurilor.
După ce le-ați conectat corect, codificați RPi în IDE-ul său Python încorporat.
importați RPi. GPIO ca GPIO
# Numerele pinului corespund numărului exact de pe RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Conectați pinul catod comun la Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) # GPIO.output (pin, GPIO. LOW) pentru tip anod comun 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 ("Tastați comanda:") if cmd == "red on ": #type comenzi de intrare așa cum s-a menționat exact în interiorul" "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 ("Nu este o comandă validă") cu excepția KeyboardInterrupt: GPIO.cleanup ()
M-am referit la acest instructabil, verificați acest lucru pentru o descriere detaliată și codul!
Folosind același cod de mai sus, puteți verifica mai multe LED-uri împreună conectându-le în paralel pe panoul de control și scoateți singurul punct din oricare dintre pinii conectați împreună. Utilizați valori diferite ale rezistenței pentru fiecare pin pentru a verifica luminozitatea LED-urilor
Sfat la îndemână: asigurați-vă că conectați același paralel tip pin. Adică pinul roșu al unui LED se conectează numai la pinul roșu al celuilalt LED.
Cronologie: faceți-i să strălucească!
Testare TouchPad
Conexiunea circuitului este așa cum se arată aici (Cronologie). Conectați-le așa cum se arată și testați touchpad-urile folosind următorul cod.
Cod:
importați RPi. GPIO ca GPIO
din timp import somn GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) # Putem asocia atât afirmațiile de mai sus împreună ca # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) încercați: în timp ce True: dacă (GPIO.input (touchpad1) == True): print ("Touchpad 1 atins") sleep (2) elif (GPIO.input (touchpad2) == True): print ("Touchpad 2 atins") sleep (2) else: print ("Not Touched") cu excepția KeyboardInterrupt: GPIO.cleanup () # CTRL-C pentru a ieși
Testarea unui LED
Consultați acest minunat instructable pentru testarea LED-ului dvs.!
După ce ați testat toate componentele de mai sus, sunteți gata să construiți versiunea mai mare a acestuia.
Pasul 3: lipirea panoului indicator
Dacă nu sunteți nou în domeniul lipirii, consultați acest tutorial pentru a afla câteva elemente de bază ale acestuia aici (Cum să lipiți). Dacă sunteți un profesionist în lipire, permiteți-ne să începem!
Panoul indicator
Puteți găsi ilustrația despre cum să le lipiți pe tabloul de perfecționare din imaginile de mai sus.
Folosim 13 LED-uri RGB pentru panou. Separați-le în trei secțiuni: stânga, dreapta și centru pentru a lipi în consecință.
Important: Spațierea LED-urilor
Am lăsat 3 rânduri între LED-uri. Așa cum se arată în a doua imagine. Acest lucru este important pentru ca panoul LED să arate și să se simtă bine. Nu vrem ca LED-urile prea departe să crească spațiul sau prea aproape pentru a nu putea distinge lumina de departe.
Sfat la îndemână: începeți prin lipirea mai întâi a tuturor pinilor catodului comun
Sfat la îndemână: utilizați fire multi-șuvițe pentru conectarea LED-urilor împreună, deoarece acestea sunt mai puțin robuste și ușor de îndoit. Puteți utiliza pinii de tăiere suplimentari de la LED-uri pentru a conecta distanțele mai mici
Secțiunea dreaptă: (5 LED-uri)
- Conectați toți pinii roșii împreună
- Conectați toate pinii verzi împreună
- Conectați toți pinii catodului comun
Secțiunea din stânga: (5 LED-uri)
- Conectați toți pinii roșii împreună
- Conectați toate pinii verzi împreună
- Conectați toți pinii catodului comun
Secțiunea centrală: (3 LED-uri)
Sfat util: Această secțiune necesită suficientă precauție. Nu lipiți toți pinii împreună, așa cum am făcut în cele două secțiuni de mai sus!
- Conectați toți pinii roșii împreună
- Conectați doar LED-urile superioare și inferioare, Pinul verde.
- Conectați toți pinii catodului comun
Fire
Avem nevoie de fire mai lungi pentru a conecta panoul la placa GPIO.
Sfat la îndemână:
- Folosiți fire monocatenare! Sunt suficient de solide pentru a rezista la solicitările mecanice aplicate!
- Păstrați firele puțin mai lungi decât lungimea reală necesară între panou și RPi (acest lucru este foarte util în timp ce gestionați firele mai târziu! (Cronologie: măsurători)
- Izolați după lipire! Foarte important
Folosiți un fir jumper și un fir cu un singur fir pentru a lipi. Unul dintre capetele firului jumper trebuie să fie un conector feminin. Vindeți-le așa cum se arată aici (Cronologie)
Codificați culoarea firelor ca roșu, verde și negru. care corespunde pinului roșu, pinului verde și respectiv pinului catodic comun.
Avem nevoie de 3 fire negre, 3 fire roșii și 3 fire verzi.
Odată ce firele sunt gata. Lipiți firele la LED-urile indicatoare.
Sfaturi utile:
- Asigurați-vă că LED-urile sunt lipite conform conexiunilor date.
- Asigurați-vă că ați lipit valorile corecte ale rezistenței la locul lor. Dacă valorile sunt modificate, aceasta va afecta luminozitatea LED-urilor
- O modalitate de a vă asigura că toate LED-urile funcționează este folosind multimetrul indicat la Pasul 2. Acest lucru este foarte util, deoarece veți ști dacă există scurtcircuit, LED-urile nu se vor aprinde.
- Nu scoateți capetele firelor mai mult decât este necesar. Acest lucru va fi dificil de menținut la locul lor și, de asemenea, un risc mai mare de scurtcircuit.
- Utilizați cabluri cu mai multe fire pentru conectarea între LED-uri.
- Utilizați un fir cu un singur fir pentru conectarea secțiunilor la RPi.
Pasul 4: Puneți indicatorul la test
Apreciere! Dacă ați lipit corect panoul. Să continuăm cu codarea indicatorului acum!
După cum s-a menționat mai devreme, vom indica o virare la dreapta, o virare la stânga și porniți / dezactivați vederea nocturnă.
Consultați conexiunea circuitului la Pasul 3.
Conectați firele panoului așa cum se menționează mai jos:
- Roșu Dreapta - Pinul 7
- Dreapta verde - Pinul 11
- Catod comun drept - Pin 6 (GND)
- Roșu stânga - Pinul 13
- Stânga verde - Pinul 15
- Catod comun stânga - Pin 9 (GND)
- Centrul Roșu - Pinul 16
- Centrul verde (sus și jos) - Pinul 18
- Centrul comun catod - Pin 14 (GND)
Cod de testare:
importați RPi. GPIO ca GPIO
din timp import somn #Conectați-vă conform numerelor de pin de mai jos 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") clipire (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") clipire (Green_left, Green_top_bottom, 0) def clipire (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) pentru x în intervalul (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) sleep (0,5) altceva: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) pentru x în intervalul (10): ieșire GPIO ([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") clipesc (Red_left, Red_right, Red_center) try: while True: cmd = input (" Test LED pentru: ") if cmd ==" dreapta viraj ": dreapta_turn () elif cmd ==" viraj la stânga ": left_turn () elif cmd ==" vedere de noapte ": night_sight () else: print (" Comandă nevalidă ")) cu excepția Ke yboardInterrupt: GPIO.cleanup ()
Dacă panoul dvs. șterge toate fazele de testare ca în cod, Bine gata! Pregătește-te pentru următorul pas
Dacă panoul nu se aprinde, asigurați-vă că ați urmat corect toți pașii și că ați analizat anterior sfaturile la îndemână. Dacă problema persistă, puteți comenta mai jos, voi fi gata să vă ajut.
Cronologie: Test ONE (Verificați videoclipul pentru prototipul de lucru)
Pasul 5: Integrarea panoului indicator cu touchpad-ul
Conectarea la RPi
Faceți conexiunile așa cum se arată în imaginea de mai sus.
Panoul din dreapta
Touchpad:
- Pin GND - Pin 34
- Pin VCC - Pin 1
- Pin SIG - Pin 29
LED:
Pin anod (+) - Pin 33
Panoul din stânga
Touchpad:
- Pin GND - Pin 30
- Pin VCC - Pin 17
- Pin SIG - Pin 31
LED:
Pin anod (+) - Pin 35
GND comun: Pinul 39 (atât pentru catodul LED-urilor) - lipire la sol comună (cronologie)
Cod de testare:
importați RPi. GPIO ca GPIO
din timp import somn 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 (canal): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 print ("Turning Right") clip (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered triggered = 1 print ("Turning Stânga ") clipire (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, bouncetime = 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) pentru x în intervalul (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0,5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) sleep (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) global declanșat dacă (declanșat == 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 () cu excepția KeyboardInterrupt: GPIO.cleanup ()
Atingeți touchpad-ul pentru a vă vedea strălucirea luminii
Cronologie (fără LED de indicație): Testul doi
Cronologie (cu LED de indicație): Test 3
Explicația codului: Vrem ca vizorul de noapte să ruleze continuu și atunci când atingem touchpadul, acesta trebuie să se oprească și să execute funcția touchpadului. Pentru a face acest lucru simultan, folosim ceva cunoscut sub denumirea de „întreruperi” în python. Acest lucru ne permite să rulăm codul nostru normal, care este vederea de noapte aici și, de asemenea, declanșează un eveniment atunci când este detectată o atingere. Folosim variabila declanșată ca steag pentru a opri vederea nocturnă.
Pentru mai multe informații despre întreruperi, consultați acest link.
Lipiți panoul
Acum să lipim panourile touchpad-ului care vor merge la ghidonul bicicletei. Consultați conexiunile prezentate în imaginea de mai sus.
Acum că v-ați testat LED-ul și touchpad-ul, sunteți bine să mergeți. Dacă nu ați testat deja, vă rugăm să consultați acest pas și pașii anteriori.
Așezați touchpad-ul lângă ghidon așa cum se arată în videoclip. Adică, pentru touchpad-ul drept, touchpad-ul este în dreapta și stânga în stânga sa. În mod similar, pentru touchpad-ul din stânga, ledul este în dreapta și touchpad-ul din stânga, ceea ce face mai ușor accesul degetului mare.
PS: Nu am lipit touchpad-ul pe placa perf, pentru că urma să îl refolosesc din nou. Prin urmare, tocmai l-am pus pe panou cu bandă dublă.
Conectați panoul la RPi folosind fire mai lungi
Pasul 6: Fă-l inteligent
Da! Acum, că avem toate elementele esențiale ale indicatorului în funcțiune. Să facem un pas mai departe pentru a-l face inteligent.
Aici inteligent definește economisirea bateriei. După cum probabil ați observat, vederea nocturnă este întotdeauna activată și uneori acest lucru ar putea să nu fie necesar într-o zi însorită. Pentru a depăși această problemă, putem integra un LDR (Light Dependent Resistor) pentru a ne oferi datele despre intensitatea luminii pe care le putem colecta și procesa indicatorul nostru în consecință.
Testarea LDR
M-am referit la acest site web pentru a testa LDR pentru a verifica intensitatea luminii și ce valoare returnează.
Consultați site-ul web etichetat mai sus pentru circuit și codul eșantion pentru funcționarea LDR.
Integrarea LDR la codul nostru
Lipiți LDR pe panoul din dreapta al touchpad-ului, așa cum se arată în diagrama de conectare de mai sus.
După lipirea știfturilor în locul potrivit, timpul pentru ultimul bit de codare. Codul final!
- Conectați punctul comun al catodului (-) condensatorului și al LDR la pinul 36 de pe RPi
- Anodul condensatorului este conectat la punctul de masă comun menționat la pasul 5
Cod final:
importați RPi. GPIO ca GPIO
din timp import somn 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 (canal): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 print ("Turning Right") clipire (Green_right, Green_top_bottom) def left_turn (canal): GPIO.output (left_led, GPIO. HIGH) global triggered triggered = 1 print („Turning Left”) clipire (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, bounc (ldr): count = 0 # Output on the pin for GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) sleep (0.1) #Chang pinul înapoi la intrarea GPIO.setup (ldr, GPIO. IN) #Count până când pinul se ridică în timp ce (GPIO.input (ldr) == GPIO. LOW): count + = 1 return return def clipire (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) pentru x în intervalul (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0,5) GPIO.output ([pin1, pin2], GPIO. LOW) sleep (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) global declanșat dacă (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): night_sight () cu excepția KeyboardInterrupt: GPIO.cleanup ()
Voila! Iar indicatorul este gata să se rostogolească.
Sfat la îndemână: Înainte de a asambla RPi și alte componente la ciclu, asigurați-vă că testați corect acest program! Rulați-l de câteva ori pentru a depana orice erori.
Pasul 7: Pictură și asamblare
Materiale necesare:
- Unelte de tăiere / decupare a firelor
- O cutie mare de depozitare pentru a se potrivi în Raspberry Pi
- O cutie mică de depozitare pentru a se potrivi cu panoul indicator
- A picta
- Pensule
Începeți prin vopsirea panoului indicator și a panourilor tactile cu culoare neagră. Am folosit Vopsele acrilice aici, le puteți folosi la alegere, care se amestecă bine cu placa de perf. Folosiți un fundal negru, astfel încât să faceți panoul LED vibrant și mai remarcabil. Faceți găurile folosind o șurubelniță încălzită sau folosind orice obiect metalic pentru a topi plasticul.
Notă: Vă rugăm să aveți grijă când faceți găuri.
Cronologie: Vopsea
Sfat la îndemână: am folosit cutii de plastic și vopseaua se desprinde cu ușurință. Asigurați-vă că utilizați vopsele de bună calitate
Odată ce indicatorul și panourile sunt vopsite, uscați-le la soare și pregătiți-vă pentru asamblare.
Am tăiat margini suplimentare ale panoului perf din panoul indicator și panoul frontal pentru a economisi spațiu.
Verificați videoclipul pentru asamblare!
Cronologie: Răzbunători! Asambla. (Asamblarea panoului indicator și a RPi cu cutii)
După cum se vede în videoclip, puneți firele în consecință făcând trei găuri în cutia mai mare. Una pentru firul RPi power bank, una pentru panourile touchpad și una pentru panoul Indicator. Pentru cutia mai mică este necesară o singură gaură.
Sfat la îndemână: Verificați dacă izolația firelor și verificați dacă firele sunt lipite corect înainte de a le conecta în cutie.
Pasul 8: Testare la distanță cu VNC și cod final
Un ultim test înainte ca indicatorul să fie complet gata. Conectați-vă RPi la VNC Viewer și rulați programul.
Folosesc întotdeauna un server VNC pentru a rula programul și pentru a depana orice erori din program. În acest fel pot plasa RPi direct în locul unde vreau să testez fără a conecta monitorul extern.
Verificați această pagină pentru a vă conecta RPi la serverul VNC. (Server VNC)
După ce ați conectat RPi la serverul VNC. Puteți rula codul pe desktopul virtual și depana erorile.
Cronologie: Rulați la pornire
Sfat la îndemână: Odată ce v-ați conectat Raspberry Pi la desktopul virtual, vă veți conecta cu adresa IP a RPi. Dar dacă apare o eroare care afirmă că RPi a refuzat conexiunea, aceasta se datorează schimbării adresei IP din RPI. Acest lucru se poate întâmpla atunci când reporniți routerul sau un hotspot WiFi și apoi încercați să vă conectați cu adresa veche. Routerul atribuie un nou IP de fiecare dată când îl reporniți. Dar dacă vă amintiți vechea adresă IP a RPi, incrementați ultima cifră cu 1 și conectați-vă. Exemplu: Dacă vechea adresă IP este 190.148.1.100, atunci conectați-vă folosind 190.148.1.101
După ce ați verificat dacă funcționează corect, este timpul pentru asamblarea finală.
Întotdeauna nu putem avea un desktop virtual pentru a monitoriza sau rula scriptul python. Deci, haideți să facem asta la pornire.
Vrem ca programul nostru să ruleze odată cu pornirea RPi. Consultați acest site web pentru mai multe detalii despre asta!
Dacă RPi-ul dvs. este pe configurare de autentificare automată, continuați;
Rulați următoarele comenzi în terminalul RPi
sudo nano / etc / profile
Derulați până la partea de jos și adăugați următoarea linie:
sudo python file_path &
File_path aici se referă la calea fișierului python unde este stocat codul final.
Notă: Ampersand (&) de la sfârșitul fișierului ar trebui adăugat astfel încât programul dvs. să ruleze paralel cu boot-ul sistemului. Deoarece programul nostru conține o buclă nesfârșită, acest pas este obligatoriu, astfel încât, chiar dacă programul nu rulează așa cum era de așteptat, putem folosi desktopul RPi pentru a modifica setările.
După aceasta apăsați CTRL-X și apoi Y Apăsați Enter de două ori și veți reveni la terminalul de comandă.
Reporniți Pi
Acum, codul ar trebui să ruleze la pornire
Pasul 9: Gestionarea cablurilor și asamblarea finală
Felicitări! la finalizarea acestui proiect. I-am dat cuvântul Minimal așa cum ați văzut că am folosit mai puține LED-uri pentru a afișa toate indicațiile necesare și, de asemenea, cu culori personalizate. Simțiți-vă liber să utilizați diferite culori pentru LED-urile dvs., cum ar fi galbenul pentru indicatoarele de direcție sau oricare altul.
Dacă ați realizat acest proiect, faceți clic pe „Am făcut-o” și împărtășiți-vă experiența. Împărtășiți-vă gândurile și, de asemenea, orice sugestii sau comentarii cu privire la acest proiect. Mi-ar plăcea să aud asta!
Organizare de cabluri
Da! După cum ați fi observat, există atât de multe fire care intră în cicluri și în jurul lor, iar gestionarea lor este agitată. Am folosit etichete de cablu, benzi de izolare și carcasă de cablu pentru a ascunde firele și le-am vopsit în negru așa cum ați văzut imaginea.
Sfat la îndemână: Deoarece ați lăsat câțiva centimetri în plus de cabluri decât este necesar, este util acum să le gestionați corect fără a le stresa! Dacă unul dintre LED-urile dvs. se aprinde și altele nu chiar dacă ați făcut totul bine, problema este în cablurile jumper conectate la RPi, va exista un contact slăbit. Dacă acest lucru persistă, utilizați un fir jumper de la mascul la feminin pentru a extinde firul și a le conecta. Folosiți legături pentru a menține firele în poziție, astfel încât să nu se miște.
Acum, indicatorul este pregătit pentru o plimbare! Bucură de ea
PS: Într-un alt instructable, mi-ar plăcea cu adevărat să reduc numărul de fire din circuit și să vin cu un plan mai bun. Dacă fac asta, voi împărtăși un Instructable despre asta!
Pasul 10: Câteva imagini ale indicatorului
Vă mulțumim că ați citit acest Instructable. Sper că ți-a plăcut la fel de mult ca mine la realizarea ei
Cronologie: Test final În segmentul de mai sus, puteți vedea că, de îndată ce camera se întunecă, „Night Sight” se aprinde și pe măsură ce devine mai luminos, se oprește imediat!
Cronologie: gata de redat Unele videoclipuri pe care le-am realizat pentru a prezenta indicatorul în centrul atenției. Toate creditele pentru ciclismul surorilor mele pentru videoclip!
Recomandat:
Cum să creați un ceas LED minimalist: 9 pași
Cum să creați un ceas cu LED minimalist: toate acele ceasuri de perete digitale pot fi atât de ocupate, nu-i așa? Nu-ți dorești cu adevărat un afișaj mare și luminos de 7 cifre care să-ți aglomereze peretele, împiedicându-te, nu-i așa? Chiar și ceasurile analogice, deși mai simple, au încă numere și mâini urâte în negru
Ceas cu cuvinte minimalist: 28 de pași (cu imagini)
Minimalistic Word Clock: O mulțumire deosebită lui Super Make Something, deoarece acest proiect a fost inspirat de Neopixel Word Clock. Am creat acest ceas ca parte a IGCSE Design & Curs de tehnologie și a primit un A * pentru acesta. Modelul CAD a fost construit în prealabil pe fuziune și astfel
Trei circuite senzor tactil + circuit temporizator tactil: 4 pași
Trei circuite senzor tactil + circuit temporizator tactil: senzorul tactil este un circuit care pornește când detectează atingerea pinilor tactili. Funcționează pe o bază tranzitorie, adică încărcarea va fi ACTIVATĂ doar pentru momentul în care se face atingerea pe ace. Aici, vă voi arăta trei moduri diferite de a face o atingere sen
Ceas IoT minimalist (folosind ESP8266, Adafruit.io, IFTTT și Arduino IDE): 10 pași (cu imagini)
Ceas IoT minimalist (folosind ESP8266, Adafruit.io, IFTTT și Arduino IDE): În acest tutorial vă arăt cum puteți crea un ceas minimalist sincronizat cu internetul. L-am testat cu două plăci diferite bazate pe ESP8266: Firebeetle și NodeMCU. Microcontrolerul primește ora curentă de pe un server Google și îl afișează pe un
INDICATOR DE ILUMINAT BICICLETĂ: LUX: 7 pași (cu imagini)
INDICATOR DE ILUMINARE BICICLETĂ: LUX: LUX este un produs unic conceput pentru bicicletă. Este un gadget care poate fi spânzurat în poziția din spate a scaunului. Indică dacă ciclistul încetinește, se întoarce la stânga sau se întoarce la dreapta utilizând o matrice de LED-uri (ieșire). Este simplu și în