Daftar Isi:

Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2: 6 Langkah
Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2: 6 Langkah

Video: Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2: 6 Langkah

Video: Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2: 6 Langkah
Video: Altitude Sensor | High Altitude Balloon Project | Raspberry Pi 3 B+ 2024, Juli
Anonim
Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2
Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2
Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2
Ketinggian, Tekanan dan Suhu Menggunakan Raspberry Pi Dengan MPL3115A2

Kedengarannya menarik. Sangat mungkin saat ini ketika kita semua memasuki generasi IoT. Sebagai penggila elektronik, kami telah bermain dengan Raspberry Pi, dan memutuskan untuk membuat proyek menarik menggunakan pengetahuan ini. Dalam proyek ini, kami akan mengukur ketinggian, tekanan udara, suhu menggunakan Raspberry Pi. Jadi inilah dokumentasinya (selalu dimodifikasi, dan diperluas). Sebaiknya mulai dengan mengikuti petunjuk dan salin kodenya. Anda dapat bereksperimen nanti. Jadi mari kita mulai.

Langkah 1: Peralatan Imperatif yang Kami Butuhkan

Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan
Peralatan Imperatif yang Kami Butuhkan

1. Raspberry Pi

Langkah pertama adalah mendapatkan papan Raspberry Pi. Kami membeli milik kami dan Anda juga bisa. Mulai belajar dari tutorial, kami memahami konsep skrip dan koneksi dan belajar sesudahnya. Jenius kecil ini umum untuk penghobi, guru dan dalam menciptakan lingkungan yang inovatif.

2. Perisai I²C untuk Raspberry Pi

INPI2 (adaptor I2C) menyediakan Raspberry Pi 2/3 port I²C untuk digunakan dengan beberapa perangkat I2C. Sudah tersedia di Dcube Store

3. Altimeter, Sensor Tekanan dan Suhu, MPL3115A2

MPL3115A2 adalah sensor tekanan MEMS dengan antarmuka I²C untuk memberikan data Tekanan/Ketinggian dan Suhu. Sensor ini menggunakan protokol I²C untuk berkomunikasi. Kami membeli sensor ini dari Dcube Store

4. Menghubungkan Kabel

Kami memiliki kabel penghubung I2C yang tersedia di Dcube Store

5. Kabel USB mikro

Kabel USB mikro Catu daya adalah pilihan ideal untuk memberi daya pada Raspberry Pi.

6. Peningkatan Akses Internet - Kabel Ethernet/Adaptor WiFi

Di era ini, mendapatkan akses ke apa pun membutuhkan koneksi internet (hampir seperti kehidupan offline juga). Jadi kami mengambil saran dari kabel LAN atau Wireless Nano USB Adapter (WiFi) untuk membangun koneksi internet sehingga kami dapat menggunakan Rasp Pi kami dengan mudah dan tanpa masalah sama sekali.

7. Kabel HDMI (Opsional, Pilihan Anda)

Ini agak rumit. Anda dapat memiliki kekuatan untuk memasang Monitor lain jika Anda mau atau sangat hemat biaya untuk Anda sendiri dengan membuat koneksi Pi tanpa kepala dengan PC/Laptop Anda.

Langkah 2: Koneksi Perangkat Keras untuk Menyatukan Sirkuit

Koneksi Perangkat Keras untuk Menyatukan Sirkuit
Koneksi Perangkat Keras untuk Menyatukan Sirkuit
Koneksi Perangkat Keras untuk Menyatukan Sirkuit
Koneksi Perangkat Keras untuk Menyatukan Sirkuit

Buat rangkaian sesuai skema yang ditunjukkan. Secara umum, sambungannya sangat sederhana. Ikuti instruksi dan gambar, dan Anda seharusnya tidak memiliki masalah.

Saat merencanakan, kami melihat perangkat keras dan pengkodean serta dasar-dasar elektronik. Kami ingin merancang skema elektronik sederhana untuk proyek ini. Dalam diagram, Anda dapat melihat berbagai bagian, komponen daya, dan sensor I²C mengikuti protokol komunikasi I²C. Mudah-mudahan, ini menggambarkan betapa sederhananya elektronik untuk proyek ini.

Koneksi Raspberry Pi dan I2C Shield

Pertama-tama ambil Raspberry Pi dan letakkan I²C Shield di atasnya. Tekan Perisai dengan lembut (Lihat gambar).

Koneksi Sensor dan Raspberry Pi

Ambil sensor dan Hubungkan kabel I²C dengannya. Pastikan Output I²C SELALU terhubung ke Input I²C. Hal yang sama akan diikuti oleh Raspberry Pi dengan pelindung I²C yang terpasang di atasnya. Kami memiliki I²C Shield dan kabel penghubung I²C di pihak kami sebagai keuntungan yang sangat besar karena kami hanya memiliki opsi plug and play. Tidak ada lagi masalah pin dan kabel dan karenanya, kebingungan hilang. Sungguh melegakan karena membayangkan diri Anda berada di jaring kabel dan masuk ke dalamnya. Hanya proses sederhana yang telah kami sebutkan.

Catatan: Kabel coklat harus selalu mengikuti koneksi Ground (GND) antara output dari satu perangkat dan input dari perangkat lain

Konektivitas Internet sangat penting

Anda punya pilihan di sini sebenarnya. Anda dapat Menghubungkan Raspberry Pi dengan kabel LAN atau Adaptor USB Nano nirkabel untuk Konektivitas WiFi. Bagaimanapun, itu melakukan tujuan utama yaitu terhubung ke internet.

Pemberdayaan Sirkuit

Colokkan kabel Micro USB ke colokan listrik Raspberry Pi. Nyalakan dan kami siap berangkat.

Koneksi ke Layar

Kita dapat menghubungkan kabel HDMI ke monitor baru atau membuat Pi tanpa kepala yang kreatif dan hemat biaya menggunakan akses jarak jauh seperti-SSH/PuTTY. (Saya tahu kami tidak didanai seperti organisasi rahasia)

Langkah 3: Pemrograman Raspberry Pi dengan Python

Pemrograman Raspberry Pi dengan Python
Pemrograman Raspberry Pi dengan Python

Kode Python untuk Sensor Raspberry Pi dan MPL3115A2. Ini tersedia di repositori Github kami.

Sebelum melanjutkan ke kode, pastikan Anda membaca instruksi yang diberikan dalam file Readme dan Atur Raspberry Pi Anda sesuai dengan itu. Hanya perlu beberapa saat untuk melakukannya.

Ketinggian dihitung dari tekanan menggunakan persamaan di bawah ini:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Nilai Daftar)

Dimana p0 = tekanan permukaan laut (101326 Pa) dan h dalam meter. MPL3115A2 menggunakan nilai ini karena register offset didefinisikan sebagai 2 Pascal per LSB.

Kodenya jelas ada di depan Anda dan dalam bentuk paling sederhana yang dapat Anda bayangkan dan Anda seharusnya tidak memiliki masalah.

Anda dapat menyalin kode Python yang berfungsi untuk sensor ini dari sini juga.

# Didistribusikan dengan lisensi kehendak bebas.# Gunakan sesuka Anda, untung atau gratis, asalkan sesuai dengan lisensi karya terkait. # MPL3115A2 # Kode ini dirancang untuk bekerja dengan Modul Mini MPL3115A2_I2CS I2C yang tersedia dari ControlEverything.com. #

impor smbus

waktu impor

# Dapatkan bus I2C

bus = smbus. SMBus(1)

# Alamat MPL3115A2, 0x60(96)

# Pilih register kontrol, 0x26(38) # 0xB9(185) Mode aktif, OSR = 128, mode Altimeter bus.write_byte_data(0x60, 0x26, 0xB9) # Alamat MPL3115A2, 0x60(96) # Pilih register konfigurasi data, 0x13(19) # 0x07(07) Data ready event diaktifkan untuk ketinggian, tekanan, suhu bus.write_byte_data(0x60, 0x13, 0x07) # Alamat MPL3115A2, 0x60(96) # Pilih register kontrol, 0x26(38) # 0xB9(185) Mode aktif, OSR = 128, mode altimeter bus.write_byte_data(0x60, 0x26, 0xB9)

waktu.tidur(1)

# Alamat MPL3115A2, 0x60(96)

# Membaca data kembali dari 0x00(00), 6 byte # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)

# Ubah data menjadi 20-bit

tTinggi = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16 ketinggian = tHeight / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32

# Alamat MPL3115A2, 0x60(96)

# Pilih register kontrol, 0x26(38) # 0x39(57) Mode aktif, OSR = 128, mode Barometer bus.write_byte_data(0x60, 0x26, 0x39)

waktu.tidur(1)

# Alamat MPL3115A2, 0x60(96)

# Baca data kembali dari 0x00(00), 4 byte # status, tekan MSB1, tekan MSB, tekan LSB data = bus.read_i2c_block_data(0x60, 0x00, 4)

# Ubah data menjadi 20-bit

pres = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 tekanan = (pres / 4.0) / 1000.0

# Keluarkan data ke layar

cetak "Tekanan: %.2f kPa" %tekanan cetak "Ketinggian: %.2f m" %ketinggian cetak "Suhu dalam Celcius: %.2f C" %c Cetak suhu "Suhu dalam Fahrenheit: %.2f F" %fTemp

Langkah 4: Kepraktisan Kode (Pengujian)

Kepraktisan Kode (Pengujian)
Kepraktisan Kode (Pengujian)

Sekarang, unduh (atau git pull) kode dan buka di Raspberry Pi.

Jalankan perintah untuk Kompilasi dan Unggah kode di terminal dan lihat hasilnya di Monitor. Setelah beberapa detik, itu akan menampilkan semua parameter. Setelah memastikan semuanya berjalan lancar, Anda dapat membawa proyek ini ke proyek yang lebih besar.

Langkah 5: Aplikasi dan Fitur

Penggunaan umum dari sensor MPL3115A2 Precision Altimeter I²C adalah dalam aplikasi seperti Peta (Map Assist, Navigation), Magnetic Compass, Atau GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Altimetri Akurasi Tinggi, Smartphone/Tablet, Altimetri Elektronik Pribadi dan Satelit (Peralatan Stasiun Cuaca/Peramalan).

Untuk misalnya proyek pembuatan Personal Electronics Altimeter yang mengukur ketinggian, tekanan udara, suhu menggunakan Raspberry Pi. Personal Electronics Altimeter adalah total proyek yang cukup cepat untuk dibangun. Ini akan memakan waktu hanya beberapa saat jika Anda memiliki semua bagian dan tidak berimprovisasi (tentu saja Anda bisa!). Altimeter tekanan adalah altimeter yang ditemukan di sebagian besar pesawat, dan skydivers menggunakan versi yang dipasang di pergelangan tangan untuk tujuan serupa. Pendaki dan pendaki gunung menggunakan altimeter yang dipasang di pergelangan tangan atau genggam.

Langkah 6: Kesimpulan

Semoga proyek ini menginspirasi eksperimen lebih lanjut. Sensor I²C ini sangat serbaguna, murah, dan mudah diakses. Karena ini adalah program yang sangat bisa berubah, ada cara menarik untuk memperluas proyek ini dan membuatnya lebih baik. Misalnya, altimeter adalah instrumen opsional di kendaraan off-road untuk membantu navigasi. Beberapa mobil mewah berperforma tinggi yang tidak pernah dimaksudkan untuk meninggalkan jalan beraspal, menggunakan teknologi ini. Demi kenyamanan Anda, kami memiliki video tutorial menarik di YouTube yang mungkin bisa membantu penjelajahan Anda. Semoga proyek ini menginspirasi eksperimen lebih lanjut.

Direkomendasikan: