Orodha ya maudhui:

Kutumia Joto, Maji ya mvua, na Sensorer za Kutetemeka kwenye Arduino Kulinda Reli: Hatua 8 (na Picha)
Kutumia Joto, Maji ya mvua, na Sensorer za Kutetemeka kwenye Arduino Kulinda Reli: Hatua 8 (na Picha)

Video: Kutumia Joto, Maji ya mvua, na Sensorer za Kutetemeka kwenye Arduino Kulinda Reli: Hatua 8 (na Picha)

Video: Kutumia Joto, Maji ya mvua, na Sensorer za Kutetemeka kwenye Arduino Kulinda Reli: Hatua 8 (na Picha)
Video: Mambo 3 Ya Kufanya Leo Ili Uondoe Stress Maishani Mwako 2024, Novemba
Anonim
Kutumia Joto, Maji ya mvua, na sensorer za Vibration kwenye Arduino Kulinda Reli
Kutumia Joto, Maji ya mvua, na sensorer za Vibration kwenye Arduino Kulinda Reli

Katika jamii ya kisasa, kuongezeka kwa abiria wa reli kunamaanisha kuwa kampuni za reli lazima zifanye zaidi kuboresha mitandao ili kukidhi mahitaji. Katika mradi huu tutaonyesha kwa kiwango kidogo jinsi joto, maji ya mvua, na sensorer za kutetemeka kwenye bodi ya arduino zinaweza kusaidia kuongeza usalama wa abiria.

Hii inayoweza kufundishwa hatua kwa hatua itaonyesha wiring kwa hali ya joto, maji ya mvua, na sensorer za kutetemeka kwenye arduino na vile vile kuonyesha nambari ya MATLAB inayohitajika kuendesha sensorer hizi.

Hatua ya 1: Sehemu na Vifaa

1. Kompyuta iliyo na toleo la hivi karibuni la MATLAB imewekwa

2. Bodi ya Arduino

3. Sensorer ya joto

4. Sensor ya Maji ya mvua

5. Sensor ya kutetemeka

6. Taa nyekundu ya LED

7. Nuru ya LED ya Bluu

8. Taa ya kijani ya LED

9. RBG Mwanga wa LED

10. Buzzer

11. 18 Waya wa Kiume na Kiume

12. waya 3 za Kike na Kiume

13. waya 2 za Kike na za Kike

14. 6 330 ohm vipinga

15. 1 100 ohm kupinga

Hatua ya 2: Wiring Sensor ya joto

Wiring ya Sensorer ya Joto
Wiring ya Sensorer ya Joto
Wiring ya Sensorer ya Joto
Wiring ya Sensorer ya Joto

Hapo juu ni nambari ya wiring na MATLAB ya pembejeo ya sensorer ya joto pia.

Waya kutoka ardhini na 5V zinahitaji tu kukimbizwa kwa hasi na chanya mtiririko mara moja kwa bodi nzima. Kuanzia hapa nje, viunganisho vyovyote vya ardhi vitatoka kwenye safu hasi na unganisho lolote la 5V litatoka kwenye safu chanya.

Nambari iliyo hapa chini inaweza kunakiliwa na kubandikwa kwa sensorer ya joto.

%% TEMPERATURE SENSOR% Kwa sensorer ya joto tulitumia chanzo kifuatacho pamoja na

EF230 vifaa vya tovuti kurekebisha hali yetu ya joto ili kuruhusu mtumiaji

Pembejeo na matokeo 3 ya taa ya LED na grafu.

Mchoro huu uliandikwa na SparkFun Electronics, % na msaada mwingi kutoka kwa jamii ya Arduino.

Imebadilishwa kuwa MATLAB na Eric Davishahl.

Tembelea https://learn.sparkfun.com/products/2 kwa habari ya SIK.

wazi yote, clc

tempPin = 'A0'; Kutangaza pini ya analogi iliyounganishwa na sensorer ya muda

a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno');

Fafanua kazi isiyojulikana ambayo inabadilisha voltage kuwa joto

tempCfromVolts = @ (volts) (volts-0.5) * 100;

sampuliUrefu = 30;

sampuliInterval = 2; Sekunde kati ya usomaji wa joto

kuanzisha vector ya nyakati za sampuli

sampuliTimes = 0: samplingInterval: samplingDuration;

Mahesabu ya idadi ya sampuli kulingana na muda na muda

Sampuli = urefu (Nyakati za sampuli);

% chagua vigeugeu vya muda na ubadilishaji kwa idadi ya usomaji utakaohifadhiwa

tempC = zero (numSamples, 1);

tempF = tempC;

Kutumia sanduku la mazungumzo la kuingiza kuhifadhi joto la juu na la chini la reli

dlg_prompts = {'Enter Max Temp', 'Enter Min Temp'};

dlg_title = 'Vipindi vya Joto la Reli';

N = 22;

dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, urefu (dlg_title) + N]);

Kuhifadhi pembejeo kutoka kwa mtumiaji na kuonyesha kuwa pembejeo ilirekodiwa

max_temp = str2double (dlg_ans {1})

min_temp = str2double (dlg_ans {2})

txt = sprintf ('Ingizo lako limerekodiwa');

h = msgbox (txt);

subiri (h);

Kwa kitanzi kusoma joto mara kadhaa.

kwa index = 1: numSampuli

Soma voltage kwenye tempPin na uhifadhi kama volts anuwai

volts = kusomaVoltage (a, tempPin);

tempC (index) = tempCfromVolts (volts);

tempF (index) = tempC (index) * 9/5 + 32; Badilisha kutoka Celsius hadi Fahrenheit

Ikiwa taarifa za kufanya taa maalum za LED kupepesa kulingana na hali gani imetimizwa

ikiwa tempF (index)> = max_temp% Nyekundu ya LED

andikaDigitalPin (a, 'D13', 0);

pause (0.5);

andikaDigitalPin (a, 'D13', 1);

pause (0.5);

andikaDigitalPin (a, 'D13', 0);

kingineif tempF (index)> = min_temp && tempF (index) <max_temp% Green LED

andikaDigitalPin (a, 'D11', 0);

pause (0.5);

andikaDigitalPin (a, 'D11', 1);

pause (0.5);

andikaDigitalPin (a, 'D11', 0);

kingineif tempF (index) <= min_temp% Blue LED

andikaDigitalPin (a, 'D12', 0);

pause (0.5);

andikaDigitalPin (a, 'D12', 1);

pause (0.5);

andikaDigitalPin (a, 'D12', 0);

mwisho

Onyesha hali ya joto kadri zinavyopimwa

fprintf ('Joto kwa sekunde% d ni% 5.2f C au% 5.2f F. / n',…

sampuliTimes (index), tempC (index), tempF (index));

pause (samplingInterval)% kuchelewa hadi sampuli inayofuata

mwisho

Kupanga usomaji wa joto

takwimu (1)

njama (sampuliTimes, tempF, 'r- *')

xlabel ('Saa (Sekunde)')

ylabel ('Joto (F)')

kichwa ('Masomo ya Joto kutoka RedBoard')

Hatua ya 3: Pato la Sensorer ya Joto

Pato la Sensorer ya Joto
Pato la Sensorer ya Joto
Pato la Sensorer ya Joto
Pato la Sensorer ya Joto

Hapo juu ni nambari ya wiring na MATLAB ya pato la sensorer ya joto.

Kwa mradi huu tulitumia taa tatu za LED kwa pato la sensor yetu ya joto. Tulitumia nyekundu ikiwa nyimbo zilikuwa moto sana, bluu ikiwa baridi sana, na kijani ikiwa zilikuwa katikati.

Hatua ya 4: Uingizaji wa Sensorer ya Maji ya mvua

Uingizaji wa Sensorer ya Maji ya mvua
Uingizaji wa Sensorer ya Maji ya mvua
Uingizaji wa Sensorer ya Maji ya mvua
Uingizaji wa Sensorer ya Maji ya mvua

Hapo juu kuna wiring kwa sensa ya maji ya mvua na nambari ya MATLAB imewekwa hapa chini.

Sensa ya maji %%

wazi yote, clc

a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno');

majiPini = 'A1';

vDry = 4.80; Voltage wakati hakuna maji

sampuliUrefu = 60;

sampuliInterval = 2;

sampuliTimes = 0: samplingInterval: samplingDuration;

Sampuli = urefu (Nyakati za sampuli);

Kwa kitanzi kusoma voltage kwa muda fulani (sekunde 60)

kwa index = 1: numSampuli

volt2 = somaVoltage (a, WaterPin); Soma voltage kutoka kwa pini ya maji

Ikiwa taarifa ya kupiga kelele ikiwa maji hugunduliwa. Kushuka kwa Voltage = maji

ikiwa volt2 <vDry

playTone (a, 'D09', 2400)% playTone kazi kutoka MathWorks

Onyesha onyo kwa abiria ikiwa maji hugunduliwa

subiri (warndlg ('Treni yako inaweza kucheleweshwa kwa sababu ya hatari za maji'));

mwisho

Onyesha voltage kama inapimwa na sensa ya maji

fprintf ('Voltage kwa sekunde% d ni% 5.4f V. / n',…

sampuliMuda (index), volt2);

pause (samplingInterval)

mwisho

Hatua ya 5: Pato la Sensorer ya Maji ya mvua

Pato la Sensorer ya Maji ya mvua
Pato la Sensorer ya Maji ya mvua

Hapo juu ni wiring ya buzzer ambayo hulia wakati wowote maji mengi huanguka kwenye wimbo. Nambari ya buzzer imewekwa ndani ya nambari ya kuingiza maji ya mvua.

Hatua ya 6: Ingizo la Sensorer ya Vibration

Uingizaji wa Sensorer ya Vibration
Uingizaji wa Sensorer ya Vibration
Uingizaji wa Sensorer ya Vibration
Uingizaji wa Sensorer ya Vibration

Hapo juu kuna wiring kwa sensor ya vibration. Sensorer za kutetemeka zinaweza kuwa muhimu kwa mifumo ya reli katika kesi ya miamba inayoanguka kwenye wimbo. Nambari ya MATLAB imewekwa hapa chini.

Utambuzi wa Vibration %%, clc

PIEZO_PIN = 'A3'; Kutangaza pini ya analogi iliyounganishwa na sensor ya vibration a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno'); Kuanzisha wakati na muda wa kupima sampuli ya kutetemekaDuration = 30; Sampuli ya sekundeInterval = 1;

sampuliTimes = 0: samplingInterval: samplingDuration;

Sampuli = urefu (Nyakati za sampuli);

Kutumia nambari kutoka kwa chanzo kifuatacho tuliibadilisha ili kuwasha

LED ya zambarau ikiwa vibration hugunduliwa.

SparkFun Tinker Kit, RGB LED, iliyoandikwa na SparkFun Electronics, % na msaada mwingi kutoka kwa jamii ya Arduino

Imebadilishwa kuwa MATLAB na Eric Davishahl

Inazindua pini ya RGB

RED_PIN = 'D5';

GREEN_PIN = 'D6';

BLUE_PIN = 'D7';

Kwa kitanzi kurekodi mabadiliko ya voltage kutoka kwa sensor ya vibration juu ya

Kipindi cha muda maalum (sekunde 30)

kwa index = 1: numSampuli

volt3 = somaVoltage (a, PIEZO_PIN);

Ikiwa taarifa ya kuwasha mwangaza wa zambarau iwapo mtetemo umegunduliwa

ikiwa volt3> 0.025

andikaDigitalPin (a, RED_PIN, 1);

Kuunda taa ya zambarau

andikaDigitalPin (a, GREEN_PIN, 0);

andikaDigitalPin (a, BLUE_PIN, 1);

Zima LED ikiwa hakuna mtetemo unaogunduliwa.

andikaDigitalPin (a, RED_PIN, 0);

andikaDigitalPin (a, GREEN_PIN, 0);

andikaDigitalPin (a, BLUE_PIN, 0);

mwisho

Onyesha voltage kama inavyopimwa.

fprintf ('Voltage kwa sekunde% d ni% 5.4f V. / n',…

sampuliMuda (index), volt3);

pause (samplingInterval)

mwisho

Kata taa wakati upimaji wa mitetemo umefanywa

andikaDigitalPin (a, RED_PIN, 0);

andikaDigitalPin (a, GREEN_PIN, 0);

andikaDigitalPin (a, BLUE_PIN, 0);

Hatua ya 7: Pato la Sensorer ya Vibration

Pato la Sensorer ya Vibration
Pato la Sensorer ya Vibration

Hapo juu ni wiring kwa taa ya RBG LED iliyotumiwa. Mwanga utawaka zambarau wakati mitetemo hugunduliwa. Nambari ya MATLAB ya pato imeingizwa ndani ya nambari ya kuingiza.

Hatua ya 8: Hitimisho

Baada ya kufuata hatua hizi zote sasa unapaswa kuwa na arduino na uwezo wa kugundua joto, maji ya mvua, na mitetemo. Wakati wa kutazama jinsi sensorer hizi zinavyofanya kazi kwa kiwango kidogo, ni rahisi kufikiria jinsi zinavyoweza kuwa muhimu kwa mifumo ya reli katika maisha ya kisasa!

Ilipendekeza: