Cuprins:
- Pasul 1: Software și materiale
- Pasul 2: Conectați-vă la Arduino și determinați portul COM
- Pasul 3: Cod Matlab
- Pasul 4: Cablarea senzorului flexibil
- Pasul 5: Conectați Arduino la ecranul LCD
- Pasul 6: Conectarea potențiometrului moale
- Pasul 7: Testați-vă îmbunătățirile pe un sistem feroviar inteligent
Video: LifeGuard 2.0: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Ați dorit vreodată să efectuați operații matematice, să faceți citiri ale senzorilor, să monitorizați intrările analogice și digitale și să controlați ieșirile analogice și digitale fără experiență electronică anterioară? Dacă da, acest proiect este doar pentru tine! Vom folosi un microcontroler și MATLAB pentru a crea un dispozitiv care poate fi utilizat pentru a monitoriza și îmbunătăți sistemul EF Express SMART RAIL. Cu un microcontroler, posibilitățile de intrări și ieșiri (semnal / informații care intră pe placă și un semnal care iese din placă) sunt nelimitate. Vom folosi un senzor flex și un potențiometru ca intrări. Ieșirile lor vor fi un mesaj prin ecran LCD și lumini LED, împreună cu un buzzer, respectiv. Îmbunătățirile pe care sperăm să le implementăm în sistemul SMART RAIL sunt relative la îmbunătățirea siguranței sistemului. Luați laptopul și microcontrolerul și permiteți-ne să începem!
Pasul 1: Software și materiale
Este nevoie de software
1.) MATLAB
- Va trebui să descărcați o versiune locală a MATLAB pe computer. Accesați mathworks.com și configurați un cont MATHWORKS, descărcați fișiere și activați licența.
-Ar trebui să descărcați și să instalați TOATE cutiile de instrumente disponibile pentru cea mai nouă versiune (R2016a sau R2016b).
-Utilizatori Mac: trebuie să aveți OSX 10.9.5 sau o versiune ulterioară pentru a rula R2015b, este OK să rulați o versiune anterioară a MATLAB.
2.) Pachetul de asistență hardware Arduino:
-Instalați pachetul de asistență hardware Arduino. Deschideți MATLAB. În fila Acasă MATLAB, în meniul de mediu, selectați Suplimente Obțineți pachete de asistență hardware Selectați „Pachetul de asistență MATLAB pentru hardware Arduino”. Va trebui să vă conectați la contul dvs. MATHWORKS
-Dacă instalarea dvs. este întreruptă și aveți încercări / erori succesive nereușite la instalarea pachetului hardware - găsiți și ștergeți folderul descărcat Arduino de pe hard disk și începeți de la început.
Materiale necesare
1.) Laptop sau computer desktop
2.) Placa SparkFun Arduino
3.) Senzor flexibil
4.) Potențiometru
5.) Ecran LCD
6.) Lumina LED
7.) Trusa de inventator SparkFun (Găsiți online)
8.) Cablu USB și mini USB
9.) Firele jumperului
10.) Buzzer piezo
Pasul 2: Conectați-vă la Arduino și determinați portul COM
(Portul COM se poate schimba de fiecare dată când conectați) Conectați cablul USB Arduino la computer și mini USB la placa Arduino. Este posibil să trebuiască să așteptați câteva minute pentru descărcarea driverelor.
Pentru a determina portul COM:
Pe computer
Metoda 1: În MATLAB utilizați comanda - fopen (serial ('nada'))
-pentru a determina portul de com. Este posibil să primiți o astfel de eroare: Eroare la utilizarea serial / fopen (linia 72) Deschidere eșuată: Port: NADA nu este disponibil. Porturi disponibile: COM3. Această eroare indică faptul că portul dvs. este 3.
-Dacă metoda 1 eșuează pe computerul dvs., deschideți Device Manager și extindeți lista Porturi (COM și LPT). Rețineți numărul de pe portul serial USB. de exemplu. „Port serial USB (COM *)” Numărul portului este * aici.
-Dacă nu este afișat niciun port, închideți MATLAB și reporniți computerul. Deschideți MATLAB și încercați din nou fopen (serial ('nada')).
-Dacă acest lucru nu reușește, poate fi necesar să descărcați driverele SparkFun din fișierul CDM_v2.12.00_WHQL_Certified.exe, deschideți și rulați fișierul CDM_v2.12.00_WHQL_Certified.exe și selectați Extract. (Poate fi necesar să deschideți fișierul din Explorer, faceți clic dreapta și „Rulați ca administrator”).
-În fereastra de comandă MATLAB creați un obiect Arduino - a = arduino ('comx', 'uno'); % x este numărul portului dvs. de sus pentru PC-uri (fără zerouri precedente!)
Pe un Mac
Metoda 1: Din linia de comandă MATLAB sau într-un terminal Mac și tastați: 'ls /dev/tty.*' Notați numărul de port listat pentru dev / tty.usbmodem * sau dev / tty.usbserial *. Numărul portului este * aici.
-Dacă metoda 1 eșuează pe MAC-ul dvs., poate fi necesar
-Exit MATLAB
-Închideți software-ul Arduino și deconectați cablul USB Arduino
-instalați Java 6 Runtime
-instalați extensia kernelului driverului USB
-Reporniți computerul
-Reconectați cablul USB Arduino
-Run de la linia de comandă MATLAB sau Terminal Mac: ls /dev/tty.*
-Notați numărul de port listat pentru dev / tty.usbmodem * sau dev / tty.usbserial *. Numărul portului este * aici.
-În fereastra de comandă MATLAB creați un obiect Arduino - a = arduino ('/ dev / tty.usbserial *', 'uno'); % * este numărul portului dvs. de mai sus pentru MAC-uri sau „/dev/tty.usbmodem*”
Pasul 3: Cod Matlab
Intrări:
1.) Senzor flexibil
2.) Potențiometru
Ieșiri:
1.) Ecran LCD cu mesaj pe care scrie „Train Coming”
2.) Lumina LED
3.) Buzzer piezo
În acest pas, vom construi codul care va analiza intrările de pe placa Arduino și va oferi ieșiri pe baza rezultatelor analizei MATLAB. Următorul cod vă va permite să efectuați mai multe funcții: atunci când este declanșat potențiometrul, buzzerul piezo emite frecvențe alternative și LED-ul roșu va clipi. Când un tren nu este detectat, LED-ul verde se va aprinde. Când senzorul Flex este declanșat, LED-ul lăcomiei se va stinge, LED-ul roșu se va aprinde, iar ecranul LCD va afișa un mesaj pe care scrie „Train Coming”.
Cod MATLAB:
% remery1, shornsb1, wmurrin
% Scop: Avertizare tren
% IInput: potențiometru, senzor flex
% ieșire: lcd, sunet, lumină
% Dacă placa nu este inițializată sau are probleme de conexiune, executați
% sub comenzi în comentarii. Nu trebuie să fie executate de fiecare dată
%curata tot
%inchide tot
% clc
% a = arduino ('/ dev / tty.usbserial-DN01DXOM', 'uno');
% lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
% Configurați placa după conectare
configurePin (a, 'D8', 'pullup');% configure D8
configurePin (a, 'D9', 'PWM');% configure D9
timp = 50; % setează timpul la 50
clearLCD (lcd)% inițializează LCD
% Începeți bucla
timp timp> 0
% Tensiunea senzorului flexibil determină dacă lumina este verde sau dacă lumina
% este roșu și afișajele LCD „tren care vine”
flex_status = readVoltage (a, 'A0'); % tensiune de citire a senzorului flex
dacă flex_status> 4% dacă tensiunea este mai mare de 4, bucla de declanșare
writeDigitalPin (a, 'D12', 0)% dezactivează verde
writeDigitalPin (a, 'D11', 1)% activează roșu
printLCD (lcd, „Tren care vine”)% afișează „tren care vine” pe ecranul LCD
pauză (5)% Așteptați 5 secunde
clearLCD (lcd)% Mesaj clar de pe LCD
writeDigitalPin (a, 'D11', 0)% Opriți LED-ul roșu
altceva
Sfârșit
pe_status = readVoltage (a, 'A2'); % Citiți tensiunea potențiometrului
dacă pe_status> 2% dacă tensiunea este mai mare de 2, bucla de declanșare
writeDigitalPin (a, 'D13', 1);% pornește LED-ul roșu
playTone (a, 'D9', 400,.25);% Redare 400Hz pe buzzer Piezo,.25 sec
writeDigitalPin (a, 'D13', 0)% oprește LED-ul roșu
pauză (.25)% așteptați.25 secunde
writeDigitalPin (a, 'D13', 1)% Repetați mai sus, cu buzzer la 200Hz
playTone (a, „D9”, 200,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1);% Repetați mai sus
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, „D9”, 200,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1)% Repetați mai sus
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, „D9”, 200,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1)% Repetați mai sus
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, „D9”, 200,.25);
writeDigitalPin (a, „D13”, 0)
pauză (.25)
altceva
writeDigitalPin (a, 'D12', 1)% dacă tensiunea este mai mică de 2, porniți LED-ul verde
writeDigitalPin (a, 'D13', 0)% rândul său de LED roșu
Sfârșit
Sfârșit
Pasul 4: Cablarea senzorului flexibil
Materiale necesare
1.) 1 senzor flexibil
2.) 1 rezistor de 10K Ohm
3.) 8 fire jumper
* Consultați imagini, respectiv.
În acest circuit, vom măsura flex. Un senzor flex folosește carbon pe o bandă de plastic pentru a acționa ca un rezistor variabil, dar în loc să schimbi rezistența prin rotirea unui buton, te schimbi prin flexarea componentei. Un divizor de tensiune pentru a detecta schimbarea rezistenței. În cazul nostru, vom folosi senzorul flex pentru a detecta trecerea unui tren pentru a comanda un ecran LCD (vezi imaginea) pentru a citi un mesaj care spune „Trenul vine”.
* În imaginile care arată instrucțiunile pentru conectarea unui senzor flexibil, consultați numai firele referitoare la cablarea senzorului flexibil. Nu luați în considerare cablajul pentru Servo.
Știfturi de sârmă după cum urmează:
Pasul 1: Pe placa Arduino din secțiunea POWER, conectați 1 fir la intrarea 5V și 1 fir la intrarea GND (masă). Conectați celălalt capăt al firului de 5V la o intrare pozitivă (+) de pe placa de circuit. Conectați celălalt capăt al firului GND la o intrare negativă (-) de pe placa de circuit.
Pasul 2: Pe placa Arduino din secțiunea ANALOG IN, conectați 1 la intrarea A0. Conectați capătul acelui fir la intrarea j20 de pe placa de circuit.
Pasul 3: Pe placa Arduino din secțiunea DIGITAL I / O, conectați 1 fir la intrarea 9. Conectați celălalt capăt la intrarea a3.
Pasul 4: Pe placa de circuit, conectați 1 fir la o intrare pozitivă (+). Conectați celălalt capăt la intrarea h24.
Pasul 5: Pe placa de circuit, conectați 1 fir la o intrare negativă (+). Conectați celălalt capăt la intrarea a2.
Pasul 6: Pe placa de circuit, conectați 1 fir la o intrare negativă (-). Conectați celălalt capăt la intrarea b1.
Pasul 7: Pe placa de circuit, conectați 1 fir la o intrare negativă (-). Conectați celălalt capăt la intrarea i19.
Pasul 8: Pe placa de circuit, așezați rezistorul în intrările i20 și i24.
* Ultima imagine se referă la aplicațiile din lumea reală.
Pasul 5: Conectați Arduino la ecranul LCD
* Urmați acest link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) și apoi consultați pașii pe care i-am furnizat mai jos pentru a conecta un LCD la un Arduino:
Pasul 1: Deschideți fișierul zip
Pasul 2: deschideți fișierul ReadMe și urmați instrucțiunile
Materiale necesare
1.) LCD 16x2 similar cu acest dispozitiv de la SparkFun -
2.) Firele jumperului
* Consultați imagini, respectiv.
Acest pas va arăta cum să creați o bibliotecă suplimentară LCD și să afișați „Train Coming” pe un LCD.
Știfturi de sârmă după cum urmează:
Pin LCD -> Pin Arduino
1 (VSS) -> Masă
2 (VDD) -> 5V
3 (V0) -> Pin mediu pe senzorul Flex
4 (RS) -> D7
5 (R / W) -> Masă
6 (E) -> d6
11 (DB4) - D5 (PWM)
12 (DB5) -> D4
13 (DB6) -> D3 (PWM)
14 (DB7) -> D2
15 (LED +) -> 5 V
16 (LED-) -> Masă
Pasul 6: Conectarea potențiometrului moale
Materiale necesare
1.) 1 LED
2.) 1 Potențiometru moale
3.) Sârme jumper
4.) 3 330 Ohm rezistor
5.) Rezistor 10K Ohm
* Consultați imagini, respectiv.
În acest circuit, vom folosi un alt tip de rezistență variabilă, un potențiometru moale. Aceasta este o bandă subțire și flexibilă care poate detecta unde se aplică presiune. Prin apăsarea în jos a diferitelor părți ale benzii, puteți varia rezistența de la 100 la 10 K ohmi. Puteți utiliza această abilitate pentru a urmări mișcarea pe potențiometru sau ca buton. În acest circuit, vom pune în funcțiune potențiometrul moale pentru a controla un LED RGB.
Pasul 1: Pe placa Arduino din secțiunea DIGITAL I / O, conectați 1 pin la intrarea 10 și 1 pin la intrarea 11. Respectiv, conectați celălalt capăt al acelor pin la intrarea h6 și h7.
Pasul 2: Pe placa de circuit, conectați LED-ul la intrările a4, a5, a6 și a7.
Pasul 3: pe placa de circuit, amplasați cele 3 330 de rezistențe de ohm în intrările e4-g4, e6-g6 și e7-g7.
Pasul 4: Pe placa de circuit, conectați 1 pin la intrarea e5. Conectați celălalt capăt al acelui pin la o intrare negativă (-).
Pasul 5: Pe placa de circuit, amplasați rezistorul de 10K ohm în intrările i19-negative (-).
Pasul 6: Pe placa de circuit, conectați 1 pin la j18. Conectați celălalt capăt al acelui pin la o intrare pozitivă (+).
Pasul 7: Pe placa de circuit, conectați 1 pin la intrarea j20. Conectați celălalt capăt al acelui pin la o intrare negativă (-).
Pasul 7: Testați-vă îmbunătățirile pe un sistem feroviar inteligent
În acest moment, codul MATLAB ar trebui să fie funcțional și placa Arduino ar trebui să fie conectată cu precizie împreună cu toate componentele adăugate. Încercați-l pe un sistem Smart Rail certificat și vedeți dacă îmbunătățirile dvs. fac sistemul mai sigur.
Recomandat:
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și imagini: 7 pași (cu imagini)
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și Pictures: Plănuiesc să folosesc acest Rapsberry PI într-o grămadă de proiecte distractive din blogul meu. Simțiți-vă liber să o verificați. Am vrut să mă întorc să folosesc Raspberry PI, dar nu aveam tastatură sau mouse în noua mea locație. A trecut ceva timp de când am configurat un Raspberry
Cameră cu infrarosu cu imagini termice DIY: 3 pași (cu imagini)
Cameră cu infrarosu cu imagini termice DIY: Bună ziua! Caut mereu proiecte noi pentru lecțiile mele de fizică. Acum doi ani am dat peste un raport despre senzorul termic MLX90614 de la Melexis. Cel mai bun cu doar 5 ° FOV (câmp vizual) ar fi potrivit pentru o cameră termică făcută de sine. Pentru a citi
Lansați prezentarea de imagini de vacanță cu o atingere de magie!: 9 pași (cu imagini)
Lansează-ți prezentarea cu imagini de vacanță cu un strop de magie! pentru a se potrivi cu steagul și tema țării pe care o vizitez (în acest caz, Sicilia). T
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea
Vizualizator digital de imagini 3D - „The DigiStereopticon”: 6 pași (cu imagini)
Vizualizator digital de imagini 3D - „The DigiStereopticon”: fotografia stereoscopică a căzut în lipsă. Acest lucru se datorează probabil faptului că oamenilor nu le place să poarte ochelari speciali pentru a vedea instantanee de familie. Iată un mic proiect distractiv pe care îl poți face în mai puțin de o zi pentru a-ți face imaginea 3D