Daftar Isi:

Detektor Suhu & Penghitung Penumpang Kereta Api Gurun: 5 Langkah
Detektor Suhu & Penghitung Penumpang Kereta Api Gurun: 5 Langkah

Video: Detektor Suhu & Penghitung Penumpang Kereta Api Gurun: 5 Langkah

Video: Detektor Suhu & Penghitung Penumpang Kereta Api Gurun: 5 Langkah
Video: KERETA INI BERJALAN TANPA HENTI SELAMA 17 TAHUN | ALUR CERITA FILM SNOWPIERCER (2013) 2024, Juli
Anonim
Detektor Suhu & Penghitung Penumpang Kereta Api Gurun
Detektor Suhu & Penghitung Penumpang Kereta Api Gurun

Tujuan:

Suhu: Instruksi ini akan mengajarkan Anda cara mengatur dan memprogram Arduino RedBoard (menggunakan MATLAB) untuk mendeteksi suhu rel kereta api. Ketika suhu yang tidak aman bagi penumpang tercapai, pesan peringatan berbunyi, bel berbunyi, dan tanda peringatan menyala.

Konter Penumpang: Bagian ini akan mengajari Anda cara menggunakan tombol untuk menghitung penumpang dan membunyikan peringatan ketika kapasitas maksimal telah tercapai.

Fitur:

  • Menggunakan Tombol untuk menghitung penumpang yang masuk kereta
  • Menggunakan TMP36 (sensor suhu) untuk mendeteksi suhu rel kereta api
  • Menggunakan lampu LED Merah untuk memperingatkan stasiun kereta
  • Menggunakan bel untuk membunyikan alarm
  • Mengirim email peringatan dengan plot suhu vs waktu
  • Pesan peringatan pop-up di MATLAB

Langkah 1: Bahan dan Perlengkapan

Bahan dan Perlengkapan
Bahan dan Perlengkapan
  • 1 Laptop
  • MATLAB 2017
  • Unduh Kotak Alat Arduino
  • Papan Merah Sparkfun
  • 1 Kabel Listrik
  • Breadbord
  • 14 kabel
  • 1 Piezo Buzzer
  • 1 Tombol Tekan
  • 2 resistor 10k ohm
  • 1 sensor TMP36
  • Lampu LED merah
  • Tanda cetak 3D (opsional)

Langkah 2: Pengaturan Papan

Pengaturan Papan
Pengaturan Papan

Ikuti pengaturan di atas

Langkah 3: Menulis Kode

While Loop: Untuk memastikan kode terus menguji suhu dan merasakan status tombol (ditekan atau tidak ditekan), kami menempatkan kode di loop while untuk jangka waktu tertentu.

Menggunakan TMP36: Kami menentukan suhu dengan membaca tegangan dan mengubahnya ke derajat Fahrenheit, menggunakan faktor konversi. Kemudian, kami menggunakan pernyataan if untuk memainkan nada dan membunyikan/mengirim peringatan jika suhu lebih besar dari atau sama dengan suhu maksimum yang disetel

Menggunakan Tombol: Dengan pernyataan if, kita dapat menguji apakah tombol ditekan menggunakan readDigitalPin. Perintah ini akan mengembalikan Boolean (1 atau 0). Jika responnya 0, maka tombol ditekan dan penghitung penumpang bertambah dan menampilkan pesan selamat datang. Kemudian, ketika kapasitas maksimal tercapai, pesan peringatan berbunyi.

Langkah 4: Salin Kode

%Input: Menekan tombol, sensor suhu

%Output: lampu, bel, peringatan audio, email, grafik

%Tujuan: Produk ini dirancang untuk membantu memastikan keamanan dan kenyamanan %penumpang yang bepergian dengan kereta api melalui padang pasir.

%Penggunaan: Mendeteksi jumlah penumpang menggunakan tombol tekan, dan %mendeteksi panas menggunakan sensor suhu dan membuat grafiknya serta mengirimkan %nomor penumpang dan grafik suhu ke stasiun kereta

configurePin(a, 'D2', 'pullup'); % di rilis mendatang gunakan configurePin

waktu = 200;

e=0;

x=0

sedangkan waktu > 0

button_status = readDigitalPin(a, 'D2'); % sama dengan nol saat tombol ditekan, jika tidak sama dengan 1

voltage = readVoltage(a, 'A0');%pin tergantung di mana kita meletakkannya

tempCelcius = (tegangan*100)-50; % diberikan dalam manual sensor

tempF(time) = (tempCelcius*1.8)+32 % rumus konversi yang diketahui

maks = 120; % derajat F

writeDigitalPin(a, 'D11', 1);

rem=mod(e, 2);

jika tempF(waktu)>=max

writeDigitalPin(a, 'D11', 0);

writeDigitalPin(a, 'D9', 1);

playTone(a, 'D9', 2400,.5)

jeda(.5)

writeDigitalPin(a, 'D6', 1)

playTone(a, 'D6', 1000,.5)

jeda(.5)

writeDigitalPin(a, 'D9', 1);

playTone(a, 'D9', 2400,.5)

jeda(.5)

writeDigitalPin(a, 'D6', 1)

playTone(a, 'D6', 1000,.5) %memainkan "sirene"

z='Terlalu panas.m4a'; %Ini menempatkan file suara ke dalam variabel

[data, frekuensi]=audioread(z); %Memuat data dari file suara

o=pemutar audio(data, frekuensi); %Membuat objek untuk mengontrol pemutaran file audio

o.play() %Memutar file audio

o.playblocking() %Memutar file dan menunggu sampai selesai

akhir

if button_status == 0 && rem==0

e=e+1

msgbox('Selamat Datang!');

elseif button_status == 0 && rem==1

e=e+1

msgbox('Bienvenido a bordo!');

akhir

jika e==5

writeDigitalPin(a, 'D11', 0);

jika x==0

playTone(a, 'D6', 600, 1);

s='Warning_EF.m4a'; %Ini menempatkan file suara ke dalam variabel

[data, frekuensi]=pembacaan audio; %Memuat data dari file suara

o=pemutar audio(data, frekuensi); %Membuat objek untuk mengontrol pemutaran file audio

% o.play() %Memutar file audio

o.playblocking() %Memutar file dan menunggu sampai selesai

msgbox('Kapasitas Maks')

x=x+1

akhir

jika e>=6

playTone(a, 'D6', 2400, 0);

akhir

waktu = waktu - 1;

% jeda(0.1);

% jika e==5 && maks(tempF)>=120

% waktu = 0

% akhir

akhir

ee=bil2str(e)

t=[1:200];

suhuF2=fliplr(tempF);

plot(t, tempF2);

title('Waktu vs. Suhu')

ylabel('Suhu (F)')

xlabel('Waktu')

saveas(gcf, 'tempplot.jpg')

mail= '[email protected]'

kata sandi='Srsora123#'

host='smtp.gmail.com'

setpref('Internet', 'SMTP_Server', host);

setpref('Internet', 'E_mail', surat);

setpref('Internet', 'SMTP_Username', email);

setpref('Internet', 'SMTP_Password', kata sandi);

props = java.lang. System.getProperties;

props.setProperty('mail.smtp.auth', 'benar');

props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

props.setProperty('mail.smtp.socketFactory.port', '465');

sendmail(mail, 'Halo Stasiun Kereta! Ada banyak penumpang di dalam kereta', ee, 'tempplot.jpg')

Langkah 5: Hasil

Direkomendasikan: