Table des matières:

Donner à Thomas the Train la capacité de conduire la nuit : 5 étapes
Donner à Thomas the Train la capacité de conduire la nuit : 5 étapes

Vidéo: Donner à Thomas the Train la capacité de conduire la nuit : 5 étapes

Vidéo: Donner à Thomas the Train la capacité de conduire la nuit : 5 étapes
Vidéo: Quand le train rentre DANS la gare !! 2024, Juillet
Anonim
Donner à Thomas le train la capacité de conduire la nuit
Donner à Thomas le train la capacité de conduire la nuit

Cette instructable vous apprendra comment créer un système de lumières pour avertir les passagers en attente lorsqu'un train approche et aussi comment faire apparaître un message sur un ordinateur portable lorsque le train est à la gare. Un son pour le passage du train à la gare sera généré avec une série de lumières LED clignotantes. Tout cela peut être fait à l'aide d'un Raspberry Pi.

Étape 1: Fournitures

Fournitures
Fournitures

Un ordinateur

MatLab 2016 ou plus récent

Télécharger le package Raspberry Pi

Imprimante 3D

Une gare imprimée en 3D pour abriter le Raspberry Pi

Raspberry Pi avec les composants suivants:

2 capteurs infrarouges

5 lumières LED de votre choix de couleur

11 fils

2 résistances

Résistances 200-300 Ohm

Cordon USB pour connecter l'ordinateur au raspberry pi

Étape 2: Concevoir le circuit pour les sorties et entrées souhaitées

Concevoir le circuit pour les sorties et entrées souhaitées
Concevoir le circuit pour les sorties et entrées souhaitées

En utilisant des circuits de base, les lumières et l'émetteur et le récepteur infrarouges doivent être connectés au Raspberry Pi. Les voyants LED rouges sont reliés à la terre, puis connectés aux broches GPIO 4, 5, 6 et 7. Le récepteur infrarouge est connecté à la broche GPIO 21 et l'émetteur infrarouge est connecté à la broche 5V.

Étape 3: Développer un codage pour satisfaire le résultat souhaité

Développer un codage pour satisfaire le résultat souhaité
Développer un codage pour satisfaire le résultat souhaité

Les lignes les plus importantes du code sont les lignes 12 et 16 qui lancent les boîtes de dialogue. La ligne 18, l'instruction if, indique si les capteurs infrarouges ont un obstacle entre eux et s'ils sont obstrués, cela signifie que le train passe, le klaxon sonnera et les lumières s'allumeront. Si la déclaration est fausse, rien ne se passera car le train ne s'approche pas.

Code: %% En-tête

%Projet de microcontrôleur-Train de nuit

%John Brown, Trent Payne, Karsten Parker;Section 9

%3 octobre 2017

%Description du projet: Concevoir un microcontrôleur qui prend deux entrées et

% produit deux sorties pour aider à améliorer les aspects d'une configuration de train miniature

Méthode %Solution: Utilisez diverses ressources et Matlab pour améliorer certains aspects de la

%configuration du train miniature.

%% Configuration-Première entrée/sortie

bien que vrai

a=0;%initialise un

tandis que readDigitalPin(rpi, 21) == 1

a=1;% arrête l'exécution du code lumineux avant le code de la boîte de dialogue de la question

question=('Le train s'arrête à la gare. Voulez-vous sonner le klaxon ?');

question_title=('Avertisseur sonore');

resp=questdlg(question, question_title, 'yes', 'no', 'no'); % affiche une boîte de dialogue de question avec deux options et une réponse par défaut

tf=strcmp(resp, 'yes');% compare la longueur du tableau de caractères de la réponse au tableau de caractères yes.

si tf==1% si resp='oui'

[Y, FS]=audioread('train_horn.m4a');% prend le fichier audio et le convertit en données d'échantillonnage, y, et en taux d'échantillonnage, FS.

la commande sound(Y, FS)%sound prend les données échantillonnées et le taux d'échantillonnage et génère du son

msgbox('Le klaxon du train sonne !')

pause(2)

Pause

else%if resp='no', tf sera un 0 logique car les tableaux de caractères no et yes sont de longueurs différentes

msgbox('Le klaxon du train n'a pas retenti !')

pause(2)

Pause

finir

finir

tandis que readDigitalPin(rpi, 21) == 1 && a==1 % démarre pendant que la boucle pendant que le commutateur est activé et que la boîte de dialogue de question s'est exécutée

%Ce premier segment de code allume les lumières dans l'ordre.

écrireDigitalPin(rpi, 4, 0)

pause (0,25)

écrireDigitalPin(rpi, 5, 0)

pause (0,25)

écrireDigitalPin(rpi, 6, 0)

pause (0,25)

écrireDigitalPin(rpi, 7, 0)

pause (0,25)

%Ce deuxième segment de code éteint les lumières dans l'ordre.

écrireDigitalPin(rpi, 4, 1)

pause (0,25)

écrireDigitalPin(rpi, 5, 1)

pause (0,25)

écrireDigitalPin(rpi, 6, 1)

pause (0,25)

écrireDigitalPin(rpi, 7, 1)

pause (0,25)

boucle end%end while

finir

Étape 4: Écoutez le train qui arrive au coin de la rue et observez les lumières vous avertir de prendre du recul

Écoutez le train qui arrive au coin de la rue et regardez les lumières vous avertir de prendre du recul
Écoutez le train qui arrive au coin de la rue et regardez les lumières vous avertir de prendre du recul

À mesure que le train s'approche et traverse les capteurs infrarouges, les lumières s'éteignent, déclenchant le klaxon du train pour que les passagers s'éloignent du bord; cependant, il y aura aussi une boîte de dialogue qui apparaîtra demandant au chef de train, "Le train approche de la gare, le train s'arrête-t-il?", puis une seconde lit "Le klaxon du train sonne", et si le klaxon n'est pas tiré, une troisième boîte de dialogue dira, "le klaxon n'a pas été sonné."

Étape 5: Configuration finale

Configuration finale
Configuration finale

Pour terminer le projet, l'ensemble du système doit être combiné dans la gare bleue qui a été imprimée en 3D pour l'esthétique. La gare symbolise l'endroit où seront les passagers à l'arrivée du train. Désormais, ils seront en sécurité grâce au système d'alerte Night Train.

Conseillé: