Sommario:

Indicatore di bicicletta minimalista, abilitato al tocco!: 10 passaggi (con immagini)
Indicatore di bicicletta minimalista, abilitato al tocco!: 10 passaggi (con immagini)

Video: Indicatore di bicicletta minimalista, abilitato al tocco!: 10 passaggi (con immagini)

Video: Indicatore di bicicletta minimalista, abilitato al tocco!: 10 passaggi (con immagini)
Video: Tutti i settaggi dei computer di bordo delle ebike ADO - A20 A20F A16 Z20C 2024, Dicembre
Anonim
Image
Image

Ciao! Questo è il mio primo Instructable. Ho sempre voluto fare le cose da zero solo per vedere come funziona e a chi non piacciono le cose fai-da-te (fai da te) quando puoi modificare qualcosa in base alle tue esigenze, giusto? Per quanto interessante possa sembrare un fai-da-te, ci vuole un po' di sforzo per realizzarlo. Guardare attraverso il sito Web di Instructables è un ottimo modo per iniziare le tue aspirazioni fai-da-te ed è così che ho iniziato a costruire alcuni dei miei progetti in precedenza, ma non avrei mai pensato che ne avrei realizzato uno.

Proprio quando mi si è presentata l'opportunità, ho realizzato un indicatore per bicicletta con un design minimalista e abilitato al tocco. So che ci sono molti Instructables o fonti online per un indicatore di bicicletta, ma la maggior parte di loro ha preso più spazio o non è stata abbastanza intelligente da modificarli in un modo particolare. Se stai cercando un indicatore abbastanza intelligente da soddisfare le tue esigenze e darti la possibilità di modificarle secondo le tue esigenze, allora questo Instructable fa per te!

Perché Indicatore della bicicletta?

Adoro andare in bicicletta in giro per la città! Prendo la mia bicicletta e vado a fare un giro la mattina o la sera. A volte, di notte, è difficile guidare, perché il traffico dietro di te non ti noterà e questo è un segnale pericoloso. Questo è il motivo per cui ho voluto costruire io stesso un Indicatore con tutti i materiali che avevo con me a casa e anche Sembra fantastico in bicicletta mentre guidi in città accendendo gli indicatori!

Realizzare un progetto senza dover affrontare alcun problema, non succede! Ma ti racconterò tutti gli errori che ho fatto, mentre costruivo questo, come un "consiglio pratico" in modo che tu non provi a commetterli. Il video di YouTube contiene un'illustrazione di come è costruito il progetto, piccole animazioni per trasmettere come funzionano le cose e come appare l'indicatore sulla strada! Le informazioni più elaborate sono fornite in questo Instructable. Mentre procedi, taggherò i segmenti del mio video di YouTube come "Timeline: " ad ogni passaggio per farti vedere come funzionano le cose in pratica. È possibile ottenere maggiori informazioni facendo clic sui collegamenti evidenziati forniti.

Caratteristiche di questo progetto:

  • Indicazione di svolta a destra
  • Indicazione di svolta a sinistra
  • Indicazione della vista notturna
  • Abilitato al tocco

Passaggio 1: materiali per iniziare

Componenti di prova
Componenti di prova
  • Resistori (330 ohm e 120 ohm): 330 ohm e 120 ohm
  • Raspberry Pi 3: RPi 3
  • Tagliere: Tagliere
  • Ponticelli (maschio-maschio, maschio-femmina, femmina-femmina): ponticelli
  • Fili a più fili: fili a più fili
  • Sensore tattile capacitivo (TTP223) - (2): Link
  • LED RGB (tipo a catodo comune) - (13): LED RGB a catodo comune
  • LED normali - (2): LED
  • Materiali di saldatura: kit di saldatura
  • Tavole Perf: Tavola Perf
  • Powerbank: Powerbank
  • 1 micro condensatore elettrolitico Farad: condensatore elettrolitico
  • LDR (resistenza dipendente dalla luce): LDR
  • Fascette: Fascette
  • Correttore per cavi: Correttore per cavi
  • Vernice acrilica e pennelli (opzionale): vernice e pennelli
  • Due scatole di immagazzinaggio per il montaggio. (1 grande e 1 medio)

Conserva sempre una quantità extra rispetto a quanto menzionato sopra. Ho collegato i componenti su Amazon e alcuni kit best buy per i materiali di saldatura!

Cronologia: Raccogliere materiali

Passaggio 2: test dei componenti

Componenti di prova
Componenti di prova
Componenti di prova
Componenti di prova
Componenti di prova
Componenti di prova

Mettiamo alla prova i tuoi componenti! Questo è davvero utile per separare i componenti che sono danneggiati o si comportano in modo strano per qualche motivo e anche questa fase ti consente di ottenere l'esperienza pratica iniziale con i componenti e di imparare un po' prima di iniziare a costruire l'intero progetto.

Test per il tipo di LED RGB

Ci sono due tipi di LED RGB che troviamo sul mercato. Il tipo a catodo comune e il tipo ad anodo comune.

Questo è un consiglio utile (anche se più grande) perché ho collegato i LED come si vede da questo video qui e il LED non si è acceso come previsto anche dopo aver verificato più volte il circuito. Poi mi sono accorto che esistono due tipi di questo led e sfogliando la scheda tecnica ho finalmente trovato una soluzione! Il problema con il mio circuito era che il pin del catodo comune era collegato a 3,3 V come menzionato e avevo tenuto il pin GPIO su HIGH, quindi sia il pin del catodo comune che gli altri 3 pin erano allo stesso potenziale.

Soluzione: ho collegato a massa il pin del catodo comune e il LED si è acceso! Il motivo per cui non ho cambiato il mio codice per mantenere i pin GPIO BASSI perché utilizzeremo più LED in seguito e l'RPi ci fornisce solo due pin a 3,3 V di cui abbiamo bisogno anche per altri scopi!

Come testare il tipo?

Mantieni il multimetro in modalità di continuità. Tocca il cavo più lungo con la punta rossa del multimetro e con la punta nera, tocca uno qualsiasi degli altri cavi. Se il LED si accende eseguendo il passaggio precedente, si tratta di un LED RGB ad anodo comune. In caso contrario, invertire la punta del multimetro ora. Tocca il cavo più lungo con una punta nera e una punta rossa con qualsiasi altro cavo. Ora si accenderà mostrando che il LED è un LED RGB a catodo comune.

Consiglio pratico: in questo progetto ho utilizzato il tipo a catodo comune. Cerca di ottenere solo questi tipi, ma anche se l'altro tipo è disponibile non preoccuparti. Le connessioni del circuito rimangono le stesse, l'unica differenza deve essere fatta nel codice che darò come commento accanto alla riga di codice effettiva dove devi cambiare. Prendi un respiro.

Timeline: test RGB

Riferimento: Come testare RGB

Il LED RGB si accende

Per fare ciò, controlla lo schema di connessione fornito nelle immagini sopra e collegalo secondo i pin attraverso una breadboard (per tenerlo al sicuro all'inizio).

ROSSO: Pin 11 (resistenza da 330 ohm)

VERDE: Pin 13 (resistenza da 120 ohm)

BLU: Pin 15 (resistenza da 120 ohm)

I valori dei resistori variano a causa delle diverse tensioni in avanti dei cavi.

Dopo averli collegati correttamente, codifica l'RPi nel suo IDE Python integrato.

importa RPi. GPIO come GPIO

#I numeri dei pin corrispondono al numero esatto sull'RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Collega il pin del catodo comune al Pin 6 def turnOn(pin): GPIO.setmode(GPIO. BOARD) GPIO.setup(pin, GPIO. OUT) GPIO.output(pin, GPIO. HIGH) #GPIO.output(pin, GPIO. LOW) per tipo di anodo comune 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("Digita il tuo comando: ") if cmd == "red on ": #digita i comandi di input come menzionato esattamente all'interno di "" 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("Comando non valido") tranne KeyboardInterrupt: GPIO.cleanup()

Ho fatto riferimento a questo Instructable, controlla questo per una descrizione dettagliata e il codice!

Usando lo stesso codice sopra puoi controllare più LED insieme collegandoli in parallelo sulla breadboard ed estrarre il singolo punto da uno qualsiasi dei pin collegati insieme. Usa diversi valori di resistenza per ogni pin per controllare la luminosità dei tuoi LED

Suggerimento pratico: assicurati di collegare lo stesso tipo di pin in parallelo. Cioè, il pin rosso di un LED si collega solo al pin rosso dell'altro LED.

Timeline: falle brillare!

Test del TouchPad

La connessione del circuito è come mostrato qui (Timeline). Collegali come mostrato e prova i tuoi touchpad utilizzando il codice seguente.

Codice:

importa RPi. GPIO come GPIO

from time import sleep GPIO.setmode(IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup(touchpad1, GPIO. IN) GPIO.setup(touchpad2, GPIO. IN) # Possiamo clubare entrambi i sopra le istruzioni insieme come # GPIO.setup([touchpad1, touchpad2], GPIO. IN) try: while True: if(GPIO.input(touchpad1) == True): print ("Touchpad 1 toccato") sleep(2) elif (GPIO.input(touchpad2) == True): print ("Touchpad 2 toccato") sleep(2) else: print("Non toccato") tranne KeyboardInterrupt: GPIO.cleanup() #CTRL-C per uscire

Testare un LED

Fai riferimento a questo fantastico tutorial per testare il tuo LED!

Dopo aver testato tutti i componenti di cui sopra, sei pronto per costruirne la versione più grande.

Passaggio 3: saldatura del pannello indicatore

Saldatura del pannello indicatore
Saldatura del pannello indicatore
Saldatura del pannello indicatori
Saldatura del pannello indicatori
Saldatura del pannello indicatore
Saldatura del pannello indicatore

Se non conosci la saldatura, dai un'occhiata a questo tutorial per imparare alcune nozioni di base qui (Come saldare). Se sei un professionista della saldatura, iniziamo!

Il pannello degli indicatori

Puoi trovare l'illustrazione di come saldarli sulla scheda perf nelle immagini sopra.

Usiamo 13 LED RGB per il pannello. Separali in tre sezioni: sinistra, destra e centrale per saldare di conseguenza.

Importante: distanza dei LED

Ho lasciato 3 righe tra i LED. Come mostrato nella seconda immagine. Questo è importante affinché il pannello LED appaia e si senta bene. Non vogliamo che i LED siano troppo lontani per aumentare lo spazio o troppo vicini per non riuscire a distinguere la luce da lontano.

Suggerimento pratico: iniziare saldando prima tutti i pin del catodo comune

Suggerimento pratico: utilizzare cavi multifilo per collegare i LED insieme poiché sono meno robusti e facili da piegare. È possibile utilizzare i pin di interruzione extra dai LED per collegare le distanze più brevi

Sezione Destra: (5 LED)

  • Collega tutti i Pin rossi insieme
  • Collega tutti i Pin verdi insieme
  • Collegare insieme tutti i pin del catodo comune

Sezione Sinistra: (5 LED)

  • Collega tutti i Pin rossi insieme
  • Collega tutti i Pin verdi insieme
  • Collegare insieme tutti i pin del catodo comune

Sezione centrale: (3 LED)

Suggerimento pratico: questa sezione richiede sufficiente cautela. Non saldare tutti i pin insieme come abbiamo fatto nelle due sezioni precedenti!

  • Collega tutti i Pin rossi insieme
  • Collegare solo i LED superiore e inferiore, Pin verde.
  • Collegare insieme tutti i pin del catodo comune

fili

Abbiamo bisogno di cavi più lunghi per collegare il pannello alla scheda GPIO.

Suggerimento utile:

  • Usa cavi a filo singolo! Sono abbastanza robusti da resistere alle sollecitazioni meccaniche ad esso applicate!
  • Mantieni i fili un po' più lunghi della lunghezza effettiva necessaria tra il pannello e l'RPi (questo è molto utile mentre gestisci i fili in un secondo momento! (Timeline: misurazioni)
  • Isolare dopo la saldatura! Molto importante

Utilizzare un cavo per ponticello e un cavo a filo singolo per saldare. L'estremità del cavo del ponticello deve essere un connettore femmina. Saldarli come mostrato qui (Timeline)

Codifica a colori i fili come rosso, verde e nero. che corrisponde rispettivamente al pin rosso, al pin verde e al pin del catodo comune.

Abbiamo bisogno di 3 fili neri, 3 fili rossi e 3 fili verdi.

Una volta che i fili sono pronti. Saldare i fili ai LED indicatori.

Suggerimenti utili:

  • Assicurarsi che i LED siano saldati secondo le connessioni fornite.
  • Assicurati di aver saldato i valori corretti del resistore in posizione. Se i valori vengono modificati, influenzerà la luminosità dei LED
  • Un modo per assicurarsi che tutti i LED funzionino è utilizzare il multimetro indicato nel passaggio 2. Questo è molto utile poiché saprai che se c'è un cortocircuito i LED non si accendono.
  • Non spelare le estremità dei fili più a lungo del necessario. Questo sarà difficile mantenerli in posizione e anche un rischio maggiore di cortocircuito.
  • Utilizzare un cavo multifilare per il collegamento tra i LED.
  • Utilizzare un cavo a filo singolo per collegare le sezioni a RPi.

Passaggio 4: mettere alla prova il pannello degli indicatori

Metti alla prova il pannello degli indicatori
Metti alla prova il pannello degli indicatori
Metti alla prova il pannello degli indicatori
Metti alla prova il pannello degli indicatori
Metti alla prova il pannello degli indicatori
Metti alla prova il pannello degli indicatori

Complimenti! Se hai saldato correttamente il pannello. Procediamo ora con la codifica dell'indicatore!

Come accennato in precedenza, indicheremo una svolta a destra, una svolta a sinistra e l'attivazione/disattivazione del mirino notturno.

Fare riferimento al collegamento del circuito al punto 3.

Collegare i fili del pannello come indicato di seguito:

  • Rosso Destra -- Pin 7
  • Verde Destra -- Pin 11
  • Catodo comune destro -- Pin 6 (GND)
  • Rosso sinistro -- Pin 13
  • Verde sinistro -- Pin 15
  • Catodo comune sinistro -- Pin 9 (GND)
  • Rosso centrale -- Pin 16
  • Centro Verde (superiore e inferiore) -- Pin 18
  • Catodo comune centrale -- Pin 14 (GND)

Codice di prova:

importa RPi. GPIO come GPIO

from time import sleep #Connetti secondo i numeri di pin sotto 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 ("Svolta a destra") lampeggio (Green_right, Green_top_bottom, 0) def left_turn(): print ("Svolta a sinistra") lampeggio(Green_left, Green_top_bottom, 0) def lampeggio(pin1, pin2, pin3): if(pin3 == 0): GPIO.setup([pin1, pin2], GPIO. OUT) per x nell'intervallo (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2], GPIO. LOW) sleep (0.5) else: GPIO.setup([pin1, pin2, pin3], GPIO. OUT) per x nell'intervallo(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") lampeggio(Red_left, Red_right, Red_center) try: while True: cmd = input(" Prova LED per: ") if cmd == "svolta a destra": right_turn() elif cmd == "svolta a sinistra": left_turn() elif cmd == "night sight": night_sight() else: print("Invalid Command") tranne Ke yboardInterrupt: GPIO.cleanup()

Se il tuo pannello cancella tutte le fasi di test come da codice, ben fatto! Preparati per il prossimo passo

Se il pannello non si accende, assicurati di aver seguito correttamente tutti i passaggi e di aver esaminato i suggerimenti utili in precedenza. Se il problema persiste, puoi commentare in basso, sarò pronto ad aiutarti.

Timeline: Test ONE (Controlla il video per il prototipo funzionante)

Passaggio 5: integrazione del pannello degli indicatori con il touchpad

Integrazione del pannello degli indicatori con il touchpad
Integrazione del pannello degli indicatori con il touchpad
Integrazione del pannello degli indicatori con il touchpad
Integrazione del pannello degli indicatori con il touchpad
Integrazione del pannello degli indicatori con il touchpad
Integrazione del pannello degli indicatori con il touchpad

Collegamento a RPi

Effettuare i collegamenti come mostrato nell'immagine sopra.

Pannello destro

Tastierino:

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

GUIDATO:

Pin anodo(+) -- Pin 33

Pannello sinistro

Tastierino:

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

GUIDATO:

Pin anodo(+) -- Pin 35

Common GND: Pin 39 (sia per il catodo che per i LED) - Common Ground Saldatura (Timeline)

Codice di prova:

importa RPi. GPIO come GPIO

da time import sleep 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 attivato = 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(canale): GPIO.output (right_led, GPIO. HIGH) attivato globale attivato = 1 stampa ("Svolta a destra") lampeggio (Green_right, Green_top_bottom) def left_turn (canale): GPIO.output(left_led, GPIO. HIGH) attivato globale attivato = 1 stampa ("Svolta Left") blink(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) def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) per x nell'intervallo(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) trigger globale attivato = 0 def night_sight(): while (True): GPIO.setup([Red_center, Red_left, Red_right], GPIO. OUT) globale attivato se (attivato == 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() tranne KeyboardInterrupt: GPIO.cleanup()

Tocca il touchpad per vedere la tua luce risplendere

Timeline (senza LED di indicazione): prova due

Timeline (con LED di indicazione): Test 3

Spiegazione del codice: vogliamo che il mirino notturno funzioni continuamente e quando tocchiamo il touchpad dovrebbe fermarsi ed eseguire la funzione del touchpad. Per fare ciò contemporaneamente usiamo qualcosa noto come "Interrupt" in Python. Questo ci consente di eseguire il nostro codice normale che è il mirino notturno qui e attiva anche un evento quando viene rilevato un tocco. Usiamo la variabile attivata come flag per fermare il mirino notturno.

Per ulteriori informazioni sugli interrupt, controllare questo collegamento.

Saldare il pannello

Ora saldiamo i pannelli del touchpad che andranno al manubrio della bicicletta. Fare riferimento ai collegamenti come indicato nell'immagine sopra.

Ora che hai testato il tuo LED e il touchpad, sei a posto. Se non hai già eseguito il test, fai riferimento a questo passaggio e ai passaggi precedenti.

Posiziona il touchpad vicino al manubrio come mostrato nel video. Cioè, per il touchpad destro il touchpad è a destra ea sinistra alla sua sinistra. Allo stesso modo, per il touchpad sinistro, il led è a destra e il touchpad a sinistra che rende più facile raggiungere il pollice.

PS: non ho saldato il touchpad alla scheda perf perché dovevo riutilizzarlo di nuovo. Quindi l'ho semplicemente messo sul pannello con del nastro biadesivo.

Collega il pannello a RPi usando cavi più lunghi

Passaggio 6: rendilo intelligente

Rendilo intelligente!
Rendilo intelligente!
Rendilo intelligente!
Rendilo intelligente!
Rendilo intelligente!
Rendilo intelligente!

Sì! Ora che abbiamo tutti gli elementi essenziali dell'indicatore attivi e funzionanti. Facciamo un ulteriore passo avanti per renderlo intelligente.

Qui smart definisce anche il risparmio sulla batteria. Come avrai notato, il mirino notturno è sempre acceso e talvolta potrebbe non essere necessario in una giornata di sole splendente. Per superare questo problema, integriamo un LDR (Light Dependent Resistor) per darci i dati di intensità della luce che possiamo raccogliere ed elaborare di conseguenza il nostro indicatore.

Testare l'LDR

Ho fatto riferimento a questo sito Web per testare l'LDR per verificare l'intensità della luce e quale valore restituisce.

Fare riferimento al sito web taggato sopra per il circuito e il codice di esempio per il funzionamento dell'LDR.

Integrare l'LDR nel nostro codice

Saldare l'LDR al pannello destro del touchpad come mostrato nello schema di collegamento sopra.

Dopo aver saldato i pin nel posto giusto, è il momento dell'ultimo bit della codifica. Il codice finale!

  • Collegare il punto comune del Catodo (-) del condensatore e l'LDR al Pin 36 dell'RPi
  • L'anodo del condensatore è collegato al punto Common Ground di cui al punto 5

Codice finale:

importa RPi. GPIO come GPIO

da time import sleep 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(canale): GPIO.output(right_led, GPIO. HIGH) trigger globale attivato = 1 stampa ("Svolta a destra") lampeggio (Green_right, Green_top_bottom) def left_turn (canale): GPIO.output(left_led, GPIO. HIGH) trigger globale attivato = 1 stampa ("Svolta a sinistra") blink(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) def light_sensing (ldr): count = 0 #Output sul pin per GPIO.setup(ldr, GPIO. OUT) GPIO.output(ldr, GPIO. LOW) sleep(0.1) #Chang e il pin torna all'input GPIO.setup(ldr, GPIO. IN) #Conta fino a quando il pin diventa alto while (GPIO.input(ldr) == GPIO. LOW): count += 1 return count def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) per x nell'intervallo(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) globale attivato if(light_sensing(ldr) > 7800): if (attivato == 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) prova: night_sight() eccetto KeyboardInterrupt: GPIO.cleanup()

Ecco! E l'indicatore è pronto a partire.

Suggerimento pratico: prima di assemblare l'RPi e altri componenti sul ciclo, assicurati di testare correttamente questo programma! Eseguilo alcune volte per eseguire il debug di eventuali errori.

Passaggio 7: verniciatura e assemblaggio

Verniciatura e Assemblaggio
Verniciatura e Assemblaggio
Verniciatura e Assemblaggio
Verniciatura e Assemblaggio
Verniciatura e Assemblaggio
Verniciatura e Assemblaggio

Materiali richiesti:

  • Strumenti di taglio/spelatura del filo
  • Una grande scatola di immagazzinaggio per adattarsi a Raspberry Pi
  • Una piccola scatola di immagazzinaggio per adattarsi al pannello indicatore
  • Dipingere
  • Pennelli

Inizia dipingendo il pannello Indicatore e i pannelli del touchpad con il colore nero. Ho usato colori acrilici qui puoi usarli a tua scelta che si sposano bene con la tavola perforata. Usa uno sfondo nero in modo da rendere il pannello LED più vivace e risaltante. Fai i fori usando un cacciavite riscaldato o usando qualsiasi oggetto metallico per fondere la plastica.

Nota: si prega di fare attenzione durante la creazione di fori.

Cronologia: vernice

Consiglio pratico: ho usato scatole di plastica e la vernice si stacca facilmente. Assicurati di utilizzare vernici di buona qualità

Una volta verniciati Indicatore e pannelli, farli asciugare al sole e prepararsi per il montaggio.

Ho tagliato i bordi extra della scheda di perforazione nel pannello indicatore e nel pannello frontale per risparmiare spazio.

Guarda il video per il montaggio!

Cronologia: Vendicatori! Assemblare. (Assemblaggio pannello indicatore e RPi con scatole)

Come si vede nel video mettete i fili di conseguenza praticando tre fori nella scatola più grande. Uno per il cavo della banca di alimentazione RPi, uno per i pannelli del touchpad e uno per il pannello degli indicatori. È necessario un solo foro per la scatola più piccola.

Consiglio pratico: controlla l'isolamento dei fili e controlla se i fili sono saldati correttamente prima di collegarli nella scatola.

Passaggio 8: test remoto con VNC e codice finale

Test remoto con VNC e codice finale
Test remoto con VNC e codice finale
Test remoto con VNC e codice finale
Test remoto con VNC e codice finale

Un ultimo test prima che l'indicatore sia completamente pronto. Collega il tuo RPi al visualizzatore VNC ed esegui il programma.

Uso sempre un server VNC per eseguire il programma ed eseguire il debug di eventuali errori nel programma. In questo modo posso posizionare l'RPi direttamente nel luogo in cui voglio eseguire il test senza collegare il monitor esternamente.

Controlla questa pagina per connettere il tuo RPi al server VNC. (Server VNC)

Dopo aver connesso l'RPi al server VNC. È possibile eseguire il codice sul desktop virtuale ed eseguire il debug degli errori.

Timeline: Esegui all'avvio

Suggerimento pratico: una volta connesso il Raspberry Pi al desktop virtuale, accederai con l'indirizzo IP dell'RPi. Ma se ricevi un errore che indica che l'RPi ha rifiutato la connessione, è a causa della modifica dell'indirizzo IP nell'RPI. Questo può accadere quando riavvii il router o un hotspot WiFi e poi provi ad accedere con il vecchio indirizzo. Il router assegna un nuovo IP ogni volta che lo riavvii. Ma se ricordi il vecchio indirizzo IP dell'RPi, incrementa l'ultima cifra di 1 e accedi. Esempio: se il vecchio indirizzo IP è 190.148.1.100, accedi utilizzando 190.148.1.101

Dopo aver verificato che tutto funzioni correttamente, è il momento dell'assemblaggio finale.

Sempre non possiamo avere un desktop virtuale per monitorare o eseguire lo script Python. Quindi facciamolo all'avvio.

Vogliamo che il nostro programma venga eseguito una volta avviato l'RPi. Controlla questo sito per maggiori dettagli su questo!

Se il tuo RPi è in configurazione di accesso automatico, continua;

Esegui i seguenti comandi nel terminale di RPi

sudo nano /etc/profile

Scorri fino in fondo e aggiungi la seguente riga:

sudo python percorso_file &

Il file_path qui si riferisce al percorso del file python in cui è memorizzato il codice finale.

Nota: è necessario aggiungere la e commerciale (&) alla fine del file in modo che il programma venga eseguito parallelamente all'avvio del sistema. Poiché il nostro programma contiene un ciclo infinito, questo passaggio è obbligatorio in modo che anche se il programma non funziona come previsto, possiamo comunque utilizzare il desktop RPi per modificare le impostazioni.

Dopodiché premi CTRL-X e poi YPremi Invio due volte e tornerai al terminale di comando.

Riavvia il Pi

Ora il codice dovrebbe essere eseguito all'avvio

Passaggio 9: gestione dei cavi e assemblaggio finale

Gestione dei cavi e assemblaggio finale
Gestione dei cavi e assemblaggio finale
Gestione dei cavi e assemblaggio finale
Gestione dei cavi e assemblaggio finale
Gestione dei cavi e assemblaggio finale
Gestione dei cavi e assemblaggio finale

Congratulazioni! al termine di questo progetto. Gli ho dato la parola Minimal come hai visto abbiamo utilizzato meno LED per mostrare tutte le indicazioni necessarie e anche con colori personalizzati. Sentiti libero di usare colori diversi per i tuoi LED come il giallo per gli indicatori di direzione o qualsiasi altro.

Se hai realizzato questo progetto clicca su "Ce l'ho fatta" e condividi la tua esperienza. Condividi i tuoi pensieri e anche eventuali suggerimenti o commenti su questo progetto. Mi piacerebbe sentirlo!

Gestione dei cavi

Sì! Come avrai notato, ci sono così tanti fili che entrano ed intorno ai cicli e gestirli è frenetico. Ho usato etichette per cavi, nastri isolanti e guaine per cavi per nascondere i fili e li ho anche dipinti di nero come hai visto nell'immagine.

Consiglio pratico: poiché hai lasciato sui cavi centimetri in più del necessario, ora è utile gestirli correttamente senza stressarli! Se uno dei tuoi LED si accende e altri no anche se hai fatto tutto bene, il problema è i cavi dei ponticelli collegati all'RPi, ci sarà un contatto allentato. Se questo persiste, utilizzare un ponticello maschio-femmina per estendere il filo e collegarli. Usa fascette per cavi per mantenere i fili in posizione in modo che non si muovano.

Ora l'indicatore è pronto per un giro! Divertirsi

PS: In un'ulteriore istruzione mi piacerebbe davvero ridurre il numero di fili nel circuito e trovare un piano migliore. Se lo faccio condividerò un Instructable su questo!

Passaggio 10: alcune immagini dell'indicatore

Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore
Alcune immagini dell'indicatore

Grazie per aver letto questo Instructable. Spero che vi sia piaciuto quanto me nel realizzarlo

Timeline: test finale Nel segmento sopra, puoi vedere che non appena la stanza diventa più buia, il "Night Sight" si accende e quando diventa più luminoso si spegne immediatamente!

Timeline: Pronto per il lancioAlcuni video che ho preso per mostrare l'indicatore sotto i riflettori. Tutti i crediti al ciclismo delle mie sorelle per il video!

Consigliato: