Isi kandungan:
- Langkah 1: Bahagian dan Bahan
- Langkah 2: Pendawaian Sensor Suhu
- Langkah 3: Output Sensor Suhu
- Langkah 4: Input Sensor Air Hujan
- Langkah 5: Output Sensor Air Hujan
- Langkah 6: Input Sensor Getaran
- Langkah 7: Output Sensor Getaran
- Langkah 8: Kesimpulannya
Video: Menggunakan Sensor Suhu, Air Hujan, dan Getaran pada Arduino untuk Melindungi Rel: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Dalam masyarakat moden, peningkatan penumpang kereta api bermaksud syarikat kereta api harus melakukan lebih banyak usaha untuk mengoptimumkan rangkaian agar sesuai dengan permintaan. Dalam projek ini kita akan menunjukkan secara kecil-kecilan bagaimana suhu, air hujan, dan sensor getaran pada papan arduino berpotensi membantu meningkatkan keselamatan penumpang.
Instructable ini akan menunjukkan langkah demi langkah pendawaian untuk sensor suhu, air hujan, dan getaran pada arduino serta menunjukkan kod MATLAB yang diperlukan untuk menjalankan sensor ini.
Langkah 1: Bahagian dan Bahan
1. Komputer dengan MATLAB versi terkini dipasang
2. Dewan Arduino
3. Sensor Suhu
4. Sensor Air Hujan
5. Sensor Getaran
6. Lampu LED Merah
7. Lampu LED Biru
8. Lampu LED Hijau
9. Lampu LED RBG
10. Buzzer
11. 18 Kawat Lelaki-Lelaki
12. 3 Wayar Perempuan-Lelaki
13. 2 Wayar Perempuan-Perempuan
14. 6 330 ohm perintang
15. 1 perintang 100 ohm
Langkah 2: Pendawaian Sensor Suhu
Di atas adalah kod pendawaian dan MATLAB untuk input sensor suhu juga.
Kabel dari tanah dan 5V hanya perlu disambungkan ke negatif dan positif masing-masing sekali untuk keseluruhan papan. Dari sini dan seterusnya, sebarang sambungan darat akan datang dari lajur negatif dan sebarang sambungan 5V akan datang dari lajur positif.
Kod di bawah boleh disalin dan ditampal untuk sensor suhu.
%% TEMPERATURE SENSOR% Untuk sensor suhu kami menggunakan sumber berikut bersama dengan
% Bahan laman web EF230 untuk mengubah suai suhu kami untuk membolehkan pengguna
% input dan 3 output cahaya LED dengan graf.
Sketsa ini ditulis oleh SparkFun Electronics, % dengan banyak pertolongan dari komuniti Arduino.
% Diadaptasi ke MATLAB oleh Eric Davishahl.
% Lawati https://learn.sparkfun.com/products/2 untuk maklumat SIK.
jelas semua, clc
tempPin = 'A0'; % Menyatakan pin analog yang disambungkan ke sensor suhu
a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno');
% Tentukan fungsi tanpa nama yang menukar voltan kepada suhu
tempCfromVolts = @ (volt) (volt-0.5) * 100;
persampelanDurasi = 30;
persampelanInterval = 2; % Detik antara bacaan suhu
% menetapkan vektor masa persampelan
samplingTimes = 0: samplingInterval: samplingDuration;
% mengira bilangan sampel berdasarkan jangka masa dan selang
numSamples = panjang (samplingTimes);
% peruntukkan pemboleh ubah temp dan pemboleh ubah untuk bilangan bacaan yang akan disimpannya
tempC = nol (numSample, 1);
tempF = tempC;
% menggunakan kotak dialog input untuk menyimpan suhu rel maksimum dan min
dlg_prompts = {'Enter Temp Max', 'Enter Min Temp'};
dlg_title = 'Selang Suhu Rel';
N = 22;
dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, length (dlg_title) + N]);
Menyimpan input dari pengguna dan menunjukkan bahawa input direkodkan
max_temp = str2double (dlg_ans {1})
min_temp = str2double (dlg_ans {2})
txt = sprintf ('Input anda telah direkodkan');
h = msgbox (txt);
menunggu (h);
% Untuk gelung membaca suhu beberapa kali.
untuk indeks = 1: numSampel
% Baca voltan pada tempPin dan simpan sebagai voltan berubah
volt = readVoltage (a, tempPin);
tempC (index) = tempCfromVolts (volt);
tempF (indeks) = tempC (indeks) * 9/5 + 32; % Tukar dari Celsius ke Fahrenheit
% Sekiranya pernyataan untuk membuat lampu LED tertentu berkedip bergantung pada keadaan mana yang dipenuhi
jika tempF (indeks)> = max_temp% LED Merah
tulisDigitalPin (a, 'D13', 0);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D13', 1);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D13', 0);
elseif tempF (index)> = min_temp && tempF (index) <max_temp% LED Hijau
tulisDigitalPin (a, 'D11', 0);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D11', 1);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D11', 0);
elseif tempF (indeks) <= min_temp% LED Biru
tulisDigitalPin (a, 'D12', 0);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D12', 1);
berhenti seketika (0.5);
tulisDigitalPin (a, 'D12', 0);
akhir
% Paparkan suhu semasa diukur
fprintf ('Suhu pada% d saat adalah% 5.2f C atau% 5.2f F. / n',…
samplingTimes (index), tempC (index), tempF (index));
jeda (samplingInterval)% kelewatan sehingga sampel seterusnya
akhir
% Merangka bacaan suhu
Rajah 1)
plot (samplingTimes, tempF, 'r- *')
xlabel ('Masa (Detik)')
ylabel ('Suhu (F)')
tajuk ('Bacaan Suhu dari Papan Merah')
Langkah 3: Output Sensor Suhu
Di atas adalah kod pendawaian dan MATLAB untuk output sensor suhu.
Untuk projek ini, kami menggunakan tiga lampu LED untuk output sensor suhu kami. Kami menggunakan warna merah jika trek terlalu panas, biru jika terlalu sejuk, dan hijau jika berada di antara.
Langkah 4: Input Sensor Air Hujan
Di atas adalah pendawaian untuk sensor air hujan dan kod MATLAB dipaparkan di bawah.
Sensor air%%
jelas semua, clc
a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno');
waterPin = 'A1';
vDry = 4.80; Voltan apabila tiada air
persampelanDurasi = 60;
persampelanInterval = 2;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = panjang (samplingTimes);
% Untuk gelung membaca voltan untuk jangka masa tertentu (60 saat)
untuk indeks = 1: numSampel
volt2 = readVoltage (a, waterPin); % Baca voltan dari analog pin air
Jika pernyataan untuk membunyikan bel jika air dikesan. Kejatuhan voltan = air
jika volt2 <vDry
playTone (a, 'D09', 2400)% fungsi playTone dari MathWorks
% Menunjukkan amaran kepada penumpang sekiranya air dikesan
waitfor (warndlg ('Kereta anda mungkin tertangguh kerana bahaya air'));
akhir
% Paparkan voltan kerana diukur oleh sensor air
fprintf ('Voltan pada% d saat ialah% 5.4f V. / n',…
samplingTimes (indeks), volt2);
jeda (pensampelanInterval)
akhir
Langkah 5: Output Sensor Air Hujan
Di atas adalah pendawaian untuk bel yang berbunyi apabila air terlalu banyak jatuh di trek. Kod untuk bel disertakan dalam kod untuk input air hujan.
Langkah 6: Input Sensor Getaran
Di atas adalah pendawaian untuk sensor getaran. Sensor getaran boleh menjadi penting bagi sistem keretapi sekiranya jatuh batu di trek. Kod MATLAB dipaparkan di bawah.
%% Sensor Getaran jelas semua, clc
PIEZO_PIN = 'A3'; % Menyatakan pin analog yang disambungkan ke sensor getaran a = arduino ('/ dev / tty.usbserial-DA017PNO', 'uno'); % Memulakan masa dan selang untuk mengukur pengambilan getaranDurasi = 30; Persampelan% Detik = 1;
samplingTimes = 0: samplingInterval: samplingDuration;
numSamples = panjang (samplingTimes);
% Menggunakan kod dari sumber berikut, kami mengubahnya untuk menghidupkan a
% ungu LED jika getaran dikesan.
% SparkFun Tinker Kit, RGB LED, ditulis oleh SparkFun Electronics, % dengan banyak pertolongan dari komuniti Arduino
% Diadaptasi ke MATLAB oleh Eric Davishahl
% Memulakan pin RGB
RED_PIN = 'D5';
HIJAU_PIN = 'D6';
BLUE_PIN = 'D7';
% Untuk gelung untuk merekod perubahan voltan dari sensor getaran di atas a
% selang waktu tertentu (30 saat)
untuk indeks = 1: numSampel
volt3 = readVoltage (a, PIEZO_PIN);
% Jika pernyataan untuk menyalakan LED ungu jika getaran dikesan
jika volt3> 0.025
tulisDigitalPin (a, RED_PIN, 1);
% Menciptakan cahaya ungu
tulisDigitalPin (a, GREEN_PIN, 0);
tulisDigitalPin (a, BLUE_PIN, 1);
lain% Matikan LED jika tiada getaran dikesan.
tulisDigitalPin (a, RED_PIN, 0);
tulisDigitalPin (a, GREEN_PIN, 0);
tulisDigitalPin (a, BLUE_PIN, 0);
akhir
% Paparkan voltan semasa diukur.
fprintf ('Voltan pada% d saat ialah% 5.4f V. / n',…
samplingTimes (indeks), volt3);
jeda (pensampelanInterval)
akhir
Memotong cahaya semasa mengukur getaran selesai
tulisDigitalPin (a, RED_PIN, 0);
tulisDigitalPin (a, GREEN_PIN, 0);
tulisDigitalPin (a, BLUE_PIN, 0);
Langkah 7: Output Sensor Getaran
Di atas adalah pendawaian untuk lampu LED RBG yang digunakan. Cahaya akan menyala ungu apabila getaran dikesan. Kod MATLAB untuk output tertanam dalam kod untuk input.
Langkah 8: Kesimpulannya
Setelah mengikuti semua langkah ini, anda kini harus memiliki arduino dengan kemampuan untuk mengesan suhu, air hujan, dan getaran. Semasa melihat bagaimana sensor ini berfungsi dalam skala kecil, mudah untuk membayangkan betapa pentingnya sensor ini untuk sistem kereta api dalam kehidupan moden!
Disyorkan:
Bermula dengan Sensor Suhu dan Getaran Tanpa Wayar jarak jauh: 7 Langkah
Bermula dengan Sensor Suhu dan Getaran Tanpa Wayar Jarak Jauh: Kadang-kadang getaran adalah penyebab masalah serius dalam banyak aplikasi. Dari poros mesin dan galas hingga prestasi cakera keras, getaran menyebabkan kerosakan mesin, penggantian awal, prestasi rendah, dan menimbulkan kejatuhan besar. Pemantauan
Data Sensor Getaran dan Suhu Tanpa Wayar ke MySQL Menggunakan Node-MERAH: 40 Langkah
Data Sensor Getaran dan Suhu Tanpa Wayar ke MySQL Menggunakan Node-RED: Memperkenalkan sensor getaran dan suhu tanpa wayar Jangka Panjang IoT Industri NCD, dengan jarak penggunaan sehingga 2 mil penggunaan struktur rangkaian jejaring tanpa wayar. Memasukkan getaran dan sensor suhu 16-bit yang tepat, peranti ini dapat
Menghantar Data Sensor Getaran dan Suhu Tanpa Wayar ke Excel Menggunakan Node-MERAH: 25 Langkah
Menghantar Data Sensor Getaran dan Suhu Tanpa Wayar ke Excel Menggunakan Node-RED: Memperkenalkan sensor getaran dan suhu tanpa wayar Industri Jangka Panjang NCD NCD, dengan jarak penggunaan sehingga 2 mil penggunaan struktur rangkaian jaringan tanpa wayar. Memasukkan getaran dan sensor suhu 16-bit yang tepat, peranti ini dapat
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: Sensor DHT11 digunakan untuk mengukur suhu dan kelembapan. Mereka adalah penggemar elektronik yang sangat popular. Sensor kelembapan dan suhu DHT11 menjadikannya sangat mudah untuk menambahkan data kelembapan dan suhu ke projek elektronik DIY anda. Per
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): 6 Langkah (dengan Gambar)
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): hai, saya. Ini adalah bacaan suhu dengan reka bentuk saya sendiri, dengan sensor ini dan