Obsah:
- Krok 1: Diely a materiály
- Krok 2: Zapojenie snímača teploty
- Krok 3: Výstup snímača teploty
- Krok 4: Vstup snímača dažďovej vody
- Krok 5: Výstup snímača dažďovej vody
- Krok 6: Vstup senzora vibrácií
- Krok 7: Výstup snímača vibrácií
- Krok 8: Záver
Video: Použitie senzorov teploty, dažďovej vody a vibrácií na Arduine na ochranu železníc: 8 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
V modernej spoločnosti znamená nárast počtu cestujúcich v železničnej doprave, že železničné spoločnosti musia urobiť viac pre optimalizáciu sietí, aby držali krok s dopytom. V tomto projekte v malom meradle ukážeme, ako môžu snímače teploty, dažďovej vody a vibrácií na doske arduino potenciálne pomôcť zvýšiť bezpečnosť cestujúcich.
Tento návod krok za krokom ukáže zapojenie snímačov teploty, dažďovej vody a vibrácií na Arduine, ako aj kód MATLAB potrebný na spustenie týchto senzorov.
Krok 1: Diely a materiály
1. Počítač s nainštalovanou najnovšou verziou programu MATLAB
2. Doska Arduino
3. Snímač teploty
4. Senzor dažďovej vody
5. Senzor vibrácií
6. Červené LED svetlo
7. Modré LED svetlo
8. Zelené LED svetlo
9. RBG LED svetlo
10. Bzučiak
11. 18 Muž-Muž drôtov
12. 3 Ženské-mužské drôty
13. 2 Ženské-ženské drôty
14. 6 odpory 330 ohmov
15. Rezistor 1 100 ohmov
Krok 2: Zapojenie snímača teploty
Hore je zapojenie a kód MATLAB aj pre vstup snímača teploty.
Vodiče zo zeme a 5V je potrebné previesť na záporný a kladný pól iba raz pre celú dosku. Odteraz budú všetky uzemňovacie spojenia pochádzať zo záporného stĺpca a akékoľvek 5V spojenia budú pochádzať z kladného stĺpca.
Nasledujúci kód je možné skopírovať a prilepiť pre snímač teploty.
%% TEMPERATURE SENSOR % Pre teplotný senzor sme použili nasledujúci zdroj spolu s
% Webového materiálu EF230 na úpravu nášho teplotného senzora tak, aby to mohol používateľ umožniť
% vstupu a 3 svetelné výstupy LED s grafom.
%Túto skicu napísala spoločnosť SparkFun Electronics, %s veľkou pomocou komunity Arduino.
%Prispôsobené MATLAB -u Ericom Davishahlom.
%Informácie o SIK nájdete na stránke
vymazať všetko, clc
tempPin = 'A0'; % Deklarovanie analógového kolíka pripojeného k snímaču teploty
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
% Definujte anonymnú funkciu, ktorá prevádza napätie na teplotu
tempCfromVolts = @(volty) (volty-0,5)*100;
samplingDuration = 30;
samplingInterval = 2; % Sekúnd medzi hodnotami teploty
%nastavený vektor časov vzorkovania
samplingTimes = 0: samplingInterval: samplingDuration;
%vypočítajte počet vzoriek na základe trvania a intervalu
numSamples = dĺžka (samplingTimes);
%preallocate premenných temp a premennej pre počet meraní, ktoré bude ukladať
tempC = nuly (numSamples, 1);
tempF = tempC;
% pomocou vstupného dialógového okna na uloženie maximálnej a minimálnej teploty koľajnice
dlg_prompts = {'Zadajte maximálnu teplotu', 'zadajte minimálnu teplotu'};
dlg_title = 'Intervaly teploty koľajnice';
N = 22;
dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, dĺžka (dlg_title)+N]);
% Uloženie vstupov od užívateľa a zobrazenie, že vstup bol zaznamenaný
max_temp = str2double (dlg_ans {1})
min_temp = str2double (dlg_ans {2})
txt = sprintf ('Váš vstup bol zaznamenaný');
h = msgbox (txt);
čakať na (h);
% Pre slučku na čítanie teplôt konkrétny počet krát.
pre index = 1: numSamples
% Prečítajte napätie na tempPin a uložte ho ako variabilné volty
volty = readVoltage (a, tempPin);
tempC (index) = tempCfromVolts (volty);
tempF (index) = tempC (index)*9/5+32; % Konvertovať z Celzia na Fahrenheita
% Ak príkazy na spustenie konkrétnych LED svetiel blikajú podľa toho, ktorá podmienka je splnená
ak tempF (index)> = max_temp % Červená LED
writeDigitalPin (a, 'D13', 0);
pauza (0,5);
writeDigitalPin (a, 'D13', 1);
pauza (0,5);
writeDigitalPin (a, 'D13', 0);
elseif tempF (index)> = min_temp && tempF (index) <max_temp % Zelená LED
writeDigitalPin (a, 'D11', 0);
pauza (0,5);
writeDigitalPin (a, 'D11', 1);
pauza (0,5);
writeDigitalPin (a, 'D11', 0);
elseif tempF (index) <= min_temp % Modrá LED
writeDigitalPin (a, 'D12', 0);
pauza (0,5);
writeDigitalPin (a, 'D12', 1);
pauza (0,5);
writeDigitalPin (a, 'D12', 0);
koniec
% Zobrazenie teplôt pri ich meraní
fprintf („Teplota v %d sekundách je %5,2f C alebo %5,2f F. / n“,…
samplingTimes (index), tempC (index), tempF (index));
pauza (samplingInterval) %oneskorenie do ďalšej vzorky
koniec
% Vynesenie hodnôt teploty
postava 1)
plot (samplingTimes, tempF, 'r-*')
xlabel ('Čas (sekundy)')
ylabel („Teplota (F)“)
názov („Teploty z RedBoard“)
Krok 3: Výstup snímača teploty
Hore je zapojenie a kód MATLAB pre výstup snímača teploty.
Na tento projekt sme použili tri LED svetlá na výstup nášho teplotného senzora. Použili sme červenú, ak boli stopy príliš horúce, modrú, ak boli príliš studené a zelenú, ak boli medzi nimi.
Krok 4: Vstup snímača dažďovej vody
Hore je zapojenie senzora dažďovej vody a kód MATLAB je uvedený nižšie.
%% Senzor vody
vymazať všetko, clc
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
waterPin = 'A1';
vDry = 4,80; % Napätia, keď nie je prítomná žiadna voda
samplingDuration = 60;
samplingInterval = 2;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = dĺžka (samplingTimes);
% Pre slučku na čítanie napätia za určitý čas (60 sekúnd)
pre index = 1: numSamples
volt2 = readVoltage (a, waterPin); % Načítajte napätie z analógu vodovodného kolíka
% Ak zaznie voda, zaznie bzučiak. Pokles napätia = voda
ak volt2 <vDry
playTone (a, 'D09', 2400) % funkcia playTone od MathWorks
% V prípade zistenia vody zobrazí cestujúcim varovanie
čakať (warndlg („Váš vlak môže mať meškanie kvôli nebezpečenstvu spojenému s vodou“));
koniec
% Zobrazte napätie merané vodným senzorom
fprintf ('Napätie v %d sekundách je %5,4f V. / n', …
samplingTimes (index), volt2);
pauza (vzorkovací interval)
koniec
Krok 5: Výstup snímača dažďovej vody
Hore je vedenie bzučiaka, ktorý pípne vždy, keď na trať spadne príliš veľa vody. Kód pre bzučiak je vložený do kódu pre vstup dažďovej vody.
Krok 6: Vstup senzora vibrácií
Hore je kabeláž pre snímač vibrácií. V prípade padajúcich skál na trati môžu byť senzory vibrácií dôležité pre železničné systémy. Kód MATLAB je uvedený nižšie.
%% snímač vibrácií, všetky
PIEZO_PIN = 'A3'; % Deklarovanie analógového kolíka pripojeného k senzoru vibrácií a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno'); % Inicializácia času a intervalu na meranie vzorkovania vibráciíDoba trvania = 30; Interval vzorkovania v % sekúnd = 1;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = dĺžka (samplingTimes);
% Pomocou kódu z nasledujúceho zdroja sme ho upravili tak, aby zapínal a
% purpurovej LED, ak sú detekované vibrácie.
% Sada SparkFun Tinker, RGB LED, napísaná spoločnosťou SparkFun Electronics, % s veľkou pomocou komunity Arduino
% Prispôsobené MATLAB -u Ericom Davishahlom
% Inicializácia kolíka RGB
RED_PIN = 'D5';
GREEN_PIN = 'D6';
BLUE_PIN = 'D7';
% Aby slučka zaznamenala zmeny napätia zo senzora vibrácií počas a
% špecifický časový interval (30 sekúnd)
pre index = 1: numSamples
volt3 = readVoltage (a, PIEZO_PIN);
% Príkaz if zapne purpurovú diódu LED, ak sú detekované vibrácie
ak volt3> 0,025
writeDigitalPin (a, RED_PIN, 1);
% Vytvorenie purpurového svetla
writeDigitalPin (a, ZELENÝ_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 1);
else % Vypnite LED, ak nie sú zistené žiadne vibrácie.
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, ZELENÝ_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
koniec
% Zobrazte napätie pri jeho meraní.
fprintf ('Napätie v %d sekundách je %5,4f V. / n', …
samplingTimes (index), volt3);
pauza (vzorkovací interval)
koniec
% Vypnutie svetla pri meraní vibrácií
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, ZELENÝ_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
Krok 7: Výstup snímača vibrácií
Hore je zapojenie použitého LED svetla RBG. Keď sú zistené vibrácie, svetlo bude svietiť purpurovo. Kód MATLAB pre výstup je vložený do kódu pre vstup.
Krok 8: Záver
Po vykonaní všetkých týchto krokov by ste teraz mali mať arduino so schopnosťou detekovať teplotu, dažďovú vodu a vibrácie. Pri pohľade na to, ako tieto senzory v malom meradle fungujú, je ľahké si predstaviť, aké dôležité by mohli byť pre železničné systémy v modernom živote!
Odporúča:
Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: 7 krokov
Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: Niekedy sú vibrácie príčinou vážnych problémov v mnohých aplikáciách. Od hriadeľov a ložísk stroja po výkon pevného disku, vibrácie spôsobujú poškodenie stroja, skorú výmenu, nízky výkon a spôsobujú zásadný zásah do presnosti. Monitorovanie
Použitie dosky senzorov Complex Arts na ovládanie čistých dát cez WiFi: 4 kroky (s obrázkami)
Použitie dosky senzorov Complex Arts na ovládanie čistých dát cez WiFi: Už ste niekedy chceli experimentovať s gestickým ovládaním? Dať veci do pohybu mávnutím ruky? Ovládať hudbu otočením zápästia? Tento návod vám ukáže, ako na to! Complex Arts Sensor Board (plexarts.net) je všestranný mikro
Monitorovanie štrukturálneho zdravia občianskych infraštruktúr pomocou bezdrôtových senzorov vibrácií: 8 krokov
Monitorovanie štrukturálneho zdravia civilných infraštruktúr pomocou bezdrôtových vibračných senzorov: Zhoršenie starej budovy a občianskej infraštruktúry môže viesť k smrteľnej a nebezpečnej situácii. Neustále monitorovanie týchto štruktúr je povinné. Štrukturálne monitorovanie zdravia je mimoriadne dôležitou metodikou pri hodnotení
Použitie RGB LED zo sady 37 senzorov: 6 krokov
Použitie sady RGB LED od 37 senzorov: Vyšli ste von a kúpili ste si sadu elektrických senzorov a modulov za výhodnú cenu s názvom „37 senzorov“(ako tento alebo iný na Amazone), ale nemôžete nájsť informácie o moduloch, aby ste ich mohli použiť? Táto séria inštrukcií
Odtok dažďovej vody: 11 krokov (s obrázkami)
Odtok dažďovej vody: Silná dažďová búrka môže spôsobiť, že dôjde k pretečeniu cez naše chodníky, studne s dažďovou vodou, poldre a naše hrádze. Aby sme tomu zabránili, vymysleli sme dažďovú vodu! Stavidlo dažďovej vody digitálne vypočítava vzdialenosť medzi dažďovou vodou