Taula de continguts:
- Pas 1: programari i materials
- Pas 2: connecteu-vos al vostre Arduino i determineu el port COM
- Pas 3: Codi Matlab
- Pas 4: Cablatge del sensor flex
- Pas 5: connecteu Arduino a la pantalla LCD
- Pas 6: Connexió del potenciòmetre suau
- Pas 7: proveu les vostres millores en un sistema Smart Rail
Vídeo: LifeGuard 2.0: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
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
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
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
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
* 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
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
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:
Llum (s) LED amb bateria amb càrrega solar: 11 passos (amb imatges)
Llums LED amb bateria amb càrrega solar: la meva dona ensenya a la gent a fer sabó, la majoria de les seves classes eren al vespre i aquí a l’hivern es fa fosc cap a les 4:30 de la tarda, alguns dels seus alumnes tenien problemes per trobar el nostre casa. Teníem un rètol frontal però fins i tot amb un lligam al carrer
Porta imatges amb altaveu incorporat: 7 passos (amb imatges)
Suport d'imatges amb altaveu incorporat: aquí teniu un gran projecte per dur a terme durant el cap de setmana, si voleu que us poseu un altaveu que pugui contenir imatges / postals o fins i tot la vostra llista de tasques. Com a part de la construcció, utilitzarem un Raspberry Pi Zero W com a centre del projecte i un
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Gesture Hawk: robot controlat amb gestos manuals mitjançant la interfície basada en el processament d’imatges: 13 passos (amb imatges)
Gesture Hawk: robot controlat amb gestos manuals mitjançant interfície basada en el processament d’imatges: Gesture Hawk es va mostrar a TechEvince 4.0 com una interfície simple màquina basada en el processament d’imatges. La seva utilitat rau en el fet que no es requereixen cap sensor addicional ni un dispositiu portàtil, excepte un guant, per controlar el cotxe robòtic que funciona amb diferents
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge