Sadržaj:
- Korak 1: Dijelovi i materijali
- Korak 2: Ožičenje osjetnika temperature
- Korak 3: Izlaz osjetnika temperature
- Korak 4: Ulaz senzora za kišnicu
- Korak 5: Izlaz senzora za kišnicu
- Korak 6: Ulaz osjetnika vibracija
- Korak 7: Izlaz osjetnika vibracija
- Korak 8: Zaključak
Video: Korištenje senzora temperature, kišnice i vibracija na Arduinu za zaštitu željeznica: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
U suvremenom društvu povećanje broja željezničkih putnika znači da željezničke tvrtke moraju učiniti više kako bi optimizirale mreže kako bi bile u skladu s potražnjom. U ovom projektu pokazat ćemo u malom opsegu kako senzori temperature, kišnice i vibracije na arduino ploči mogu potencijalno pomoći u povećanju sigurnosti putnika.
Ovaj Instructable će korak po korak prikazati ožičenje senzora temperature, kišnice i vibracija na arduinu, kao i prikazati MATLAB kôd potreban za rad ovih senzora.
Korak 1: Dijelovi i materijali
1. Računalo s instaliranom najnovijom verzijom programa MATLAB
2. Arduino ploča
3. Senzor temperature
4. Senzor kišnice
5. Senzor vibracija
6. Crveno LED svjetlo
7. Plavo LED svjetlo
8. Zeleno LED svjetlo
9. RBG LED svjetlo
10. Zvučni signal
11. 18 Muško-muške žice
12. 3 Žensko-Muške žice
13. 2 Žensko-ženske žice
14. 6 330 ohmskih otpornika
15. 1 100 ohmski otpornik
Korak 2: Ožičenje osjetnika temperature
Gore se nalazi ožičenje i MATLAB kod za ulaz osjetnika temperature.
Žice od uzemljenja i 5V potrebno je samo jednom provesti na negativnu i pozitivnu stranu za cijelu ploču. Od sada nadalje, svi uzemljeni spojevi dolazit će iz negativnog stupa, a svi 5V spojevi iz pozitivnog stupca.
Donji kôd se može kopirati i zalijepiti za osjetnik temperature.
%% TEMPERATURNI SENZOR % Za senzor temperature upotrijebili smo sljedeći izvor zajedno s
% EF230 materijal web stranice za izmjenu našeg osjetnika temperature kako bi se omogućilo korisniku
% ulaza i 3 LED svjetlosna izlaza s grafikonom.
%Ovu skicu je napisala SparkFun Electronics, %uz puno pomoći zajednice Arduino.
%Prilagodio MATLAB -u Eric Davishahl.
%Posjetite https://learn.sparkfun.com/products/2 za informacije o SIK -u.
obriši sve, clc
tempPin = 'A0'; % Deklariranje analognog pina spojenog na senzor temperature
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
% Definirajte anonimnu funkciju koja pretvara napon u temperaturu
tempCfromVolts = @(volti) (volti-0,5)*100;
samplingDuration = 30;
samplingInterval = 2; % Sekunde između očitanja temperature
%postavljen vektor vremena uzorkovanja
samplingTimes = 0: samplingInterval: samplingDuration;
%izračunati broj uzoraka na temelju trajanja i intervala
numSamples = length (samplingTimes);
%unalolocate temp varijable i varijabla za broj očitanja koja će pohraniti
tempC = nule (numSamples, 1);
tempF = tempC;
% pomoću dijaloškog okvira za unos za pohranu maksimalnih i minimalnih temperatura tračnica
dlg_prompts = {'Unesite maksimalnu temperaturu', 'Unesite minimalnu temperaturu'};
dlg_title = 'Intervali temperature šine';
N = 22;
dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, length (dlg_title)+N]);
% Pohranjivanje ulaza od korisnika i prikaz da je ulaz snimljen
max_temp = str2dvostruki (dlg_ans {1})
min_temp = str2double (dlg_ans {2})
txt = sprintf ('Vaš unos je snimljen');
h = poruka (txt);
waitfor (h);
% For petlja za očitavanje temperatura određeni broj puta.
za indeks = 1: numSamples
% Očitajte napon na tempPin i pohranite ga kao promjenjive volte
volti = readVoltage (a, tempPin);
tempC (index) = tempCfromVolts (volti);
tempF (indeks) = tempC (indeks)*9/5+32; % Pretvori iz Celzija u Fahrenheit
% Ako izjave o određenim LED svjetlima trepere ovisno o tome koji je uvjet ispunjen
ako je tempF (indeks)> = max_temp % Crvena LED
writeDigitalPin (a, 'D13', 0);
stanka (0,5);
writeDigitalPin (a, 'D13', 1);
stanka (0,5);
writeDigitalPin (a, 'D13', 0);
elseif tempF (index)> = min_temp && tempF (index) <max_temp % Zelena LED
writeDigitalPin (a, 'D11', 0);
stanka (0,5);
writeDigitalPin (a, 'D11', 1);
stanka (0,5);
writeDigitalPin (a, 'D11', 0);
elseif tempF (index) <= min_temp % Plava LED
writeDigitalPin (a, 'D12', 0);
stanka (0,5);
writeDigitalPin (a, 'D12', 1);
stanka (0,5);
writeDigitalPin (a, 'D12', 0);
kraj
% Prikažite temperature dok se mjere
fprintf ('Temperatura u %d sekundama je %5,2f C ili %5,2f F. / n',…
samplingTimes (indeks), tempC (indeks), tempF (indeks));
pauza (samplingInterval) %kašnjenja do sljedećeg uzorka
kraj
% Iscrtavanje očitanja temperature
slika (1)
iscrtavanje (samplingTimes, tempF, 'r-*')
xlabel ('Vrijeme (sekunde)')
ylabel ('Temperatura (F)')
title ('Očitavanja temperature s RedBoarda')
Korak 3: Izlaz osjetnika temperature
Iznad je ožičenje i MATLAB kôd za izlaz osjetnika temperature.
Za ovaj projekt koristili smo tri LED svjetla za izlaz našeg osjetnika temperature. Koristili smo crvenu za ako su staze prevruće, plavu ako je prehladna i zelenu ako su između.
Korak 4: Ulaz senzora za kišnicu
Iznad je ožičenje za senzor kišnice, a MATLAB kôd je dolje.
%% Senzor vode
obriši sve, clc
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
waterPin = 'A1';
vDry = 4,80; % Napon kada nema vode
samplingDuration = 60;
samplingInterval = 2;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = length (samplingTimes);
% For petlja za očitavanje napona određeno vrijeme (60 sekundi)
za indeks = 1: numSamples
volt2 = readVoltage (a, waterPin); % Očitavanje napona iz analognog vodiča
% Ako izjava oglasi zvučni signal ako se otkrije voda. Pad napona = voda
ako je volt2 <vDry
playTone (a, 'D09', 2400) % funkcija playTone iz MathWorksa
% Prikažite upozorenje putnicima ako se otkrije voda
waitfor (warndlg ('Vaš vlak može kasniti zbog opasnosti od vode'));
kraj
% Prikažite napon kako ga mjeri senzor vode
fprintf ('Napon u %d sekundi je %5,4f V. / n',…
samplingTimes (indeks), volt2);
pauza (samplingInterval)
kraj
Korak 5: Izlaz senzora za kišnicu
Iznad je ožičenje za zujalicu koja se oglašava kad god previše vode padne na stazu. Kôd za zujalicu ugrađen je u kôd za ulaz kišnice.
Korak 6: Ulaz osjetnika vibracija
Iznad je ožičenje senzora vibracija. Senzori vibracija mogu biti važni za željezničke sustave u slučaju pada kamenja na kolosijek. MATLAB kôd je dolje objavljen.
%% Osjetnik vibracija Jasno sve, clc
PIEZO_PIN = 'A3'; % Deklariranje analognog pina spojenog na senzor vibracija a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno'); % Pokretanje vremena i intervala za mjerenje uzorkovanja vibracijaTrajanje = 30; % Sekundi samplingInterval = 1;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = length (samplingTimes);
% Pomoću koda iz sljedećeg izvora izmijenili smo ga tako da uključuje a
% ljubičasta LED ako se otkriju vibracije.
% SparkFun Tinker Kit, RGB LED, napisao SparkFun Electronics, % uz puno pomoći zajednice Arduino
% Prilagodio MATLAB -u Eric Davishahl
% Pokretanje RGB pina
RED_PIN = 'D5';
GREEN_PIN = 'D6';
BLUE_PIN = 'D7';
% For petlja za snimanje promjena napona senzora vibracija preko a
% određeni vremenski interval (30 sekundi)
za indeks = 1: numSamples
volt3 = readVoltage (a, PIEZO_PIN);
% If izjava za uključivanje ljubičaste LED diode ako se otkriju vibracije
ako je volt3> 0,025
writeDigitalPin (a, RED_PIN, 1);
% Stvaranje ljubičastog svjetla
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 1);
else % Isključite LED ako se ne otkriju vibracije.
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
kraj
% Prikaz napona kako se mjeri.
fprintf ('Napon u %d sekundi je %5,4f V. / n',…
samplingTimes (indeks), volt3);
pauza (samplingInterval)
kraj
% Ugasite svjetlo kada se vrše mjerenja vibracija
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
Korak 7: Izlaz osjetnika vibracija
Iznad je ožičenje za korišteno RBG LED svjetlo. Svjetlo će svijetliti ljubičasto kad se otkriju vibracije. MATLAB kôd za izlaz ugrađen je u kôd za ulaz.
Korak 8: Zaključak
Nakon što slijedite sve ove korake, sada biste trebali imati arduino sa sposobnošću otkrivanja temperature, kišnice i vibracija. Gledajući kako ti senzori rade u malim razmjerima, lako je zamisliti koliko bi mogli biti vitalni za željezničke sustave u suvremenom životu!
Preporučeni:
Početak rada s bežičnim osjetnicima temperature i vibracija na daljinu: 7 koraka
Početak rada s bežičnim osjetnicima temperature i vibracija na daljinu: ponekad su vibracije uzrok ozbiljnih problema u mnogim aplikacijama. Od osovina strojeva i ležajeva do performansi tvrdog diska, vibracije uzrokuju oštećenje stroja, ranu zamjenu, niske performanse i nanose veliki udarac točnosti. Praćenje
Bežični podaci senzora vibracija i temperature na MySQL koristeći Node-RED: 40 koraka
Bežični podaci senzora vibracija i temperature u MySQL koristeći Node-RED: Predstavljamo NCD-ov industrijski bežični senzor za vibracije i temperaturu za velike domete IoT za industriju, koji se može pohvaliti upotrebom bežične mrežne strukture do 2 milje. Ovaj uređaj uključuje precizni 16-bitni senzor vibracija i temperature, koji
Slanje podataka bežičnog osjetnika vibracija i temperature u Excel pomoću Node-RED-a: 25 koraka
Slanje bežičnih podataka osjetnika vibracija i temperature u Excel pomoću Node-RED-a: Predstavljamo NCD-ov industrijski bežični senzor za vibracije i temperaturu IoT za daljinski rad, koji se može pohvaliti upotrebom bežične mrežne strukture do 2 milje. Ovaj uređaj uključuje precizni 16-bitni senzor vibracija i temperature, koji
Node-RED s IoT senzorom vibracija i temperature na daljinu: 34 koraka
Node-RED s IoT senzorom za vibracije i temperaturu na velikim udaljenostima: Predstavljamo NCD-ov bežični senzor temperature vlage na daljinu, koji se može pohvaliti do 28 milja koristeći bežičnu mrežnu mrežnu arhitekturu. Uključujući Honeywell HIH9130 senzor vlažnosti temperature prenosi vrlo točnu temperaturu i
Nadzor strukturnog zdravlja civilne infrastrukture pomoću bežičnih senzora vibracija: 8 koraka
Strukturni zdravstveni nadzor civilne infrastrukture pomoću bežičnih senzora vibracija: Pogoršanje stare zgrade i civilne infrastrukture može dovesti do kobne i opasne situacije. Stalno praćenje ovih struktura je obavezno. Strukturno praćenje zdravlja iznimno je važna metodologija za procjenu