Dalam tutorial ini kita akan merancang Sistem Pengukuran Tekanan Barometrik menggunakan BMP180 dan ARDUINO. Pertama-tama untuk menghubungkan BMP180 ke ARDUINO, kita perlu mengunduh perpustakaan yang dirancang khusus untuk BMP180. Library ini tersedia di: https://github.com/adafruit/Adafruit-BMP085-Library Setelah melampirkan library tersebut, kita dapat memanggil fungsi khusus yang akan memudahkan kerja dengan sensor BMP180.
Komponen Diperlukan
Perangkat keras: Arduino uno board, pin penghubung, resistor 220Ω, Sensor Tekanan Barometrik BMP180, LCD 16x2, papan roti.
Perangkat lunak: Arduino setiap malam
Diagram Sirkuit & Penjelasan Kerja
Setelah memanggil header kita tidak perlu khawatir untuk menjalin komunikasi antara Arduino Uno dengan sensor BMP180. Kita cukup memanggil fungsi khusus yang akan melakukannya untuk kita. Kita hanya perlu menginisialisasi LCD dan menunjukkan nilai yang dipanggil dari SENSOR di atasnya.
Pada LCD 16x2 terdapat 16 pin seluruhnya jika ada lampu belakang, jika tidak ada lampu belakang akan ada total 14 pin. Satu dapat memberi daya atau meninggalkan pin lampu belakang. Sekarang di 14 pin ada 8 data pin (7-14 atau D0-D7), 2 pin power supply (1 & 2 atau VSS & Vdd atau GND & + 5V), 3 rd pin untuk kontrol kontras (VEE-kontrol seberapa tebal karakter harus ditampilkan) dan 3 pin kontrol (RS & RW & E).
Di sirkuit, Anda dapat mengamati bahwa saya hanya mengambil dua pin kontrol, bit kontras dan READ / WRITE tidak sering digunakan sehingga dapat disingkat ke ground. Ini menempatkan LCD dalam kontras tertinggi dan mode baca. Kita hanya perlu mengontrol pin ENABLE dan RS untuk mengirim karakter dan data yang sesuai.
Koneksi yang dilakukan untuk LCD diberikan di bawah ini:
PIN1 atau VSS ke ground
PIN2 atau VDD atau VCC ke daya + 5v
PIN3 atau VEE ke ground (memberikan kontras maksimum yang terbaik untuk pemula)
PIN4 atau RS (Daftar Pilihan) ke PIN8 dari ARDUINO UNO
PIN5 atau RW (Baca / Tulis) ke ground (menempatkan LCD dalam mode baca memudahkan komunikasi untuk pengguna)
PIN6 atau E (Aktifkan) toPIN9 dari ARDUINO UNO
PIN11 atau D4 ke PIN10 dari ARDUINO UNO
PIN12 atau D5 ke PIN11 dari ARDUINO UNO
PIN13 atau D6 ke PIN12 dari ARDUINO UNO
PIN14 atau D7 ke PIN13 dari ARDUINO UNO
ARDUINO IDE memungkinkan pengguna untuk menggunakan LCD dalam mode 4 bit. Jenis komunikasi ini memungkinkan pengguna untuk mengurangi penggunaan pin pada ARDUINO, tidak seperti yang lain ARDUINO tidak perlu diprogram secara terpisah untuk menggunakannya dalam mode 4 it karena secara default ARDUINO diatur untuk berkomunikasi dalam mode 4 bit. Di sirkuit Anda dapat melihat kami telah menggunakan komunikasi 4bit (D4-D7).
Jadi dari pengamatan dari tabel diatas kita menghubungkan 6 pin LCD ke controller dimana 4 pin adalah pin data dan 2 pin untuk kontrol.
Untuk menghubungkan BMP180 ke Arduino Uno kita perlu melakukan hal berikut:
|
Pertama kita perlu memanggil file header untuk mengaktifkan fungsi khusus "#include".
Dengan file header ini kita dapat memanggil fungsi yang dapat membaca nilai dari Sensor secara langsung tanpa fuzz.
Sekarang kita perlu mengaktifkan komunikasi C, ini dilakukan dengan memanggil “#include
Kita bisa membaca tekanan dengan memanggil ”String PRESSUREVALUE = String (bmp.readPressure ());”. Disini nilai tekanan akan dibaca dari sensor dan disimpan dalam string “PRESSUREVALUE”.
Kita bisa membaca temparature dengan memanggil ”String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Disini nilai tekanan akan dibaca dari sensor dan disimpan dalam string “TEMPARATUREVALUE”.
Pertama kita perlu mengaktifkan file header ('#include
Kedua, kita perlu memberi tahu papan jenis LCD apa yang kita gunakan di sini. Karena kami memiliki begitu banyak jenis LCD (seperti 20 * 4, 16 * 2, 16 * 1 dll.). Di sini kita akan menghubungkan LCD 16 * 2 ke UNO sehingga kita mendapatkan 'lcd.begin (16,2);'. Untuk 16 * 1 kita mendapatkan 'lcd.begin (16,1);'.
Dalam instruksi ini kita akan memberi tahu papan di mana kita menghubungkan pin, Pin yang terhubung harus direpresentasikan dalam urutan sebagai "RS, En, D4, D5, D6, D7". Pin ini harus direpresentasikan dengan benar. Karena kami menghubungkan RS ke PIN0 dan seterusnya seperti yang ditunjukkan pada diagram sirkuit, Kami merepresentasikan nomor pin ke board sebagai "LiquidCrystallcd (0,1,8,9,10,11);".
Setelah di atas semua yang tersisa adalah mengirim data, data yang perlu ditampilkan di LCD harus ditulis “cd.print (" hello, world! ");”. Dengan perintah ini LCD menampilkan 'halo, dunia!'.
Seperti yang Anda lihat, kami tidak perlu khawatir tentang hal ini lagi, kami hanya perlu menginisialisasi dan UNO akan siap untuk menampilkan data. Kami tidak perlu menulis loop program untuk mengirim data BYTE oleh BYTE di sini. Setelah membaca nilai dari sensor kita akan menampilkannya pada LCD 16x2.