Tentang proyek ini
Halo semuanya! Saya akan menunjukkan cara membuat termometer LCD dengan Arduino UNO dan sensor suhu analog LM35/36 dengan jumper dan papan tempat memotong roti.
Proyek ini sangat bagus untuk orang-orang yang memulai dengan Arduino, tidak memerlukan keahlian teknik atau pemrograman khusus dan Anda akan membutuhkan waktu kurang dari 10 menit untuk membuatnya, setelah Anda memiliki semua bagian tentunya.
Langkah 1:Mengumpulkan Bagian
Ini adalah bagian yang Anda butuhkan untuk membuat termometer:
- 1x Papan Tempat memotong roti
- 1x sensor suhu analog LM35 atau LM36
- Potensiometer 1x 10k - untuk mengatur kecerahan tampilan*
- 19x Jumper - untuk menghubungkan semuanya
Mereka juga ditemukan di Kit Pemula Arduino resmi yang dapat Anda pesan dari halaman web resmi Arduino di sini. Anda juga dapat membelinya secara terpisah dari toko berikut:Adafruit, SparkFun, Aliexpress, Banggood, dll.
*Jika Anda tidak memiliki pot 10k, Anda dapat menggunakan 50k seperti saya!
Langkah 2:Membuat termometer
Dengan mengikuti skema Fritzing di atas, pasang LCD pada breadboard kemudian sambungkan ke board Arduino dengan jumper. Setelah itu pasang potensiometer dan sensor di breadboard, sambungkan pin kiri dan kanan pot ke ground dan +5V dan yang tengah ke layar LCD.
Kemudian hubungkan sensor ke ground dan ke +5V dan ke Arduino tetapi hati-hati, karena jika Anda salah menghubungkannya, sensor akan memanas hingga 280+ C (540 F) dan mungkin rusak. Setelah Anda terhubung, semuanya lanjutkan ke langkah berikutnya.
Langkah 3:Memprogram Arduino
Untuk membuatnya bekerja, Anda harus menggunakan salah satu dari dua kode di bawah ini. Unggah ke Arduino Anda menggunakanlingkungan pengembangan terintegrasi , untuk IDE singkat, yang dapat Anda unduh dari halaman resmi Arduino dan selesai!
Jika Anda tidak melihat apa pun di LCD atau Anda melihat persegi panjang, putar panci searah/berlawanan arah jarum jam sampai Anda melihat hurufnya jelas. Sekarang Anda memiliki termometer dan Anda dapat mengukur suhu udara di sekitar Anda, di dalam atau di luar rumah.
Kode pertama berasal dari Gaige Kerns, dan dapat digunakan untuk membaca dari LM36 atau LM35. Terima kasih Gaige! Lihat juga proyek termometer baru saya di sini!
// sertakan kode perpustakaan #include // inisialisasi perpustakaan dengan nomor antarmuka pinsLiquidCrystal lcd(12, 11, 5, 4, 3, 2);// inisialisasi variabel kitaint sensorPin =0;int tempC, tempF;void setup() {// mengatur jumlah kolom dan baris LCD:lcd.begin(16, 2);}void loop() {tempC =get_temperature(sensorPin);tempF =celsius_to_fahrenheit (tempC);lcd.setCursor(0,0);lcd.print(tempF); lcd.print(""); lcd.print((char)223); lcd.print("F");delay(200);}int get_temperature(int pin) {// Kita perlu memberi tahu fungsi pin mana yang dihubungkan dengan sensor. Kami menggunakan // pin variabel untuk itu di atas // Baca nilai pada pinint itu suhu =analogRead(pin);// Hitung suhu berdasarkan pembacaan dan kirim nilai itu backfloat voltage =temperature * 5.0;voltage =voltage / 1024.0;return ((voltage - 0.5) * 100);}int celsius_to_fahrenheit(int temp) {return (temp * 9 / 5) + 32;}
#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Pin digital yang Anda hubungkan dengan LCDconst int inPin =0; // A0 adalah tempat Anda menghubungkan pengaturan sensorvoid(){ lcd.begin(16,2);}void loop(){ int value =analogRead(inPin); // membaca nilai dari sensor lcd.setCursor(0,1); float milivolt =(nilai / 1024.0) * 5000; float celcius =milivolt / 10; lcd.clear(); lcd.setCursor(0,0); lcd.print(celsius); lcd.print("C"); lcd.setCursor(0,1); lcd.print((celsius * 9)/5 + 32); //mengubah celsius menjadi fahrehait lcd.print("F"); delay(1000);}
FJXZ51IHQAX1RR7.txt
Kode
- Cuplikan kode #1
- Cuplikan kode #2
Cuplikan kode #1Teks biasa
// sertakan kode perpustakaan #include // inisialisasi perpustakaan dengan nomor antarmuka pinsLiquidCrystal lcd(12, 11, 5, 4, 3, 2);// inisialisasi variabel kitaint sensorPin =0; int tempC, tempF;void setup() {// mengatur jumlah kolom dan baris LCD:lcd.begin(16, 2);}void loop() {tempC =get_temperature(sensorPin);tempF =celsius_to_fahrenheit(tempC);lcd.setCursor(0,0);lcd.print(tempF); lcd.print(""); lcd.print((char)223); lcd.print("F");delay(200);}int get_temperature(int pin) {// Kita perlu memberi tahu fungsi pin mana yang dihubungkan dengan sensor. Kami menggunakan // pin variabel untuk itu di atas // Baca nilai pada pinint itu suhu =analogRead(pin);// Hitung suhu berdasarkan pembacaan dan kirim nilai itu backfloat voltage =temperature * 5.0;voltage =voltage / 1024.0;kembali ((tegangan - 0,5) * 100);}int celsius_to_fahrenheit(int temp) {kembali (temp * 9 / 5) + 32;}
Cuplikan kode #2Teks biasa
#include LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //Pin digital yang Anda hubungkan dengan LCDconst int inPin =0; // A0 adalah tempat Anda menghubungkan pengaturan sensorvoid(){ lcd.begin(16,2);}void loop(){ int value =analogRead(inPin); // membaca nilai dari sensor lcd.setCursor(0,1); float milivolt =(nilai / 1024.0) * 5000; float celcius =milivolt / 10; lcd.clear(); lcd.setCursor(0,0); lcd.print(celsius); lcd.print("C"); lcd.setCursor(0,1); lcd.print((celsius * 9)/5 + 32); //mengubah celsius menjadi fahrehait lcd.print("F"); delay(1000);}