Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Sebagai bagian dari demonstrasi kemampuan tim kami untuk membuat model perangkat kereta pintar untuk tujuan pemasaran, tujuannya adalah untuk membuat sistem di mana sensor suhu membaca data dari sirkuit dan mengubah informasi menjadi nilai suhu yang ditampilkan pada layar yang menyala dan terfokus pada apakah kipas menyala atau mati. Tujuannya adalah untuk membantu mengakomodasi kondisi berkendara penumpang menggunakan sistem otomatis yang juga berfungsi untuk menampilkan suhu di sekitarnya.
Dengan menggunakan kit mikrokontroler Arduino dan MATLAB versi 2016b dan 2017b, kami dapat menunjukkan hasil ini dengan relatif berhasil.
Langkah 1: Peralatan
Kit Mikrokontroler dengan sebagai berikut:
-Papan Merah Sparkfun
-Sparkfun Breadboard
-Papan LCD
-potensiometer
-Sensor temperatur
-Servo
-Adaptor USB/Arduino
-Kabel Jumper (minimal 25)
Laptop (Windows 10) dengan input USB
Objek Cetak 3D (opsional)
Langkah 2: Pengaturan Mikrokontroler
Pertimbangkan ini: seluruh sistem terdiri dari unit tunggal yang masing-masing menerapkan faktor signifikan terhadap hasil akhir. Untuk alasan ini, sangat disarankan untuk mengatur gambar sirkuit sebelum memasang kabel dalam kekacauan yang berbelit-belit.
Gambar masing-masing model dapat ditemukan di manual kit alat Mikrokontroler atau di situs webnya di
Mulailah dengan memasang sensor suhu, potensiometer, konektor servo, dan LCD ke papan. Direkomendasikan bahwa karena ukuran LCD dan persyaratan untuk jumlah kabel untuk itu, itu harus ditempatkan di setengah sendiri dari papan tempat memotong roti dengan potongan lainnya di setengah lainnya dan untuk potensiometer berada di area untuk seseorang untuk dengan mudah memutar kenopnya.
Sebagai referensi:
LCD: c1-16
Servo: i1-3 (GND + -)
Sensor Suhu: i13-15 (- GND +)
Potensiometer: g24-26 (- GND +)
Selanjutnya, mulailah menghubungkan kabel jumper ke setiap pin unit mikrokontroler; meskipun sewenang-wenang dalam keseluruhan skema besar, desain dibuat dengan koneksi penting ini:
Menghubungkan Potensiometer ke LCD: f25 -- e3
Kabel servo GND: j1 -- Input Digital 9
Sensor Suhu GND: j14 -- Input Analog 0
Input LCD: e11-e15 -- Input Digital 2-5
e4 -- Masukan Digital 7
e6 -- Masukan Digital 6
(Catatan: Jika berhasil, kedua lampu di tepi LCD akan menyala dan potensiometer dapat membantu menyesuaikan kecerahannya setelah diberi daya dari adaptor.)
Opsional: Objek cetak 3D digunakan sebagai bagian dari persyaratan. Untuk menghindari potensi kerusakan pada bagian yang lebih rapuh, casing yang diperpanjang ditempatkan sebagai pelindung di sekitar LCD. Pengukuran layar LCD terbukti sekitar 2-13/16" x 1-1/16" x 1/4", dan dengan demikian hanya tingginya yang berubah secara signifikan. Jika printer 3D sudah tersedia, pertimbangkan untuk menambahkan objek pribadi, meskipun tidak perlu. Perlu diketahui juga bahwa pengukuran mungkin berbeda.
Langkah 3: Pengaturan MATLAB
Instal versi MATLAB yang lebih baru (2016a dan seterusnya), tersedia di situs web MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Setelah dibuka, buka Add-Ons pada tab Beranda dan unduh "Paket Dukungan MATLAB untuk Perangkat Keras Arduino" agar perintah mikrokontroler dapat diakses.
Setelah selesai, tes dapat dilakukan untuk menemukan konektivitas mikrokontroler ke komputer/laptop seseorang. Setelah menghubungkannya dengan adaptor USB dari tool kit, masukkan perintah "fopen(serial('nada'))."
Pesan kesalahan akan muncul yang menyatakan konektor sebagai "COM#", yang akan diperlukan untuk membuat objek arduino selama itu adalah input yang sama setiap saat.
Karena LCD tidak memiliki koneksi langsung ke perpustakaan Arduino, perpustakaan baru harus dibuat untuk menampilkan pesan. Rekomendasi adalah membuat file LCDAddon.m dari contoh LCD yang ditemukan di jendela bantuan MATLAB setelah mencari "Arduino LCD" dan menempatkannya di folder +arduinoioaddons, atau gunakan folder terkompresi yang dilampirkan dan salin semua kontennya ke dalam folder yang disebutkan di atas map.
Jika berhasil, maka kode untuk membuat objek Arduino di MATLAB adalah seperti gambar di bawah ini.
a=arduino('com#', 'uno', 'Perpustakaan', 'ContohLCD/LCDAddon');
Langkah 4: Fungsi
Buat fungsi MATLAB. Untuk input, kami menggunakan variabel "eff" dan "T_min"; untuk keluaran, meskipun tidak diperlukan dalam desain keseluruhan, kami menggunakan variabel "B" sebagai cara untuk memuat data dari hasil. Input "eff" memungkinkan untuk mengatur kecepatan maksimum servo, dan input "T_min" mengontrol suhu minimum yang diinginkan. Nilai "B" seharusnya menghasilkan matriks yang berisi tiga kolom untuk waktu, suhu, dan efisiensi kipas. Selain itu, sebagai bonus untuk detail, kode yang tercantum di bawah ini juga memiliki pernyataan if sehingga kecepatan kipas akan berkurang lima puluh persen saat mendekati suhu minimum yang diinginkan.
Jika semua kabel input dan jumper ditempatkan dengan tepat dan dengan asumsi port koneksi arduino adalah COM4 dan nama fungsinya adalah "fanread", kode berikut sudah cukup:
fungsi [B] = fanread(Tmin, eff)
jelas a; clear lcd;a=arduino('com4', 'uno', 'Libraries', 'ContohLCD/LCDAddon');
t=0; t_maks=15; % waktu dalam detik
lcd=addon(a, 'ContohLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD(lcd, 'Baris', 2, 'Kolom', 2);
jika eff>=1 || e<0
error('Kipas tidak akan aktif kecuali eff disetel antara 0 dan 1.')
akhir
untuk t=1:10 % jumlah loop/interval
jelas c; % mencegah kesalahan berulang
v=readVoltage(a, 'A0');
TempC=(v-0.5)*100; % estimasi untuk rentang tegangan 2,7-5,5 V
jika TempC>Tmin jika TempC
c=['Suhu ', num2str(Suhu, 3), 'C Aktif'];
writePWMDutyCycle(a, 'D9', eff/2); % nyalakan servo dengan setengah kecepatan
spd=50;
lain
c=['Temp ', num2str(TempC, 3), 'C Aktif'];
writePWMDutyCycle(a, 'D9', eff); % nyalakan servo dengan kecepatan yang diberikan
spd=100;
akhir
lain
c=['Suhu ', num2str(Suhu, 3), 'C Mati'];
writePWMDutyCycle(a, 'D9', 0); % matikan jika sudah aktif
spd=0;
akhir
printLCD(lcd, c);
jeda (3); % tiga detik berlalu per putaran
waktu(t)=t.*3;
tempplot(t)=TempC;
tindakan(t)=spd;
subplot(2, 1, 1)
plot(waktu, tempplot, 'b-o') % grafik garis
sumbu([0 33 0 40])
xlabel('Waktu (detik)')
ylabel('Suhu (C)')
tunggu
plot([0 33], [Tmin Tmin], 'r-')
tunggu
plot([0 33], [Tmin+2 Tmin+2], 'g-')
subplot(2, 1, 2)
batang(waktu, tindakan) % grafik batang
xlabel('Waktu (detik)')
ylabel('Efisiensi (%)')
akhir
B=transpose([waktu;tempplot;bertindak]);
akhir
Sekarang fungsinya sudah selesai, sekarang saatnya untuk menguji.
Langkah 5: Pengujian
Sekarang uji fungsi di jendela perintah dengan memasukkan "function_name(input_value_1, input_value_2)" dan tonton. Pastikan tidak ada objek Arduino yang sudah ada; jika demikian, gunakan perintah "clear a" untuk menghapusnya. Jika terjadi kesalahan, periksa dan lihat apakah ada konektor di tempat yang salah atau jika input digital atau analog yang digunakan salah. Hasil diperkirakan akan bervariasi, meskipun hal ini mungkin disebabkan oleh penempatan kabel jumper tertentu dan sensor suhu.
Harapan dari hasil harus menghasilkan perubahan kinerja servo dan data pada LCD. Dengan setiap interval tiga detik, sebaris teks akan menampilkan suhu dalam Celcius dan apakah kipas aktif atau tidak saat kipas berjalan dengan kecepatan penuh, setengah kecepatan atau tidak. Data kemungkinan besar tidak konsisten, meskipun jika menginginkan hasil yang lebih beragam, tempatkan nilai "Tmin" dekat dengan suhu rata-rata yang dihasilkan oleh rangkaian.
Langkah 6: Kesimpulan
Meskipun tugas yang sulit untuk diselesaikan dengan coba-coba, hasil akhirnya terbukti cukup menarik dan memuaskan. Sistem seperti itu membantu untuk menggambarkan berapa banyak mesin yang rumit, atau bahkan beberapa bagiannya, dapat dilihat sebagai kumpulan bagian-bagian independen yang ditempatkan bersama untuk mencapai tujuan tertentu.
Karena desain tugas akhir yang agak sederhana, mereka yang tertarik untuk meningkatkan kinerjanya dapat melakukan tweak dan perubahan pada produk akhir yang dapat membuat proyek lebih baik dan lebih rumit. Namun, itu mengungkapkan kelemahan dalam rangkaian seperti aktivasi servo yang mengakibatkan fluktuasi sporadis dalam pembacaan tegangan rangkaian, yang dapat menyebabkan sistem tidak pernah menghasilkan hasil yang identik. Juga, ada masalah dengan melihat perubahan kecepatan servo ketika "eff" disetel 0,4 dan lebih tinggi. Seandainya sensor suhu dan kelembaban digunakan, model akhir akan lebih rumit namun menyajikan nilai yang lebih konsisten. Namun demikian, ini adalah pengalaman yang menunjukkan bahwa mesin yang kompleks dapat berfungsi sebagai kombinasi dari bagian-bagiannya yang sederhana.
Direkomendasikan:
Lift Model yang Dikendalikan Arduino: 7 Langkah (dengan Gambar)
Lift Model yang Dikontrol Arduino: Dalam Instruksi ini saya akan menunjukkan kepada Anda bagaimana saya membangun lift mainan dua tingkat, dengan pintu geser yang berfungsi dan mobil yang bergerak naik turun sesuai permintaan. Jantung lift adalah Arduino Uno (atau dalam hal ini Metro Adafruit), dengan Moto Adafruit
Tata Letak Kereta Api Model Otomatis Menjalankan Dua Kereta (V2.0) - Berbasis Arduino: 15 Langkah (dengan Gambar)
Tata Letak Kereta Api Model Otomatis Menjalankan Dua Kereta (V2.0) | Berbasis Arduino: Mengotomatiskan tata letak kereta api model menggunakan mikrokontroler Arduino adalah cara yang bagus untuk menggabungkan mikrokontroler, pemrograman, dan model kereta api menjadi satu hobi. Ada banyak proyek yang tersedia untuk menjalankan kereta secara mandiri pada model perkeretaapian
Tata Letak Kereta Api Model Otomatis Sederhana - Arduino Dikendalikan: 11 Langkah (dengan Gambar)
Tata Letak Kereta Api Model Otomatis Sederhana | Dikendalikan Arduino: Mikrokontroler Arduino adalah tambahan yang bagus untuk model perkeretaapian, terutama ketika berhadapan dengan otomatisasi. Berikut adalah cara sederhana dan mudah untuk memulai otomatisasi model kereta api dengan Arduino. Jadi, tanpa basa-basi lagi, mari kita mulai
Kereta Api Model Terkendali Touchpad Laptop - Antarmuka Arduino PS/2: 14 Langkah
Kereta Api Model Terkendali Touchpad Laptop | Antarmuka Arduino PS/2: Touchpad laptop adalah salah satu perangkat hebat untuk digunakan sebagai input untuk proyek mikrokontroler. Jadi hari ini, mari kita implementasikan perangkat ini dengan mikrokontroler Arduino untuk mengontrol model kereta api. Dengan menggunakan touchpad PS/2, kita dapat mengontrol 3
Model Jam Unik Didukung oleh Arduino Servo Motors: 5 Langkah
Model Jam Unik Didukung oleh Arduino Servo Motors: Dengan Instruksi ini saya akan menunjukkan cara membuat Jam menggunakan motor Arduino Nano dan Servo. Untuk melakukan ini, Anda memerlukan item berikut