Daftar Isi:
- Langkah 1: Bagian dan Bahan
- Langkah 2: Pengkabelan Sensor Suhu
- Langkah 3: Output Sensor Suhu
- Langkah 4: Input Sensor Air Hujan
- Langkah 5: Output Sensor Air Hujan
- Langkah 6: Masukan Sensor Getaran
- Langkah 7: Output Sensor Getaran
- Langkah 8: Kesimpulan
Video: Menggunakan Sensor Suhu, Air Hujan, dan Getaran pada Arduino untuk Melindungi Perkeretaapian: 8 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Dalam masyarakat modern, peningkatan penumpang kereta api berarti bahwa perusahaan kereta api harus berbuat lebih banyak untuk mengoptimalkan jaringan untuk memenuhi permintaan. Dalam proyek ini kami akan menunjukkan dalam skala kecil bagaimana sensor suhu, air hujan, dan getaran pada papan arduino berpotensi membantu meningkatkan keselamatan penumpang.
Instruksi ini akan menunjukkan langkah demi langkah pengkabelan untuk sensor suhu, air hujan, dan getaran pada arduino serta menunjukkan kode MATLAB yang diperlukan untuk menjalankan sensor ini.
Langkah 1: Bagian dan Bahan
1. Komputer dengan MATLAB versi terbaru terinstal
2. Papan 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 Kabel Pria-Pria
12. 3 Kabel Wanita-Pria
13. 2 Kabel Wanita-Wanita
14. 6 330 ohm resistor
15. Resistor 1 100 ohm
Langkah 2: Pengkabelan Sensor Suhu
Di atas adalah kabel dan kode MATLAB untuk input sensor suhu juga.
Kabel dari ground dan 5V hanya perlu dialirkan ke negatif dan positif masing-masing satu kali untuk seluruh papan. Mulai sekarang, koneksi ground apa pun akan berasal dari kolom negatif dan koneksi 5V apa pun akan berasal dari kolom positif.
Kode di bawah ini dapat disalin dan ditempel untuk sensor suhu.
%% TEMPERATURE SENSOR % Untuk sensor suhu kami menggunakan sumber berikut bersama dengan
% materi situs web EF230 untuk memodifikasi sensor suhu kami untuk memungkinkan pengguna
% input dan 3 output lampu LED dengan grafik.
%Sketsa ini ditulis oleh SparkFun Electronics, % dengan banyak bantuan dari komunitas Arduino.
% Diadaptasi ke MATLAB oleh Eric Davishahl.
%Kunjungi https://learn.sparkfun.com/products/2 untuk informasi SIK.
hapus semua, clc
tempPin = 'A0'; % Menyatakan pin analog terhubung ke sensor suhu
a=arduino('/dev/tty.usbserial-DA017PNO', 'uno');
% Tentukan fungsi anonim yang mengubah tegangan menjadi suhu
tempCfromVolts = @(volt) (volt-0,5)*100;
samplingDurasi = 30;
samplingInterval = 2; % Detik antara pembacaan suhu
%set up vektor waktu pengambilan sampel
samplingTimes = 0:samplingInterval:samplingDuration;
%menghitung jumlah sampel berdasarkan durasi dan interval
numSamples = panjang(samplingTimes);
% mengalokasi variabel temp dan variabel untuk jumlah pembacaan yang akan disimpannya
tempC = nol(jumlahSampel, 1);
suhuF = suhuC;
% menggunakan kotak dialog input untuk menyimpan suhu rel maks dan min
dlg_prompts = {'Masukkan Suhu Maks', 'Masukkan Suhu Minimum'};
dlg_title = 'Interval Suhu Rel';
T=22;
dlg_ans = inputdlg(dlg_prompts, dlg_title, [1, length(dlg_title)+N]);
% Menyimpan input dari pengguna dan menampilkan bahwa input telah direkam
max_temp = str2double(dlg_ans{1})
min_temp = str2double(dlg_ans{2})
txt = sprintf('Masukan Anda telah direkam');
h=kotak pesan(txt);
tunggu(h);
% Untuk loop membaca suhu beberapa kali.
untuk indeks = 1:numSamples
% Baca tegangan pada tempPin dan simpan sebagai volt variabel
volt = readVoltage(a, tempPin);
tempC(indeks) = tempCfromVolts(volt);
tempF(indeks) = tempC(indeks)*9/5+32; % Mengkonversi dari Celcius ke Fahrenheit
% Jika pernyataan untuk membuat lampu LED tertentu berkedip tergantung pada kondisi yang terpenuhi
jika tempF(indeks) >= max_temp % LED Merah
writeDigitalPin(a, 'D13', 0);
jeda(0.5);
writeDigitalPin(a, 'D13', 1);
jeda(0.5);
writeDigitalPin(a, 'D13', 0);
elseif tempF(index) >= min_temp && tempF(index) < max_temp % LED Hijau
writeDigitalPin(a, 'D11', 0);
jeda(0.5);
writeDigitalPin(a, 'D11', 1);
jeda(0.5);
writeDigitalPin(a, 'D11', 0);
elseif tempF(indeks) <= min_temp % LED Biru
writeDigitalPin(a, 'D12', 0);
jeda(0.5);
writeDigitalPin(a, 'D12', 1);
jeda(0.5);
writeDigitalPin(a, 'D12', 0);
akhir
% Tampilkan suhu saat diukur
fprintf('Suhu pada %d detik adalah %5.2f C atau %5.2f F.\n', …
samplingTimes(indeks), tempC(indeks), tempF(indeks));
jeda(samplingInterval) %delay hingga sampel berikutnya
akhir
% Merencanakan pembacaan suhu
Gambar 1)
plot(Waktu pengambilan sampel, tempF, 'r-*')
xlabel('Waktu (Detik)')
ylabel('Suhu (F)')
title('Bacaan Suhu dari RedBoard')
Langkah 3: Output Sensor Suhu
Di atas adalah kabel dan kode MATLAB untuk output sensor suhu.
Untuk proyek ini kami menggunakan tiga lampu LED untuk output dari sensor suhu kami. Kami menggunakan warna merah jika trek terlalu panas, biru jika terlalu dingin, dan hijau jika ada di antaranya.
Langkah 4: Input Sensor Air Hujan
Di atas adalah kabel untuk sensor air hujan dan kode MATLAB diposting di bawah ini.
%% Sensor air
hapus semua, clc
a=arduino('/dev/tty.usbserial-DA017PNO', 'uno');
pin air = 'A1';
vKering = 4,80; % Tegangan saat tidak ada air
samplingDurasi = 60;
samplingInterval = 2;
samplingTimes = 0:samplingInterval:samplingDuration;
numSamples = panjang(Waktu pengambilan sampel);
% Untuk loop membaca voltase selama waktu tertentu (60 detik)
untuk indeks = 1:numSamples
volt2 = readVoltage(a, waterPin); % Baca tegangan dari analog pin air
% Jika pernyataan membunyikan bel jika air terdeteksi. Penurunan tegangan = air
jika volt2 < vKering
playTone(a, 'D09', 2400) % fungsi playTone dari MathWorks
% Menampilkan peringatan kepada penumpang jika air terdeteksi
waitfor(warndlg('Kereta Anda mungkin tertunda karena bahaya air'));
akhir
% Tampilkan voltase seperti yang diukur oleh sensor air
fprintf('Tegangan pada %d detik adalah %5.4f V.\n', …
samplingTimes(indeks), volt2);
jeda (interval pengambilan sampel)
akhir
Langkah 5: Output Sensor Air Hujan
Di atas adalah kabel untuk bel yang berbunyi bip setiap kali terlalu banyak air jatuh di trek. Kode untuk buzzer disematkan di dalam kode untuk input air hujan.
Langkah 6: Masukan Sensor Getaran
Di atas adalah kabel untuk sensor getaran. Sensor getaran dapat menjadi penting untuk sistem perkeretaapian dalam kasus batu jatuh di trek. Kode MATLAB diposting di bawah ini.
%% Sensor GetaranHapus semua, clc
PIEZO_PIN = 'A3'; % Mendeklarasikan pin analog terhubung ke sensor getaran a=arduino('/dev/tty.usbserial-DA017PNO', 'uno'); % Menginisialisasi waktu dan interval untuk mengukur sampling getaranDurasi = 30; % detik samplingInterval = 1;
samplingTimes = 0:samplingInterval:samplingDuration;
numSamples = panjang(samplingTimes);
% Menggunakan kode dari sumber berikut, kami memodifikasinya untuk mengaktifkan a
% LED ungu jika getaran terdeteksi.
% SparkFun Tinker Kit, LED RGB, ditulis oleh SparkFun Electronics, % dengan banyak bantuan dari komunitas Arduino
% Diadaptasi ke MATLAB oleh Eric Davishahl
% Menginisialisasi pin RGB
PIN_MERAH = 'D5';
PIN_HIJAU = 'D6';
PIN_BIRU = 'D7';
% Untuk loop untuk merekam perubahan tegangan dari sensor getaran di atas a
% interval waktu tertentu (30 detik)
untuk indeks = 1:numSamples
volt3 = readVoltage(a, PIEZO_PIN);
% Jika pernyataan untuk menyalakan LED ungu jika getaran terdeteksi
jika volt3> 0,025
writeDigitalPin(a, RED_PIN, 1);
% Membuat cahaya ungu
writeDigitalPin(a, PIN_HIJAU, 0);
writeDigitalPin(a, BLUE_PIN, 1);
lain % Matikan LED jika tidak ada getaran yang terdeteksi.
writeDigitalPin(a, RED_PIN, 0);
writeDigitalPin(a, GREEN_PIN, 0);
writeDigitalPin(a, PIN_BIRU, 0);
akhir
% Menampilkan tegangan seperti yang diukur.
fprintf('Tegangan pada %d detik adalah %5.4f V.\n', …
samplingTimes(indeks), volt3);
jeda (interval pengambilan sampel)
akhir
% Matikan lampu saat pengukuran getaran selesai
writeDigitalPin(a, RED_PIN, 0);
writeDigitalPin(a, PIN_HIJAU, 0);
writeDigitalPin(a, BLUE_PIN, 0);
Langkah 7: Output Sensor Getaran
Di atas adalah kabel untuk lampu LED RBG yang digunakan. Cahaya akan bersinar ungu ketika getaran terdeteksi. Kode MATLAB untuk output disematkan di dalam kode untuk input.
Langkah 8: Kesimpulan
Setelah mengikuti semua langkah ini, Anda sekarang seharusnya memiliki arduino dengan kemampuan untuk mendeteksi suhu, air hujan, dan getaran. Saat melihat bagaimana sensor ini bekerja dalam skala kecil, mudah untuk membayangkan betapa pentingnya mereka untuk sistem perkeretaapian dalam kehidupan modern!
Direkomendasikan:
Detektor Hujan Menggunakan Arduino dan Sensor Rintik Hujan: 8 Langkah
Detektor Hujan Menggunakan Arduino dan Sensor Rintik Hujan : Dalam tutorial ini kita akan belajar cara mendeteksi hujan menggunakan sensor hujan dan mengeluarkan suara menggunakan modul buzzer dan OLED Display dan Visuino. Tonton videonya
Data Sensor Getaran dan Suhu Nirkabel ke MySQL Menggunakan Node-RED: 40 Langkah
Data Sensor Getaran dan Suhu Nirkabel ke MySQL Menggunakan Node-RED: Memperkenalkan sensor getaran dan suhu nirkabel NCD Long Range IoT Industrial, yang membanggakan penggunaan struktur jaringan mesh nirkabel hingga jarak 2 mil. Menggabungkan sensor getaran dan suhu 16-bit yang presisi, perangkat ini
Mengirim Data Sensor Getaran dan Suhu Nirkabel ke Excel Menggunakan Node-RED: 25 Langkah
Mengirimkan Data Sensor Getaran dan Suhu Nirkabel ke Excel Menggunakan Node-RED: Memperkenalkan sensor getaran dan suhu nirkabel NCD Long Range IoT Industrial, yang membanggakan penggunaan struktur jaringan mesh nirkabel hingga jarak 2 mil. Menggabungkan sensor getaran dan suhu 16-bit yang presisi, perangkat ini
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: Sensor DHT11 digunakan untuk mengukur suhu dan kelembaban. Mereka adalah penggemar elektronik yang sangat populer. Sensor kelembaban dan suhu DHT11 membuatnya sangat mudah untuk menambahkan data kelembaban dan suhu ke proyek elektronik DIY Anda. Ini 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 Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini dan