Table des matières:

LifeGuard 2.0 : 7 étapes (avec photos)
LifeGuard 2.0 : 7 étapes (avec photos)

Vidéo: LifeGuard 2.0 : 7 étapes (avec photos)

Vidéo: LifeGuard 2.0 : 7 étapes (avec photos)
Vidéo: 🤑 Renault Megane 4: одна из самых популярных б/ушек из Европы. Что с ним не так? 2024, Juillet
Anonim
LifeGuard 2.0
LifeGuard 2.0

Avez-vous déjà voulu effectuer des opérations mathématiques, effectuer des relevés de capteurs, surveiller des entrées analogiques et numériques et contrôler des sorties analogiques et numériques sans aucune expérience en électronique ? Si oui, ce projet est fait pour vous ! Nous utiliserons un microcontrôleur et MATLAB pour créer un appareil pouvant être utilisé pour surveiller et améliorer le système EF Express SMART RAIL. Avec un microcontrôleur, les possibilités d'entrées et de sorties (signal/information entrant dans la carte et signal sortant de la carte) sont infinies. Nous utiliserons un capteur flexible et un potentiomètre comme entrées. Leurs sorties seront un message via un écran LCD et des lumières LED avec un buzzer, respectivement. Les améliorations que nous espérons mettre en œuvre dans le système SMART RAIL concernent l'amélioration de la sécurité du système. Prenez votre ordinateur portable et votre microcontrôleur, et commençons !

Étape 1: Logiciel et matériel

Logiciel et matériel
Logiciel et matériel
Logiciel et matériel
Logiciel et matériel
Logiciel et matériel
Logiciel et matériel
Logiciel et matériel
Logiciel et matériel

Logiciel requis

1.) MATLAB

- Vous devrez télécharger une version locale de MATLAB sur votre ordinateur. Allez sur mathworks.com et créez un compte MATHWORKS, téléchargez des fichiers et activez votre licence.

-Vous devez télécharger et installer TOUTES les boîtes à outils disponibles pour la dernière version (R2016a ou R2016b).

-Utilisateurs Mac: vous devez avoir OSX 10.9.5 ou une version ultérieure pour exécuter R2015b, il est possible d'exécuter une version antérieure de MATLAB.

2.) Paquet de support matériel Arduino:

-Installez le package de support matériel Arduino. Ouvrez MATLAB. Dans l'onglet Accueil de MATLAB, dans le menu Environnement, sélectionnez Add-Ons Get Hardware Support Packages Sélectionnez le "MATLAB Support Package for Arduino Hardware". Vous devrez vous connecter à votre compte MATHWORKS

-Si votre installation est interrompue et que vous rencontrez des échecs/erreurs successifs lors de l'installation du package matériel, recherchez et supprimez le dossier de téléchargement Arduino sur votre disque dur et recommencez depuis le début.

Les matériaux nécessaires

1.) Ordinateur portable ou de bureau

2.) Carte Arduino SparkFun

3.) Capteur Flex

4.) Potentiomètre

5.) Écran LCD

6.)Lumière LED

7.) Kit de l'inventeur SparkFun (Trouvez en ligne)

8.) Câble USB et mini USB

9.) Cavaliers

10.) Buzzer piézo

Étape 2: Connectez-vous à votre Arduino et déterminez le port COM

(Votre port COM peut changer à chaque connexion) Connectez le câble USB Arduino à votre ordinateur et le mini USB à votre carte Arduino. Vous devrez peut-être attendre quelques minutes pour que les pilotes se téléchargent.

Pour déterminer le port COM:

Sur PC

Méthode 1: Dans MATLAB, utilisez la commande - fopen(serial('nada'))

-pour déterminer votre port com. Vous pouvez obtenir une erreur comme celle-ci: Erreur lors de l'utilisation de serial/fopen (ligne 72) Échec de l'ouverture: Port: NADA n'est pas disponible. Ports disponibles: COM3. Cette erreur indique que votre port est 3.

-Si la méthode 1 échoue sur votre PC, ouvrez votre gestionnaire de périphériques et développez la liste des ports (COM et LPT). Notez le numéro sur le port série USB. par exemple. 'USB Serial Port(COM*)' Le numéro de port est le * ici.

-Si aucun port n'est affiché, fermez MATLAB et redémarrez votre ordinateur. Ouvrez MATLAB et réessayez fopen(serial('nada')).

-Si cela échoue, vous devrez peut-être télécharger les pilotes de SparkFun à partir du fichier CDM_v2.12.00_WHQL_Certified.exe, ouvrir et exécuter le fichier CDM_v2.12.00_WHQL_Certified.exe, puis sélectionner Extraire. (Vous devrez peut-être ouvrir le fichier à partir de l'explorateur, faire un clic droit et « Exécuter en tant qu'administrateur »).

-Dans la fenêtre de commande MATLAB, créez un objet Arduino - a=arduino('comx', 'uno'); % x est votre numéro de port ci-dessus pour les PC (pas de zéros précédents !)

Sur un Mac

Méthode 1: À partir de la ligne de commande MATLAB ou dans un terminal Mac et tapez: 'ls /dev/tty.*' Notez le numéro de port indiqué pour dev/tty.usbmodem* ou dev/tty.usbserial*. Le numéro de port est le * ici.

-Si la méthode 1 échoue sur votre MAC, vous devrez peut-être

-Quitter MATLAB

-Fermez le logiciel Arduino et débranchez le câble USB Arduino

-installer Java 6 Runtime

-installer l'extension du noyau du pilote USB

-Redémarrez votre ordinateur

-Reconnectez le câble USB Arduino

-Exécuté à partir de la ligne de commande MATLAB ou du terminal Mac: ls /dev/tty.*

-Notez le numéro de port indiqué pour dev/tty.usbmodem* ou dev/tty.usbserial*. Le numéro de port est le * ici.

-Dans la fenêtre de commande MATLAB, créez un objet Arduino - a=arduino('/dev/tty.usbserial*', 'uno'); % * est votre numéro de port ci-dessus pour les MAC, ou '/dev/tty.usbmodem*'

Étape 3: Code Matlab

Code Matlab
Code Matlab
Code Matlab
Code Matlab

Contributions:

1.) Capteur Flex

2.) Potentiomètre

Les sorties:

1.) Écran LCD avec message indiquant « Train Coming »

2.) Lumière LED

3.) Buzzer piézo

Dans cette étape, nous allons construire le code qui analysera les entrées de la carte Arduino et fournira des sorties basées sur les résultats de l'analyse de MATLAB. Le code suivant vous permettra d'effectuer plusieurs fonctions: au déclenchement du potentiomètre, le buzzer piézo émettra des fréquences alternées et la LED rouge clignotera. Lorsqu'un train n'est pas détecté, la LED verte s'allume. Lorsque le capteur Flex est déclenché, la LED de cupidité s'éteint, la LED rouge s'allume et l'écran LCD affiche un message indiquant « Train à venir ».

Code MATLAB:

%remery1, shornsb1, wmurrin

% Objectif: avertissement de train

%IEntrée: potentiomètre, capteur flexible

% sortie: lcd, son, lumière

%Si la carte n'est pas initialisée ou a des problèmes de connexion, exécutez le

% sous les commandes dans les commentaires. Ils n'ont pas besoin d'être exécutés à chaque fois

%tout effacer

%ferme tout

%clc

%a=arduino('/dev/tty.usbserial-DN01DXOM', 'uno');

%lcd = addon(a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

%Configurez la carte une fois qu'elle est connectée

configurePin(a, 'D8', 'pullup');%configure D8

configurePin(a, 'D9', 'PWM'); %configure D9

temps=50; %réglez l'heure à 50

clearLCD(lcd) %initialiser l'écran LCD

%Démarrer la boucle

pendant que le temps>0

La tension du capteur %Flex détermine si la lumière est verte ou si la lumière

%est rouge et l'écran LCD affiche "train à venir"

flex_status = readVoltage(a, 'A0'); % tension de lecture du capteur flexible

si flex_status>4 %si la tension est supérieure à 4, déclencher la boucle

writeDigitalPin(a, 'D12', 0) % éteint vert

writeDigitalPin(a, 'D11', 1) % allumer rouge

printLCD(lcd, 'Train Coming') % afficher "train coming" sur l'écran LCD

pause(5) %Attendez 5 secondes

clearLCD(lcd) %Effacer le message de l'écran LCD

writeDigitalPin(a, 'D11', 0) % Éteignez la LED rouge

autre

finir

pe_status = readVoltage(a, 'A2'); %Lire la tension du potentiomètre

si pe_status>2 %si la tension est supérieure à 2, déclencher la boucle

writeDigitalPin (a, 'D13', 1); % allumer la LED rouge

playTone(a, 'D9', 400,.25); % Lecture 400 Hz sur buzzer piézo,.25 sec

writeDigitalPin (a, 'D13', 0)% éteindre la LED rouge

pause(.25)% attendre.25 secondes

writeDigitalPin(a, 'D13', 1) %Repeat ci-dessus, avec buzzer à 200Hz

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1);%Répéter ci-dessus

playTone(a, 'D9', 400,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1)

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1) %Répéter ci-dessus

playTone(a, 'D9', 400,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1)

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1) %Répéter ci-dessus

playTone(a, 'D9', 400,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

writeDigitalPin(a, 'D13', 1)

playTone(a, 'D9', 200,.25);

writeDigitalPin(a, 'D13', 0)

pause(.25)

autre

writeDigitalPin (a, 'D12', 1)% si la tension est inférieure à 2, allumez la LED verte

writeDigitalPin (a, 'D13', 0) % de tour de la LED rouge

finir

finir

Étape 4: Câblage du capteur Flex

Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex
Câblage du capteur Flex

Les matériaux nécessaires

1.) 1 capteur Flex

2.) 1 résistance 10K Ohm

3.) 8 fils de cavalier

*Reportez-vous aux images, respectivement.

Dans ce circuit, nous allons mesurer le flex. Un capteur flexible utilise du carbone sur une bande de plastique pour agir comme une résistance variable, mais au lieu de changer la résistance en tournant un bouton, vous changez en fléchissant le composant. Un diviseur de tension pour détecter les changements de résistance. Dans notre cas, nous utiliserons le capteur flex pour détecter un train qui passe pour commander un écran LCD (voir photo) pour lire un message disant "Train Coming".

*Dans les images montrant les instructions pour le câblage d'un capteur Flex, reportez-vous uniquement aux fils relatifs au câblage du capteur Flex. Ne tenez pas compte du câblage du servo.

Câblez les broches comme suit:

Étape 1: Sur la carte Arduino dans la section POWER, branchez 1 fil dans l'entrée 5V et 1 fil dans l'entrée GND (masse). Branchez l'autre extrémité du fil 5V dans une entrée positive (+) sur le circuit imprimé. Branchez l'autre extrémité du fil GND dans une entrée négative (-) sur le circuit imprimé.

Étape 2: Sur la carte Arduino dans la section ANALOG IN, branchez 1 dans l'entrée A0. Branchez l'extrémité de ce fil dans l'entrée j20 sur le circuit imprimé.

Étape 3: Sur la carte Arduino dans la section DIGITAL I\O, branchez 1 fil dans l'entrée 9. Branchez l'autre extrémité dans l'entrée a3.

Étape 4: Sur le circuit imprimé, branchez 1 fil dans une entrée positive (+). Branchez l'autre extrémité sur l'entrée h24.

Étape 5: Sur le circuit imprimé, branchez 1 fil dans une entrée négative (+). Branchez l'autre extrémité dans l'entrée a2.

Étape 6: Sur le circuit imprimé, branchez 1 fil dans une entrée négative (-). Branchez l'autre extrémité dans l'entrée b1.

Étape 7: Sur le circuit imprimé, branchez 1 fil dans une entrée négative (-). Branchez l'autre extrémité dans l'entrée i19.

Étape 8: Sur le circuit imprimé, placez la résistance dans les entrées i20 et i24.

*La dernière image fait référence à des applications du monde réel.

Étape 5: connectez Arduino à l'écran LCD

Connecter Arduino à LCD
Connecter Arduino à LCD
Connecter Arduino à LCD
Connecter Arduino à LCD
Connecter Arduino à LCD
Connecter Arduino à LCD

* Suivez ce lien (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), puis reportez-vous aux étapes que j'ai fournies ci-dessous pour connecter un écran LCD à un Arduino:

Étape 1: Ouvrir le fichier zip

Étape 2: ouvrez le fichier LisezMoi et suivez les instructions

Les matériaux nécessaires

1.) Écran LCD 16x2 similaire à cet appareil de SparkFun -

2.) Cavaliers

*Reportez-vous aux images, respectivement.

Cette étape montrera comment créer une bibliothèque d'extensions LCD et afficher "Train Coming" sur un écran LCD.

Câblez les broches comme suit:

Broche LCD -> Broche Arduino

1 (VSS) -> Terre

2 (VDD) -> 5V

3 (V0) -> Broche médiane sur le capteur Flex

4 (RS) -> D7

5(R/W) -> Terre

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Terre

Étape 6: connexion du potentiomètre souple

Connexion du potentiomètre souple
Connexion du potentiomètre souple
Connexion du potentiomètre souple
Connexion du potentiomètre souple
Connexion du potentiomètre souple
Connexion du potentiomètre souple

Les matériaux nécessaires

1.) 1 DEL

2.) 1 potentiomètre souple

3.) Fils de cavalier

4.) 3 330 Ohm Résistance

5.) Résistance 10K Ohm

*Reportez-vous aux images, respectivement.

Dans ce circuit, nous allons utiliser un autre type de résistance variable, un potentiomètre souple. Il s'agit d'une bande mince et flexible qui peut détecter où la pression est appliquée. En appuyant sur différentes parties de la bande, vous pouvez faire varier la résistance de 100 à 10 K ohms. Vous pouvez utiliser cette capacité pour suivre le mouvement sur le potentiomètre ou comme un bouton. Dans ce circuit, nous allons mettre en service le potentiomètre logiciel pour contrôler une LED RVB.

Étape 1: Sur la carte Arduino dans la section DIGITAL I\O, branchez 1 broche dans l'entrée 10 et 1 broche dans l'entrée 11. Respectivement, branchez l'autre extrémité de ces broches dans les entrées h6 et h7.

Étape 2: Sur le circuit imprimé, branchez la LED sur les entrées a4, a5, a6 et a7.

Étape 3: Sur le circuit imprimé, placez les résistances de 3 330 ohms dans les entrées e4-g4, e6-g6 et e7-g7.

Étape 4: Sur le circuit imprimé, branchez 1 broche dans l'entrée e5. Branchez l'autre extrémité de cette broche dans une entrée négative (-).

Étape 5: Sur le circuit imprimé, placez la résistance de 10K ohms dans les entrées i19-négatives (-).

Étape 6: Sur le circuit imprimé, branchez 1 broche dans j18. Branchez l'autre extrémité de cette broche dans une entrée positive (+).

Étape 7: Sur le circuit imprimé, branchez 1 broche dans l'entrée j20. Branchez l'autre extrémité de cette broche dans une entrée négative (-).

Étape 7: Testez vos améliorations sur un système de rail intelligent

Testez vos améliorations sur un système de rail intelligent
Testez vos améliorations sur un système de rail intelligent
Testez vos améliorations sur un système de rail intelligent
Testez vos améliorations sur un système de rail intelligent

À ce stade, votre code MATLAB doit être fonctionnel et la carte Arduino doit être connectée avec précision avec tous les composants ajoutés. Essayez-le sur un système Smart Rail certifié et voyez si vos améliorations rendent le système plus sûr.

Conseillé: