Sommario:
- Passaggio 1: materiali di consumo
- Passaggio 2: progettare il circuito per le uscite e gli ingressi desiderati
- Passaggio 3: sviluppare la codifica per soddisfare il risultato desiderabile
- Passaggio 4: ascolta l'arrivo del treno dietro l'angolo e osserva le luci che ti avvertono di fare un passo indietro
- Passaggio 5: configurazione finale
Video: Dare a Thomas il treno la possibilità di guidare di notte: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo tutorial ti insegnerà come creare un sistema di luci per avvertire i passeggeri in attesa quando un treno si sta avvicinando e anche come far apparire un messaggio su un laptop quando il treno è alla stazione. Verrà generato un suono per quando il treno passa dalla stazione insieme a una serie di luci LED lampeggianti. Tutto questo può essere fatto usando un Raspberry Pi.
Passaggio 1: materiali di consumo
Un computer
MatLab 2016 o successivo
Scarica il pacchetto Raspberry Pi
stampante 3d
Stazione ferroviaria stampata in 3D per ospitare il lampone pi
Raspberry Pi con i seguenti componenti:
2 sensori a infrarossi
5 luci LED di colore a tua scelta
11 fili
2 resistori
Resistori da 200-300 Ohm
USB Chord per collegare il computer al raspberry pi
Passaggio 2: progettare il circuito per le uscite e gli ingressi desiderati
Utilizzando i circuiti di base, le luci e l'emettitore e il ricevitore a infrarossi dovrebbero essere collegati al Raspberry Pi. Le luci LED rosse sono collegate a terra e quindi sono collegate ai pin GPIO 4, 5, 6 e 7. Il ricevitore a infrarossi è collegato al pin 21 GPIO e l'emettitore a infrarossi è collegato al pin 5V.
Passaggio 3: sviluppare la codifica per soddisfare il risultato desiderabile
Le righe più importanti del codice sono le righe 12 e 16 che avviano le finestre di dialogo. La riga 18, l'istruzione if, sta leggendo se i sensori a infrarossi hanno un'ostruzione tra di loro e se sono ostruiti significa che il treno sta passando, suonerà il clacson e si accenderanno le luci. Se l'affermazione è falsa non succederà nulla perché il treno non si avvicina.
Codice: %% Intestazione
%Microcontroller Project-Treno notturno
%John Brown, Trent Payne, Karsten Parker;Sezione 9
% 3 ottobre 2017
%Descrizione del progetto: progettare un microcontrollore che accetta due ingressi e
% produce due output per aiutare a migliorare gli aspetti di una configurazione di un treno modello
Metodo di soluzione: utilizzare varie risorse e Matlab per migliorare gli aspetti del
% di configurazione del treno modello.
%% Setup-Primo ingresso/uscita
mentre vero
a=0;%inizializza a
mentre readDigitalPin(rpi, 21) == 1
a=1;% interrompe l'esecuzione del codice chiaro prima del codice della finestra di dialogo della domanda
question=('Il treno si ferma alla stazione. Vuoi suonare il clacson?');
question_title=('Clacson del treno');
resp=questdlg(question, question_title, 'yes', 'no', 'no');% apre la finestra di dialogo della domanda con due opzioni e una risposta predefinita
tf=strcmp(resp, 'yes');% confronta la lunghezza dell'array di caratteri della risposta all'array di caratteri yes.
if tf==1%if resp='sì'
[Y, FS]=audioread('train_horn.m4a');% prende il file audio e lo converte in dati di campionamento, y, e frequenza di campionamento, FS.
Il comando sound(Y, FS)%sound prende i dati campionati e la frequenza di campionamento e genera il suono
msgbox('Il clacson del treno sta suonando!')
pausa(2)
rottura
else%if resp='no', tf sarà 0 logico poiché gli array di caratteri no e yes hanno lunghezze diverse
msgbox('Il clacson del treno non è stato suonato!')
pausa(2)
rottura
fine
fine
while readDigitalPin(rpi, 21) == 1 && a==1 %inizia il ciclo while mentre l'interruttore è attivato e la finestra di dialogo della domanda è stata eseguita
%Questo primo segmento di codice accende le luci in ordine.
writeDigitalPin(rpi, 4, 0)
pausa(0.25)
writeDigitalPin(rpi, 5, 0)
pausa(0.25)
writeDigitalPin(rpi, 6, 0)
pausa(0.25)
writeDigitalPin(rpi, 7, 0)
pausa(0.25)
%Questo secondo segmento di codice spegne le luci in ordine.
writeDigitalPin(rpi, 4, 1)
pausa(0.25)
writeDigitalPin(rpi, 5, 1)
pausa(0.25)
writeDigitalPin(rpi, 6, 1)
pausa(0.25)
writeDigitalPin(rpi, 7, 1)
pausa(0.25)
end%end while loop
fine
Passaggio 4: ascolta l'arrivo del treno dietro l'angolo e osserva le luci che ti avvertono di fare un passo indietro
Mentre il treno si avvicina e attraversa i sensori a infrarossi, le luci si spengono, facendo suonare il clacson del treno per far arrivare i passeggeri ad allontanarsi dal bordo; tuttavia, ci sarà anche una finestra di dialogo che si aprirà chiedendo al conducente del treno, "Il treno si sta avvicinando alla stazione, il treno si sta fermando?", quindi un secondo dice "Il clacson del treno sta suonando", e se il clacson non è tirato, una terza finestra di dialogo dirà: "il corno non è stato suonato".
Passaggio 5: configurazione finale
Per completare il progetto, l'intero sistema dovrebbe essere combinato nella stazione ferroviaria blu che è stata stampata in 3D per l'estetica. La stazione dei treni simboleggia dove saranno i passeggeri all'arrivo del treno. Ora saranno al sicuro grazie al sistema di allerta del treno notturno.
Consigliato:
Menu display OLED Arduino con possibilità di selezionare: 8 passaggi
Menu display OLED Arduino con opzione da selezionare: in questo tutorial impareremo come creare un menu con un'opzione di selezione utilizzando Display OLED e Visuino.Guarda il video
Rover-One: dare un cervello a un camion/auto RC: 11 passaggi
Rover-One: dare un cervello a un camion/auto RC: questo Instructable è su un PCB che ho progettato chiamato Rover-One. Rover-One è una soluzione che ho progettato per prendere un'auto/camion RC giocattolo e dargli un cervello che include componenti per rilevare il suo ambiente. Rover-One è un PCB da 100 mm x 100 mm progettato in EasyED
Come dare un senso attuale all'ADC: 5 passaggi
Come dare il senso della corrente ADC: In questo Instructable descriveremo come implementare un convertitore analogico-digitale (ADC) a 8 bit nell'SLG46855V in grado di rilevare la corrente di carico e interfacciarsi con un MCU tramite I2C. Questo design può essere utilizzato per varie applicazioni di rilevamento della corrente come
Non dimenticare di dare da mangiare al cane: 3 passaggi
Non dimenticare di dare da mangiare al cane: è successo troppe volte! Ho guardato la ciotola del cibo o dell'acqua ed era vuota. Da molto tempo volevo imparare ad usare Arduino, quindi ho pensato che questo sarebbe stato un buon progetto di partenza, volevo sapere, a colpo d'occhio, quanto sono bassi i cibo e acqua
Circuit Learn NANO: un PCB. Facile da imparare. Infinite possibilità.: 12 passaggi (con immagini)
Circuit Learn NANO: un PCB. Facile da imparare. Infinite possibilità.: Iniziare nel mondo dell'elettronica e della robotica può essere piuttosto scoraggiante all'inizio. Ci sono molte cose da imparare all'inizio (progettazione del circuito, saldatura, programmazione, scelta dei componenti elettronici giusti, ecc.) e quando le cose vanno male