Sommario:

Dare a Thomas il treno la possibilità di guidare di notte: 5 passaggi
Dare a Thomas il treno la possibilità di guidare di notte: 5 passaggi

Video: Dare a Thomas il treno la possibilità di guidare di notte: 5 passaggi

Video: Dare a Thomas il treno la possibilità di guidare di notte: 5 passaggi
Video: ABBIAMO PASSATO TUTTA LA NOTTE IN STAZIONE E ARRIVANO DEI TRENI STRANI…😰 *3 di notte* 2024, Dicembre
Anonim
Dare a Thomas il treno la possibilità di guidare di notte
Dare a Thomas il treno la possibilità di guidare di notte

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

Forniture
Forniture

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

Progetta il circuito per le uscite e gli ingressi desiderati
Progetta 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

Sviluppa la codifica per soddisfare il risultato desiderabile
Sviluppa 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

Ascolta il treno che gira dietro l'angolo e guarda come le luci ti avvertono di fare un passo indietro
Ascolta il treno che gira dietro l'angolo e guarda come le luci 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

Configurazione finale
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: