Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Multe gări de astăzi sunt nesigure din cauza lipsei de securitate, a barierelor și a avertizării cu privire la intrarea trenului. Am văzut că este necesar să se remedieze acest lucru. Pentru a rezolva această problemă, am creat Safer Better. Am folosit senzori de vibrații, senzori de mișcare și un sistem de alarmă de urgență pe un Arduino Uno pentru a adăuga siguranță la o gară.
Consumabile necesare:
- Arduino Uno
- Sârme jumper
- Senzor de mișcare PIR
- Senzor de vibrații piezo
- Ecran LCD
- Piezo Speaker
- Comutator fizic
- Potențiometru moale
- Rezistor de 330 ohmi
De: Jacob Wimmer, Olivia Crawley, Jin Kim
Pasul 1: conectați placa
Ne-am conectat Arduino-ul ca în diagrama de mai sus.
Pasul 2: Suport LCD pentru imprimare 3D
Am imprimat 3D un suport pentru ecranul nostru LCD pentru o mai bună vizibilitate.
Pasul 3: Conectați-vă la Arduino în Matlab
Primul pas pentru scrierea codului nostru a fost să ne conectăm placa Arduino la Matlab. Acest lucru se realizează prin crearea unui obiect Arduino. Am folosit următorul cod:
a = arduino ('/ dev / tty.usbmodem14201', 'Uno', 'biblioteci', 'ExampleLCD / LCDAddon');
Pasul 4: Scrieți cod în Matlab
Am creat un program în Matlab pentru a rula Arduino. După inițializarea ecranului LCD, am scris cod pentru a ne controla gara. Am folosit intrări precum un senzor de vibrații, senzor de mișcare și comutator fizic pentru a produce o varietate de ieșiri. Aceste intrări, ieșiri și codul corespunzător vor fi explicate în pașii de mai jos.
Pasul 5: senzor de vibrații
Senzorul de vibrații este un senzor analogic și, prin urmare, a folosit funcția Matlab readVoltage.
val_vibro = readVoltage (a, 'A0'); T
Funcția readVoltage a returnat o serie de valori, dar am stabilit că o valoare peste 0,5 este o vibrație decentă și așa că am folosit-o ca valoare de bază. Dacă tensiunea a fost peste 0,5, înseamnă că trenul intră în gară. Când a fost detectată această valoare, un mesaj este trimis pe ecranul LCD. Mesajul de pe ecranul LCD este un mod de a comunica oamenilor din gară că vine un tren.
Am scris pe ecranul nostru LCD folosind următorul cod:
dacă val_vibro <= 0,5;
elseif val_vibro> 0,5;
printLCD (lcd, „Antrenează în 3 minute”);
Sfârșit
Pasul 6: senzor de mișcare PIR
Senzorul de mișcare PIR este utilizat pentru a se asigura că operatorul cunoaște obstacolele de-a lungul căilor ferate. Senzorul face fotografii și compară cea mai nouă fotografie cu ultima realizată și, dacă s-a mutat ceva, Matlab va întoarce valoarea 1. Când ceva este detectat pe șine, apare o interfață grafică cu utilizatorul (GUI) pentru a anunța operatorul de tren că ceva este pe pistă. Operatorul are apoi opțiunea de a opri trenul sau de a continua. După selectarea opțiunii dorite, se afișează un mesaj de confirmare.
Pentru senzorul de mișcare a fost utilizat următorul cod:
dacă val_opt == 1;
d1 = 'Un obiect a fost detectat pe șinele din stație';
op_input = questdlg (d1, „Mesaj operator”, „Opriți trenul”, „Continuați să vă mișcați”, „Continuați să vă mișcați”);
b1 = strcmp (op_input, 'Stop Train');
b2 = strcmp (op_input, „Continuă să te miști”);
dacă b1 == 1
msgbox („Oprirea trenului”)
pauză (3)
elseif b2 == 1
msgbox („Tren continuu”)
pauză (3)
Sfârșit
elseif val_opt == 0;
Sfârșit
Pasul 7: Comutator fizic
De asemenea, credem că gările trebuie să aibă mai multe caracteristici de securitate. Am decis să avem un comutator care să tragă o alarmă la stație. Am făcut acest lucru folosind un comutator fizic. Când acest comutator este pornit, se aude o alarmă printr-un difuzor.
Am făcut acest lucru cu următorul cod:
dacă s_val == 1 pentru i = 1:10
playTone (a, „D10”, 1800, 1)
pauză (.1)
playTone (a, „D10”, 2000, 1)
pauză (.1)
Sfârșit
Sfârșit