INHOUDSOPGAWE:
- Stap 1: Onderdele en materiaal
- Stap 2: Bedrading van temperatuursensor
- Stap 3: Temperatuursensoruitset
- Stap 4: Invoer van reënwatersensor
- Stap 5: Uitvoer van reënwatersensor
- Stap 6: Invoer van vibrasiesensor
- Stap 7: Uitvoer van trillingsensor
- Stap 8: Gevolgtrekking
Video: Gebruik van temperatuur-, reënwater- en trillingsensors op 'n Arduino om spoorweë te beskerm: 8 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
In die hedendaagse samelewing beteken 'n toename in spoorpassasiers dat spoorwegondernemings meer moet doen om netwerke te optimaliseer om aan die vraag te voldoen. In hierdie projek sal ons op klein skaal wys hoe temperatuur-, reënwater- en vibrasiesensors op 'n arduino -bord moontlik die veiligheid van passasiers kan verhoog.
Hierdie instruksies sal stap-vir-stap die bedrading van die temperatuur-, reënwater- en vibrasiesensors op die arduino wys, asook die MATLAB-kode wat nodig is om hierdie sensors te laat werk.
Stap 1: Onderdele en materiaal
1. 'n Rekenaar met die nuutste weergawe van MATLAB geïnstalleer
2. Arduino -bord
3. Temperatuur sensor
4. Reënwatersensor
5. Trillingsensor
6. Rooi LED -lig
7. Blou LED -lig
8. Groen LED -lig
9. RBG LED Light
10. Gonser
11. 18 Man-Man-drade
12. 3 Wyfie-Man-drade
13. 2 Vrou-vroulike drade
14. 6 330 ohm weerstande
15. 1 100 ohm weerstand
Stap 2: Bedrading van temperatuursensor
Hierbo is ook die bedrading en die MATLAB -kode vir die ingang van die temperatuursensor.
Die drade van die grond en 5V hoef slegs een keer vir die hele bord na onderskeidelik negatief en positief te loop. Van hier af sal enige aardverbindings uit die negatiewe kolom kom en enige 5V -verbindings uit die positiewe kolom.
Die onderstaande kode kan vir die temperatuursensor gekopieer en geplak word.
%% TEMPERATUURSENSOR % Vir die temperatuursensor het ons die volgende bron saam met gebruik
% EF230 webwerf -materiaal om ons temperatuursensor te verander om die gebruiker in staat te stel
% insette en 3 LED -liguitsette met 'n grafiek.
Hierdie skets is geskryf deur SparkFun Electronics, %met baie hulp van die Arduino -gemeenskap.
%Aangepas by MATLAB deur Eric Davishahl.
Besoek https://learn.sparkfun.com/products/2 vir SIK -inligting.
maak alles duidelik, clc
tempPin = 'A0'; % Verklaar die analoog pen wat aan die temp sensor gekoppel is
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
% Definieer anonieme funksie wat die spanning na temperatuur omskakel
tempCfromVolts = @(volt) (volt-0.5)*100;
steekproefduur = 30;
samplingInterval = 2; % Sekondes tussen temperatuurmetings
%stel vektor op van monstertye
samplingTimes = 0: samplingInterval: samplingDuration;
%bereken die aantal monsters gebaseer op die duur en interval
numSamples = lengte (samplingTimes);
%plaas tydelike veranderlikes en veranderlike voor die aantal lesings wat dit sal stoor
tempC = nulle (numSamples, 1);
tempF = tempC;
% gebruik die invoer -dialoogkassie om maksimum en min spoortemperature op te slaan
dlg_prompts = {'Tik maksimum temperatuur', 'Voer minimum temperatuur' in;
dlg_title = 'Spoor temperatuur intervalle';
N = 22;
dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, lengte (dlg_title)+N]);
Stoor die insette van die gebruiker en wys dat die insette opgeneem is
max_temp = str2double (dlg_ans {1})
min_temp = str2double (dlg_ans {2})
txt = sprintf ('U insette is aangeteken');
h = msgbox (txt);
wag (h);
% Vir lus om die temperatuur 'n spesifieke aantal kere te lees.
vir indeks = 1: numSamples
% Lees die spanning by tempPin en stoor as veranderlike volt
volt = readVoltage (a, tempPin);
tempC (indeks) = tempCfromVolts (volt);
tempF (indeks) = tempC (indeks)*9/5+32; Skakel om van Celsius na Fahrenheit
% As verklarings om spesifieke LED -ligte te laat flikker, afhangende van watter voorwaarde daaraan voldoen word
as tempF (indeks)> = max_temp % Rooi LED
writeDigitalPin (a, 'D13', 0);
pouse (0,5);
writeDigitalPin (a, 'D13', 1);
pouse (0,5);
writeDigitalPin (a, 'D13', 0);
elseif tempF (indeks)> = min_temp && tempF (index) <max_temp % Groen LED
writeDigitalPin (a, 'D11', 0);
pouse (0,5);
writeDigitalPin (a, 'D11', 1);
pouse (0,5);
writeDigitalPin (a, 'D11', 0);
andersif tempF (indeks) <= min_temp % Blou LED
writeDigitalPin (a, 'D12', 0);
pouse (0,5);
writeDigitalPin (a, 'D12', 1);
pouse (0,5);
writeDigitalPin (a, 'D12', 0);
einde
% Gee die temperature soos dit gemeet word
fprintf ('Temperatuur by %d sekondes is %5.2f C of %5.2f F. / n', …
samplingTimes (indeks), tempC (indeks), tempF (indeks));
pouse (samplingInterval) %vertraging tot volgende monster
einde
% Plot die temperatuurlesings
Figuur 1)
plot (samplingTimes, tempF, 'r-*')
xlabel ('Tyd (sekondes)')
ylabel ('Temperatuur (F)')
title ('Temperatuurlesings van die Rooibord')
Stap 3: Temperatuursensoruitset
Hierbo is die bedrading en die MATLAB -kode vir die uitset van die temperatuursensor.
Vir hierdie projek het ons drie LED -ligte gebruik vir die uitvoer van ons temperatuursensor. Ons gebruik 'n rooi as die spore te warm was, 'n blou as dit te koud was en 'n groen as dit tussenin was.
Stap 4: Invoer van reënwatersensor
Hierbo is die bedrading vir die reënwatersensor en die MATLAB -kode word hieronder geplaas.
%% Watersensor
maak alles duidelik, clc
a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');
waterPin = 'A1';
vDry = 4,80; % Spanning as daar geen water is nie
steekproefduur = 60;
samplingInterval = 2;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = lengte (samplingTimes);
% Vir lus om die spanning vir 'n spesifieke tyd (60 sekondes) te lees
vir indeks = 1: numSamples
volt2 = readVoltage (a, waterPin); % Lees spanning van waterpen analoog
% As verklaring om 'n gonser te laat klink as water opgespoor word. Spanningsval = water
as volt2 <vDry
playTone (a, 'D09', 2400) % playTone -funksie van MathWorks
Wys 'n waarskuwing aan passasiers as daar water opgespoor word
waitfor (warndlg ('Jou trein kan vertraag word as gevolg van watergevare'));
einde
Wys die spanning soos dit gemeet word deur die watersensor
fprintf ('Spanning by %d sekondes is %5.4f V. / n', …
monsternemingstye (indeks), volt2);
pouse (samplingInterval)
einde
Stap 5: Uitvoer van reënwatersensor
Hierbo is die bedrading vir 'n zoemer wat piep wanneer te veel water op die baan val. Die kode vir die zoemer is ingebed in die kode vir die invoer van reënwater.
Stap 6: Invoer van vibrasiesensor
Hierbo is die bedrading vir die vibrasiesensor. Trillingsensors kan belangrik wees vir spoorwegstelsels as rotse op 'n spoor val. Die MATLAB -kode word hieronder geplaas.
%% Vibrasiesensor Maak alles skoon, clc
PIEZO_PIN = 'A3'; % Verklaring van die analoog pen wat aan die vibrasiesensor gekoppel is a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno'); % Initialiseer die tyd en interval om vibrasie -monsterneming te meet Duration = 30; % Sekondes samplingInterval = 1;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = lengte (samplingTimes);
Deur die kode uit die volgende bron te gebruik, het ons dit aangepas om a aan te skakel
% pers LED as vibrasie waargeneem word.
% SparkFun Tinker Kit, RGB LED, geskryf deur SparkFun Electronics, % met baie hulp van die Arduino -gemeenskap
% Aangepas by MATLAB deur Eric Davishahl
% Initialiseer die RGB -pen
RED_PIN = 'D5';
GREEN_PIN = 'D6';
BLUE_PIN = 'D7';
% Vir lus om spanningveranderings van die vibrasiesensor oor 'n
% spesifieke tydsinterval (30 sekondes)
vir indeks = 1: numSamples
volt3 = readVoltage (a, PIEZO_PIN);
% As verklaring om 'n pers LED aan te skakel as vibrasie waargeneem word
as volt3> 0,025
writeDigitalPin (a, RED_PIN, 1);
Die skep van 'n pers lig
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 1);
anders % Skakel die LED af as daar geen trilling opgemerk word nie.
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
einde
% Toon die spanning soos dit gemeet word.
fprintf ('Spanning by %d sekondes is %5.4f V. / n', …
monsternemingstye (indeks), volt3);
pouse (samplingInterval)
einde
% Knip lig af wanneer vibrasies gemeet word
writeDigitalPin (a, RED_PIN, 0);
writeDigitalPin (a, GREEN_PIN, 0);
writeDigitalPin (a, BLUE_PIN, 0);
Stap 7: Uitvoer van trillingsensor
Hierbo is die bedrading vir die RBG LED -lig wat gebruik word. Die lig sal pers skyn as vibrasies waargeneem word. Die MATLAB -kode vir die uitset is ingebed in die kode vir die invoer.
Stap 8: Gevolgtrekking
Nadat u al hierdie stappe gevolg het, moet u nou 'n arduino hê wat die temperatuur, reënwater en trillings kan opspoor. As u kyk hoe hierdie sensors op klein skaal werk, is dit maklik om te dink hoe noodsaaklik dit vir spoorwegstelsels in die moderne lewe kan wees!
Aanbeveel:
Aan die gang met langafstand draadlose temperatuur- en trillingsensors: 7 stappe
Aan die gang met langafstand draadlose temperatuur- en trillingsensors: soms veroorsaak vibrasie ernstige probleme in baie toepassings. Van masjienasse en laers tot hardeskyfprestasie, vibrasie veroorsaak skade aan die masjien, vroeë vervanging, lae werkverrigting en veroorsaak 'n groot trefkrag op die akkuraatheid. Monitor tans
Beskerm u idees, beskerm u werk: 8 stappe
Beskerm u idees, beskerm u werk: ek het 'n paar dae gelede data verloor deur 'n rekenaarongeluk. Eendag se werk het verlore gegaan .:/ Ek stoor my data in die wolk om 'n hardeskyfgebrek te voorkom. Ek gebruik 'n weergawesagteware sodat ek ouer weergawes van my werk kan herstel. Ek maak elke dag 'n rugsteun, maar hierdie keer
Strukturele gesondheidsmonitering van burgerlike infrastrukture met behulp van draadlose trillingsensors: 8 stappe
Monitering van strukturele gesondheid van burgerlike infrastrukture met behulp van draadlose trillingsensors: die agteruitgang van die ou gebou en die burgerlike infrastruktuur kan tot 'n noodlottige en gevaarlike situasie lei. Die konstante monitering van hierdie strukture is verpligtend. Monitering van strukturele gesondheid is 'n uiters belangrike metodologie vir die evaluering van die
Hoe om die temperatuur van die bierfermentasie en die swaartekrag van u slimfoon te beheer: 4 stappe (met foto's)
Hoe om die temperatuur van die bierfermentasie en -gravitasie vanaf u slimfoon te beheer: as bier fermenteer, moet u die erns en temperatuur daarvan daagliks monitor. Dit is maklik om te vergeet om dit te doen, en as u weg is, is dit onmoontlik. Na 'n bietjie gegoogle het ek verskeie oplossings gevind vir outomatiese swaartekragmonitering (een, twee, drie). Een van die
Beskerm u huis met laserstrale !: 7 stappe (met foto's)
Beskerm u huis met laserstrale !: Hier is 'n maklik gemaakte en kragtige laseralarmstelsel wat u hele huis binne of buite kan beskerm! My inspirasie vir hierdie projek kom van Brad Graham & Kathy McGowan. Kyk na die video vir besonderhede en die toetsuitslae. U sal beïndruk word