Tabla de contenido:

LifeGuard 2.0: 7 pasos (con imágenes)
LifeGuard 2.0: 7 pasos (con imágenes)

Video: LifeGuard 2.0: 7 pasos (con imágenes)

Video: LifeGuard 2.0: 7 pasos (con imágenes)
Video: 💎 DIAMANTITO 2.0 EN LA VIDA REAL 🎤⭐ ESPECIAL 7 MILLONES DE MIKIES 🔥 HOMENAJE A CARAMELLDANSEN 2024, Mes de julio
Anonim
LifeGuard 2.0
LifeGuard 2.0

¿Alguna vez ha querido realizar operaciones matemáticas, tomar lecturas de sensores, monitorear entradas analógicas y digitales y controlar salidas analógicas y digitales sin experiencia previa en electrónica? Si es así, ¡este proyecto es solo para ti! Usaremos un microcontrolador y MATLAB para crear un dispositivo que pueda usarse para monitorear y mejorar el sistema EF Express SMART RAIL. Con un microcontrolador, las posibilidades de entradas y salidas (señal / información que ingresa a la placa y una señal que sale de la placa) son infinitas. Usaremos un sensor flexible y un potenciómetro como entradas. Sus salidas serán un mensaje a través de la pantalla LCD y luces LED junto con un timbre, respectivamente. Las mejoras que esperamos implementar en el sistema SMART RAIL están relacionadas con la mejora de la seguridad del sistema. Tome su computadora portátil y su microcontrolador, ¡y comencemos!

Paso 1: software y materiales

Software y materiales
Software y materiales
Software y materiales
Software y materiales
Software y materiales
Software y materiales
Software y materiales
Software y materiales

Software necesario

1.) MATLAB

- Deberá descargar una versión local de MATLAB en su computadora. Vaya a mathworks.com y configure una cuenta de MATHWORKS, descargue archivos y active su licencia.

-Debe descargar e instalar TODAS las cajas de herramientas disponibles para la versión más reciente (R2016a o R2016b).

-Usuarios de Mac: debe tener OSX 10.9.5 o posterior para ejecutar R2015b, está bien ejecutar una versión anterior de MATLAB.

2.) Paquete de soporte de hardware Arduino:

-Instale el paquete de soporte de hardware Arduino. Abra MATLAB. En la pestaña Inicio de MATLAB, en el menú Entorno, seleccione Complementos Obtener paquetes de soporte de hardware Seleccione el "Paquete de soporte de MATLAB para hardware Arduino". Deberá iniciar sesión en su cuenta de MATHWORKS

-Si su instalación se interrumpe y tiene sucesivos intentos fallidos / errores al instalar el paquete de hardware, busque y elimine la carpeta de descarga de Arduino en su disco duro y comience desde el principio.

Materiales necesitados

1.) Computadora portátil o de escritorio

2.) Placa SparkFun Arduino

3.) Sensor flexible

4.) Potenciómetro

5.) pantalla LCD

6.) luz LED

7.) Kit de inventor de SparkFun (buscar en línea)

8.) Cable USB y mini USB

9.) Cables de puente

10.) Zumbador piezoeléctrico

Paso 2: conéctese a su Arduino y determine el puerto COM

(Su puerto COM puede cambiar cada vez que se conecta) Conecte el cable USB Arduino a su computadora y el mini USB a su placa Arduino. Es posible que deba esperar unos minutos para que se descarguen los controladores.

Para determinar el puerto COM:

En PC

Método 1: en MATLAB use el comando - fopen (serial ('nada'))

-para determinar su puerto de comunicaciones. Es posible que obtenga un error como este: Error al usar serial / fopen (línea 72) Error de apertura: Puerto: NADA no está disponible. Puertos disponibles: COM3. Este error indica que su puerto es 3.

-Si el Método 1 falla en su PC, abra el Administrador de dispositivos y expanda la lista de Puertos (COM y LPT). Anote el número del puerto serie USB. p.ej. 'Puerto serie USB (COM *)' El número de puerto es el * aquí.

-Si no se muestra ningún puerto, cierre MATLAB y reinicie su computadora. Abra MATLAB e intente fopen (serial ('nada')) nuevamente.

-Si esto falla, es posible que deba descargar los controladores de SparkFun desde el archivo CDM_v2.12.00_WHQL_Certified.exe, abrir y ejecutar el archivo CDM_v2.12.00_WHQL_Certified.exe y seleccionar Extraer. (Es posible que deba abrir el archivo desde el explorador, hacer clic con el botón derecho y 'Ejecutar como administrador').

-En la ventana de comandos de MATLAB cree un objeto Arduino - a = arduino ('comx', 'uno'); % x es su número de puerto de arriba para PC (¡sin ceros anteriores!)

En una Mac

Método 1: desde la línea de comandos de MATLAB o en una terminal Mac y escriba: 'ls /dev/tty.*' Tenga en cuenta el número de puerto indicado para dev / tty.usbmodem * o dev / tty.usbserial *. El número de puerto es el * aquí.

-Si el Método 1 falla en su MAC, es posible que deba

-Salir de MATLAB

-Cierre el software Arduino y desconecte el cable USB Arduino

-instalar Java 6 Runtime

-instalar la extensión del kernel del controlador USB

-Reinicia tu computadora

-Vuelva a conectar el cable USB Arduino

-Ejecutar desde la línea de comandos de MATLAB o desde la terminal Mac: ls /dev/tty.*

-Note el número de puerto indicado para dev / tty.usbmodem * o dev / tty.usbserial *. El número de puerto es el * aquí.

-En la ventana de comandos de MATLAB, cree un objeto Arduino - a = arduino ('/ dev / tty.usbserial *', 'uno'); % * es su número de puerto de arriba para MAC, o '/dev/tty.usbmodem*'

Paso 3: Código de Matlab

Código de Matlab
Código de Matlab
Código de Matlab
Código de Matlab

Entradas:

1.) Sensor flexible

2.) Potenciómetro

Salidas:

1.) Pantalla LCD con mensaje que dice "Train Coming"

2.) luz LED

3.) Zumbador piezoeléctrico

En este paso, construiremos el código que analizará las entradas de la placa Arduino y proporcionará salidas basadas en los resultados del análisis de MATLAB. El siguiente código le permitirá realizar varias funciones: cuando se activa el potenciómetro, el zumbador piezoeléctrico emitirá frecuencias alternas y el LED rojo parpadeará. Cuando no se detecta un tren, el LED verde se iluminará. Cuando se activa el sensor flexible, el LED de codicia se apagará, el LED rojo se iluminará y la pantalla LCD mostrará un mensaje que dice "Train Coming".

Código MATLAB:

% remery1, shornsb1, wmurrin

% Propósito: advertencia de tren

% IInput: potenciómetro, sensor flexible

% de salida: lcd, sonido, luz

% Si la placa no está inicializada o tiene problemas de conexión, ejecute el

% debajo de los comandos en los comentarios. No es necesario ejecutarlos cada vez.

%limpiar todo

%cierra todo

% clc

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

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

% Configurar la placa una vez que esté conectada

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

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

tiempo = 50; % de tiempo establecido en 50

clearLCD (lcd)% inicializar LCD

% Iniciar bucle

mientras que el tiempo> 0

% El voltaje del sensor flexible determina si la luz es verde o si la

% es rojo y la pantalla LCD muestra "tren en camino"

flex_status = readVoltage (a, 'A0'); % de voltaje de lectura del sensor flexible

si flex_status> 4% si el voltaje es mayor que 4, disparar bucle

writeDigitalPin (a, 'D12', 0)% apaga el verde

writeDigitalPin (a, 'D11', 1)% enciende rojo

printLCD (lcd, 'Train Coming')% muestra "train coming" en la pantalla LCD

pausa (5)% Espere 5 segundos

clearLCD (lcd)% Borrar mensaje de LCD

writeDigitalPin (a, 'D11', 0)% Apaga el LED rojo

demás

fin

pe_status = readVoltage (a, 'A2'); % Leer voltaje del potenciómetro

si pe_status> 2% si el voltaje es mayor que 2, disparar bucle

writeDigitalPin (a, 'D13', 1);% enciende el LED rojo

playTone (a, 'D9', 400,.25);% Play 400Hz en el zumbador piezoeléctrico,.25 seg

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

pausa (.25)% espera.25 segundos

writeDigitalPin (a, 'D13', 1)% Repetir arriba, con zumbador a 200Hz

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

writeDigitalPin (a, 'D13', 0)

pausa (.25)

writeDigitalPin (a, 'D13', 1);% Repetir arriba

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)% Repetir arriba

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)% Repetir arriba

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)

demás

writeDigitalPin (a, 'D12', 1)% si el voltaje es menor que 2, encienda el LED verde

writeDigitalPin (a, 'D13', 0)% de giro del LED rojo

fin

fin

Paso 4: cableado del sensor flexible

Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible
Cableado del sensor flexible

Materiales necesitados

1.) 1 sensor flexible

2.) 1 resistencia de 10 K ohmios

3.) 8 cables de puente

* Consulte las imágenes, respectivamente.

En este circuito, estaremos midiendo flex. Un sensor de flexión usa carbono en una tira de plástico para actuar como una resistencia variable, pero en lugar de cambiar la resistencia girando una perilla, se cambia flexionando el componente. Un divisor de voltaje para detectar cambios en la resistencia. En nuestro caso, usaremos el sensor flex para detectar un tren que pasa para comandar una pantalla LCD (ver imagen) para leer un mensaje que dice "Train Coming".

* En las imágenes que muestran las instrucciones para el cableado de un sensor flexible, solo consulte los cables relacionados con el cableado del sensor flexible. Ignore el cableado del Servo.

Conecte los pines de la siguiente manera:

Paso 1: En la placa Arduino en la sección de ALIMENTACIÓN, conecte 1 cable a la entrada 5V y 1 cable a la entrada GND (tierra). Enchufe el otro extremo del cable de 5 V en una entrada positiva (+) en la placa de circuito. Enchufe el otro extremo del cable GND en una entrada negativa (-) en la placa de circuito.

Paso 2: En la placa Arduino en la sección ANALOG IN, conecte 1 en la entrada A0. Enchufe el extremo de ese cable en la entrada j20 de la placa de circuito.

Paso 3: En la placa Arduino en la sección de E / S DIGITAL, conecte 1 cable en la entrada 9. Conecte el otro extremo en la entrada a3.

Paso 4: En la placa de circuito, conecte 1 cable en una entrada positiva (+). Conecte el otro extremo a la entrada h24.

Paso 5: En la placa de circuito, conecte 1 cable a una entrada negativa (+). Enchufe el otro extremo en la entrada a2.

Paso 6: En la placa de circuito, conecte 1 cable a una entrada negativa (-). Enchufe el otro extremo en la entrada b1.

Paso 7: En la placa de circuito, conecte 1 cable a una entrada negativa (-). Conecte el otro extremo a la entrada i19.

Paso 8: En la placa de circuito, coloque la resistencia en las entradas i20 e i24.

* La última imagen se refiere a aplicaciones del mundo real.

Paso 5: conecte Arduino a la pantalla LCD

Conecte Arduino a LCD
Conecte Arduino a LCD
Conecte Arduino a LCD
Conecte Arduino a LCD
Conecte Arduino a LCD
Conecte Arduino a LCD

* Siga este enlace (https://ef.engr.utk.edu/ef230-2017-08/projects/ard …) y luego consulte los pasos que he proporcionado a continuación para conectar una pantalla LCD a un Arduino:

Paso 1: Abra el archivo zip

Paso 2: abra el archivo Léame y siga las instrucciones

Materiales necesitados

1.) LCD 16x2 similar a este dispositivo de SparkFun -

2.) Cables de puente

* Consulte las imágenes, respectivamente.

Este paso mostrará cómo crear una biblioteca de complementos de LCD y mostrar "Train Coming" en un LCD.

Conecte los pines de la siguiente manera:

Pin LCD -> Pin Arduino

1 (VSS) -> Tierra

2 (VDD) -> 5 V

3 (V0) -> Pin medio en el sensor flexible

4 (RS) -> D7

5 (R / W) -> Tierra

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED +) -> 5 V

16 (LED-) -> Tierra

Paso 6: Conexión del potenciómetro blando

Conexión de potenciómetro blando
Conexión de potenciómetro blando
Conexión de potenciómetro blando
Conexión de potenciómetro blando
Conexión de potenciómetro blando
Conexión de potenciómetro blando

Materiales necesitados

1.) 1 LED

2.) 1 potenciómetro blando

3.) Cables de puente

4.) Resistencia de 330 ohmios

5.) Resistencia de 10K Ohm

* Consulte las imágenes, respectivamente.

En este circuito, vamos a utilizar otro tipo de resistencia variable, un potenciómetro suave. Esta es una tira delgada y flexible que puede detectar dónde se está aplicando presión. Al presionar varias partes de la tira, puede variar la resistencia de 100 a 10 K ohmios. Puede usar esta capacidad para rastrear el movimiento en el potenciómetro o como un botón. En este circuito, pondremos en funcionamiento el potenciómetro suave para controlar un LED RGB.

Paso 1: En la placa Arduino en la sección de E / S DIGITAL, conecte 1 pin en la entrada 10 y 1 pin en la entrada 11. Respectivamente, conecte el otro extremo de esos pines en la entrada h6 y h7.

Paso 2: En la placa de circuito, conecte el LED a las entradas a4, a5, a6 y a7.

Paso 3: En la placa de circuito, coloque las resistencias de 330 ohmios en las entradas e4-g4, e6-g6 y e7-g7.

Paso 4: En la placa de circuito, conecte 1 pin en la entrada e5. Conecte el otro extremo de ese pin en una entrada negativa (-).

Paso 5: En la placa de circuito, coloque la resistencia de 10K ohmios en las entradas i19-negativo (-).

Paso 6: En la placa de circuito, conecte 1 pin en j18. Conecte el otro extremo de ese pin en una entrada positiva (+).

Paso 7: En la placa de circuito, conecte 1 pin en la entrada j20. Enchufe el otro extremo de ese pin en una entrada negativa (-).

Paso 7: pruebe sus mejoras en un sistema de riel inteligente

Pruebe sus mejoras en un sistema de riel inteligente
Pruebe sus mejoras en un sistema de riel inteligente
Pruebe sus mejoras en un sistema de riel inteligente
Pruebe sus mejoras en un sistema de riel inteligente

En este punto, su código MATLAB debería ser funcional y la placa Arduino debería estar conectada con precisión junto con todos los componentes agregados. Pruébelo en un sistema Smart Rail certificado y vea si sus mejoras hacen que el sistema sea más seguro.

Recomendado: