Taula de continguts:

LifeGuard 2.0: 7 passos (amb imatges)
LifeGuard 2.0: 7 passos (amb imatges)

Vídeo: LifeGuard 2.0: 7 passos (amb imatges)

Vídeo: LifeGuard 2.0: 7 passos (amb imatges)
Vídeo: Йога для начинающих дома с Алиной Anandee #2. Здоровое гибкое тело за 40 минут. Универсальная йога. 2024, Juliol
Anonim
LifeGuard 2.0
LifeGuard 2.0

Alguna vegada heu volgut realitzar operacions matemàtiques, fer lectures de sensors, controlar entrades analògiques i digitals i controlar sortides analògiques i digitals sense experiència electrònica prèvia? Si és així, aquest projecte és només per a vosaltres. Utilitzarem un microcontrolador i MATLAB per crear un dispositiu que es pugui utilitzar per controlar i millorar el sistema EF Express SMART RAIL. Amb un microcontrolador, les possibilitats d’entrada i sortida (senyal / informació que entra a la placa i un senyal que surt de la placa) són infinites. Utilitzarem un sensor de flexió i un potenciòmetre com a entrades. Les seves sortides seran un missatge mitjançant pantalla LCD i llums LED juntament amb un brunzidor, respectivament. Les millores que esperem implementar al sistema SMART RAIL són relatives a millorar la seguretat del sistema. Agafa el portàtil i el microcontrolador i comencem!

Pas 1: programari i materials

Programari i materials
Programari i materials
Programari i materials
Programari i materials
Programari i materials
Programari i materials
Programari i materials
Programari i materials

Cal programari

1.) MATLAB

- Haureu de descarregar una versió local de MATLAB al vostre ordinador. Aneu a mathworks.com i configureu un compte de MATHWORKS, baixeu fitxers i activeu la vostra llicència.

-Heu de descarregar i instal·lar TOTES les caixes d'eines disponibles per a la versió més recent (R2016a o R2016b).

-Usuaris de Mac: heu de tenir OSX 10.9.5 o posterior per executar R2015b, està bé executar una versió anterior de MATLAB.

2.) Paquet de suport de maquinari Arduino:

-Instal·leu el paquet de suport de maquinari Arduino. Obriu MATLAB. A la pestanya Inici de MATLAB, al menú Entorn, seleccioneu Complements Obteniu paquets de suport de maquinari Seleccioneu el "Paquet de suport de MATLAB per a maquinari Arduino". Haureu d’iniciar sessió al vostre compte de MATHWORKS

-Si la vostra instal·lació s'interromp i teniu successius errors / intents fallits en instal·lar el paquet de maquinari: cerqueu i suprimiu la carpeta de descàrrega d'Arduino al disc dur i comenceu des del principi.

Materials necessaris

1.) Ordinador portàtil o d'escriptori

2.) Tauler SparkFun Arduino

3.) Sensor de flexió

4.) Potenciòmetre

5.) Pantalla LCD

6.) Llum LED

7.) SparkFun Inventor's Kit (Cerca en línia)

8.) Cable USB i mini USB

9.) Filferros de pont

10.) Zumbador piezoelèctric

Pas 2: connecteu-vos al vostre Arduino i determineu el port COM

(El port COM pot canviar cada vegada que connecteu) Connecteu el cable USB Arduino a l'ordinador i el mini USB a la placa Arduino. És possible que hagueu d’esperar uns minuts perquè els controladors es descarreguin.

Per determinar el port COM:

A l'ordinador

Mètode 1: a MATLAB utilitzeu l'ordre - fopen (serial ('nada'))

-per determinar el vostre port de com. És possible que obtingueu un error com aquest: Error en utilitzar serial / fopen (línia 72) Obertura fallida: Port: NADA no està disponible. Ports disponibles: COM3. Aquest error indica que el vostre port és 3.

-Si el mètode 1 falla al vostre PC, obriu el gestor de dispositius i amplieu la llista de ports (COM i LPT). Tingueu en compte el número del port sèrie USB. per exemple. 'Port sèrie USB (COM *)' El número de port és el * aquí.

-Si no es mostra cap port, tanqueu MATLAB i reinicieu l'ordinador. Obriu MATLAB i torneu a provar fopen (serial ('nada')).

-Si falla, potser haureu de descarregar els controladors de SparkFun des del fitxer CDM_v2.12.00_WHQL_Certified.exe, obriu i executeu el fitxer CDM_v2.12.00_WHQL_Certified.exe i seleccioneu Extreu. (Pot ser que hàgiu d'obrir el fitxer des de l'explorador, fer clic amb el botó dret i "Executar com a administrador").

-A la finestra d'ordres MATLAB creeu un objecte Arduino: a = arduino ('comx', 'uno'); % x és el vostre número de port des de dalt per a ordinadors (no hi ha zeros anteriors!)

En un Mac

Mètode 1: Des de la línia d'ordres MATLAB o en un terminal Mac i escriviu: 'ls /dev/tty.*' Tingueu en compte el número de port que apareix a dev / tty.usbmodem * o dev / tty.usbserial *. El número de port és el * aquí.

-Si el mètode 1 falla al vostre MAC, és possible que hàgiu de fer-ho

-Surt de MATLAB

-Tancar el programari Arduino i desconnectar el cable USB Arduino

-instal·leu Java 6 Runtime

-instal·leu l'extensió del nucli del controlador USB

-Reinicieu l'ordinador

- Torneu a connectar el cable USB Arduino

-Executar des de la línia d'ordres MATLAB o Terminal Mac: ls /dev/tty.*

-Noteu el número de port indicat per dev / tty.usbmodem * o dev / tty.usbserial *. El número de port és el * aquí.

-A la finestra d'ordres MATLAB creeu un objecte Arduino: a = arduino ('/ dev / tty.usbserial *', 'uno'); % * és el vostre número de port des de dalt per als MAC o "/dev/tty.usbmodem*"

Pas 3: Codi Matlab

Codi Matlab
Codi Matlab
Codi Matlab
Codi Matlab

Entrades:

1.) Sensor de flexió

2.) Potenciòmetre

Sortides:

1.) Pantalla LCD amb el missatge que diu "Train Coming"

2.) Llum LED

3.) Zumbador piezoelèctric

En aquest pas, construirem el codi que analitzarà les entrades de la placa Arduino i proporcionarà sortides en funció dels resultats de l’anàlisi de MATLAB. El següent codi us permetrà realitzar diverses funcions: quan s’activa el potenciòmetre, el brunzidor piezoelèctric emetrà freqüències alternatives i el LED vermell parpellejarà. Quan no es detecta un tren, s’encendrà el LED verd. Quan s’activa el sensor Flex, el LED d’avarícia s’apagarà, el LED vermell s’encendrà i la pantalla LCD mostrarà un missatge que diu "Tren que ve".

Codi MATLAB:

% remery1, shornsb1, wmurrin

% Propòsit: advertència del tren

% IInput: potenciòmetre, sensor de flexió

% de sortida: lcd, so, llum

% Si la placa no està inicialitzada o té problemes de connexió, executeu el fitxer

% per sota de les ordres dels comentaris. No cal que s’executin cada vegada

% esborreu-ho tot

% tanca-ho tot

% clc

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

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

% Configureu el tauler un cop estigui connectat

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

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

temps = 50; % estableix el temps a 50

clearLCD (lcd)% inicialitza la pantalla LCD

% Inicia el bucle

mentre que el temps> 0

El voltatge del sensor Flex determina si la llum és verda o si és llum

% és vermell i la pantalla LCD mostra "tren que ve"

flex_status = readVoltage (a, 'A0'); % de tensió de lectura del sensor de flexió

si flex_status> 4% si la tensió és superior a 4, activa el bucle

writeDigitalPin (a, 'D12', 0)% s'apaga en verd

writeDigitalPin (a, 'D11', 1)% s'encén en vermell

printLCD (lcd, 'Train Coming')% mostra "tren que ve" a la pantalla LCD

pausa (5)% Espereu 5 segons

clearLCD (lcd)% Esborra el missatge de la pantalla LCD

writeDigitalPin (a, 'D11', 0)% Apagueu el LED vermell

en cas contrari

final

pe_status = readVoltage (a, 'A2'); % Llegiu la tensió del potenciòmetre

si pe_status> 2% si la tensió és superior a 2, activa el bucle

writeDigitalPin (a, 'D13', 1);% encén el LED vermell

playTone (a, 'D9', 400,.25);% Reprodueix 400Hz al timbre piezoelèctric, 0,25 s

writeDigitalPin (a, 'D13', 0)% apaga el LED vermell

pausa (0,25)% d'espera 0,25 segons

writeDigitalPin (a, 'D13', 1)% Repetiu més amunt, amb el brunzidor a 200Hz

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1);% Repetiu més amunt

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1)% Repetiu més amunt

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1)% Repetiu més amunt

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

en cas contrari

writeDigitalPin (a, 'D12', 1)% si la tensió és inferior a 2, activeu el LED verd

writeDigitalPin (a, 'D13', 0)% de volta de LED vermell

final

final

Pas 4: Cablatge del sensor flex

Cablatge del sensor flex
Cablatge del sensor flex
Cablatge del sensor Flex
Cablatge del sensor Flex
Cablatge del sensor Flex
Cablatge del sensor Flex
Cablatge del sensor Flex
Cablatge del sensor Flex

Materials necessaris

1.) 1 sensor Flex

2.) 1 resistència de 10K Ohm

3.) 8 cables de pont

* Consulteu les imatges, respectivament.

En aquest circuit, mesurarem la flexió. Un sensor flex utilitza carboni en una tira de plàstic per actuar com una resistència variable, però en lloc de canviar la resistència girant un pom, canvieu flexionant el component. Un divisor de tensió per detectar canvis de resistència. En el nostre cas, utilitzarem el sensor de flexió per detectar el pas d'un tren per comandar una pantalla LCD (veure imatge) per llegir un missatge que diu "Tren que ve".

* A les imatges que mostren les instruccions per connectar un sensor Flex, només feu referència als cables relacionats amb el cablejat del sensor Flex. Ignoreu el cablejat del Servo.

Passadors de filferro de la següent manera:

Pas 1: a la placa Arduino de la secció POWER, connecteu 1 cable a l'entrada 5V i 1 cable a l'entrada GND (terra). Connecteu l’altre extrem del cable de 5V a una entrada positiva (+) de la placa de circuit. Connecteu l’altre extrem del cable GND a una entrada negativa (-) de la placa de circuit.

Pas 2: a la placa Arduino de la secció ANALOG IN, connecteu 1 a l'entrada A0. Connecteu l'extrem d'aquest cable a l'entrada j20 de la placa de circuit.

Pas 3: a la placa Arduino de la secció DIGITAL I / O, connecteu 1 cable a l'entrada 9. Connecteu l'altre extrem a l'entrada a3.

Pas 4: a la placa de circuit, connecteu 1 cable a una entrada positiva (+). Connecteu l’altre extrem a l’entrada h24.

Pas 5: a la placa de circuit, connecteu 1 cable a una entrada negativa (+). Connecteu l’altre extrem a l’entrada a2.

Pas 6: a la placa de circuit, connecteu 1 cable a una entrada negativa (-). Connecteu l’altre extrem a l’entrada b1.

Pas 7: a la placa de circuit, connecteu 1 cable a una entrada negativa (-). Connecteu l’altre extrem a l’entrada i19.

Pas 8: a la placa de circuit, col·loqueu la resistència a les entrades i20 i i24.

* La darrera imatge fa referència a aplicacions del món real.

Pas 5: connecteu Arduino a la pantalla LCD

Connecteu Arduino a la pantalla LCD
Connecteu Arduino a la pantalla LCD
Connecteu Arduino a la pantalla LCD
Connecteu Arduino a la pantalla LCD
Connecteu Arduino a la pantalla LCD
Connecteu Arduino a la pantalla LCD

* Seguiu aquest enllaç (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) i, a continuació, consulteu els passos que he proporcionat a continuació per connectar una pantalla LCD a un Arduino:

Pas 1: obriu el fitxer zip

Pas 2: obriu el fitxer ReadMe i seguiu les instruccions

Materials necessaris

1.) LCD de 16 x 2 semblant a aquest dispositiu de SparkFun -

2.) Filferros de pont

* Consulteu les imatges, respectivament.

Aquest pas mostrarà com crear una biblioteca complementària de LCD i mostrar "Train Coming" en una pantalla LCD.

Passadors de filferro de la següent manera:

Pin LCD -> Pin Arduino

1 (VSS) -> Terra

2 (VDD) -> 5V

3 (V0) -> Pin mig del sensor Flex

4 (RS) -> D7

5 (R / W) -> Terra

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED +) -> 5 V

16 (LED-) -> Terra

Pas 6: Connexió del potenciòmetre suau

Potenciòmetre suau de connexió
Potenciòmetre suau de connexió
Potenciòmetre suau de connexió
Potenciòmetre suau de connexió
Potenciòmetre suau de connexió
Potenciòmetre suau de connexió

Materials necessaris

1.) 1 LED

2.) 1 Potentiòmetre tou

3.) Filferros de pont

4.) 3 330 Ohm de resistència

5.) Resistència de 10K Ohm

* Consulteu les imatges, respectivament.

En aquest circuit, farem servir un altre tipus de resistència variable, un potenciòmetre tou. Es tracta d’una tira prima i flexible que permet detectar on s’està aplicant pressió. En prémer diverses parts de la tira, podeu variar la resistència de 100 a 10 K ohms. Podeu utilitzar aquesta capacitat per fer un seguiment del moviment al potenciòmetre o com a botó. En aquest circuit, aconseguirem que el potenciòmetre suau funcioni i funcioni per controlar un LED RGB.

Pas 1: a la placa Arduino de la secció DIGITAL I / O, connecteu 1 pin a l'entrada 10 i 1 pin a l'entrada 11. Respectivament, connecteu l'altre extrem d'aquests pins a l'entrada h6 i h7.

Pas 2: a la placa de circuit, connecteu el LED a les entrades a4, a5, a6 i a7.

Pas 3: a la placa de circuit, col·loqueu les resistències de 3 330 ohms a les entrades e4-g4, e6-g6 i e7-g7.

Pas 4: a la placa de circuit, connecteu 1 pin a l'entrada e5. Connecteu l’altre extrem d’aquest pin a una entrada negativa (-).

Pas 5: a la placa de circuit, col·loqueu la resistència de 10K ohm a les entrades i19 negatives (-).

Pas 6: a la placa de circuit, connecteu 1 pin a j18. Connecteu l'altre extrem d'aquest pin a una entrada positiva (+).

Pas 7: a la placa de circuit, connecteu 1 pin a l'entrada j20. Connecteu l’altre extrem d’aquest pin a una entrada negativa (-).

Pas 7: proveu les vostres millores en un sistema Smart Rail

Proveu les vostres millores en un sistema Smart Rail
Proveu les vostres millores en un sistema Smart Rail
Proveu les vostres millores en un sistema Smart Rail
Proveu les vostres millores en un sistema Smart Rail

En aquest moment, el vostre codi MATLAB hauria de ser funcional i la placa Arduino hauria d’estar connectada amb precisió juntament amb tots els components afegits. Proveu-ho amb un sistema Smart Rail certificat i comproveu si les vostres millores fan que el sistema sigui més segur.

Recomanat: