İçindekiler:
- Adım 1: İhtiyacımız Olan Vazgeçilmez Ekipman
- Adım 2: Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
- Adım 3: Java'da Raspberry Pi Programlama
- Adım 4: Kodun Uygulanabilirliği(Çalışma)
- Adım 5: Uygulamalar ve Özellikler
- 6. Adım: Sonuç
Video: Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Neye sahip olduğunuzu bilin ve neden sahip olduğunuzu bilin
Bu ilgi çekici. Çok sayıda yeni uygulamaya daldığı için İnternet Otomasyonu çağında yaşıyoruz. Bilgisayar ve elektronik meraklıları olarak Raspberry Pi ile çok şey öğreniyoruz ve ilgi alanlarımızı harmanlamaya karar verdik. I²C bağlantılarında ve Yazılım kurulumunda yeniyseniz bu proje yaklaşık bir saat sürer ve Java'da Raspberry Pi ile MPL3115A2'nin yeteneklerini genişletmenin harika bir yoludur.
Adım 1: İhtiyacımız Olan Vazgeçilmez Ekipman
1. Ahududu Pi
İlk adım bir Raspberry Pi kartı almaktı. Bu küçük dahi, hobiler, öğretmenler ve yenilikçi ortamlar yaratmada kullanılır.
2. Raspberry Pi için I2C Kalkanı
INPI2 (I2C adaptörü), birden fazla I2C cihazıyla kullanım için Raspberry Pi 2/3 bir I²C bağlantı noktası sağlar. Dcube Store'da mevcuttur.
3. Altimetre, Basınç ve Sıcaklık Sensörü, MPL3115A2
MPL3115A2, Basınç, Rakım ve Sıcaklık verileri vermek için I²C arayüzüne sahip bir MEMS basınç sensörüdür. Bu sensör, iletişim için I²2 protokolünü kullanır. Bu sensörü Dcube Store'dan satın aldık.
4. Bağlantı Kablosu
Dcube Store'da bulunan I²C bağlantı kablosunu kullandık.
5. Mikro USB kablosu
Raspberry Pi, mikro USB kaynağı ile çalışır.
6. İnternet Erişimi Geliştirme - Ethernet Kablosu/WiFi Modülü
Yapmak isteyeceğiniz ilk şeylerden biri, Raspberry Pi'nizi internete bağlamaktır. Bir Ethernet kablosu kullanarak veya bir Kablosuz USB Nano WiFi adaptörüyle bağlanabilirsiniz.
7. HDMI Kablosu (Opsiyonel, Sizin Seçiminiz)
Raspberry Pi'yi bir HDMI kablosu kullanarak bir monitöre bağlayabilirsiniz. Ayrıca Raspberry Pi'nize SSH/PuTTY kullanarak uzaktan erişebilirsiniz.
Adım 2: Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
Devreyi gösterilen şemaya göre yapınız. Genel olarak bağlantılar oldukça basittir. Yukarıdaki talimatları ve resimleri izleyin, sorun yaşamamalısınız. Planlama yaparken, elektronik temellerinin yanı sıra donanım ve kodlamaya da baktık. Bu proje için basit bir elektronik devre şeması tasarlamak istedik. Şemada, I²C iletişim protokollerini takip eden farklı parçaları, güç bileşenlerini ve I²C sensörünü görebilirsiniz. Umarım, bu, bu proje için elektroniğin ne kadar basit olduğunu gösterir.
Raspberry Pi ve I2C Shield Bağlantısı
Bunun için Raspberry Pi ve üzerine I²C Shield yerleştirin. Kalkana hafifçe basın (resme bakın).
Sensör ve Raspberry Pi Bağlantısı
Sensörü alın ve I²C kablosunu ona bağlayın. I²C Çıkışının DAİMA I²C Girişine bağlandığından emin olun. Aynı şekilde Raspberry Pi de üzerine I²C shield takılmış durumda. I²C Shield ve I²C bağlantı kablolarının yanımızda olması çok büyük bir avantaj çünkü sadece tak çalıştır seçeneği kalıyor. Artık pin ve kablolama sorunu yok ve dolayısıyla karışıklık ortadan kalktı. Kendinizi teller ağında hayal edip buna dahil olmak ne büyük bir rahatlama. Bu kadar basit!
Not: Kahverengi kablo her zaman bir cihazın çıkışı ile başka bir cihazın girişi arasındaki Toprak (GND) bağlantısını takip etmelidir
İnternet Bağlantısı Çok Önemlidir
Projemizin başarılı olması için Raspberry Pi'miz için internet erişimine ihtiyacımız var. Bunda, bir Ethernet(LAN) kablosu bağlama gibi seçenekleriniz vardır. Ayrıca, bir WiFi bağdaştırıcısını kullanmanın alternatif ama etkileyici bir yolu olarak.
Devreye Güç Verme
Mikro USB kablosunu Raspberry Pi'nin güç jakına takın. Açın ve işte, gitmeye hazırız!
Ekrana Bağlantı
HDMI kablosunu bir monitöre bağlayabiliriz ya da biraz yenilikçi olabiliriz, başsız Pi'mizi (-SSH/PuTTY kullanarak) yapmak için biraz yenilikçi olabiliriz, bu da bir şekilde hobi olduğumuz için ekstra maliyeti düşürmeye yardımcı olur.
Bir alışkanlık paraya mal olmaya başladığında buna hobi denir
Adım 3: Java'da Raspberry Pi Programlama
Raspberry Pi ve MPL3115A2 Sensörü için Java Kodu. Github depomuzda mevcuttur.
Kodlara geçmeden önce Readme dosyasında verilen talimatları okuduğunuzdan ve Raspberry Pi'nizi buna göre kurduğunuzdan emin olun. Bunu yapmak biraz zaman alacaktır. Yükseklik, aşağıdaki denklem kullanılarak basınçtan hesaplanır:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Kayıt Değeri)
burada p0 = deniz seviyesi basıncı (101326 Pa) ve h metre cinsindendir. MPL3115A2, ofset kaydı LSB başına 2 Pascal olarak tanımlandığından bu değeri kullanır. Kod açıkça önünüzde ve hayal edebileceğiniz en basit formda ve hiçbir sorun yaşamamanız gerekiyor.
Bu sensör için çalışan Java kodunu buradan da kopyalayabilirsiniz.
// Bir özgür irade lisansıyla dağıtılır.// İlişkili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın. // MPL3115A2 // Bu kod, ControlEverything.com'da bulunan MPL3115A2_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır. //
com.pi4j.io.i2c. I2CBus'u içe aktarın;
com.pi4j.io.i2c. I2CDevice'ı içe aktarın; com.pi4j.io.i2c. I2CFFactory'yi içe aktarın; java.io. IOException'ı içe aktarın;
genel sınıf MPL3115A2
{ public static void main(String args) İstisna atar { // I2C bus oluştur I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // I2C cihazını al, MPL3115A2 I2C adresi 0x60(96) I2CDevice cihazı = Bus.getDevice(0x60); // Kontrol kaydını seçin // Aktif mod, OSR = 128, altimetre modu device.write(0x26, (byte)0xB9); // Veri yapılandırma kaydını seçin // Rakım, basınç, sıcaklık için veri hazır olayı etkinleştirildi device.write(0x13, (byte)0x07); // Kontrol kaydını seçin // Aktif mod, OSR = 128, altimetre modu device.write(0x26, (byte)0xB9); thread.sleep(1000);
// 0x00(00) adresinden 6 bayt veri oku
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb bayt veri = yeni bayt[6]; device.read(0x00, veri, 0, 6);
// Veriyi 20 bit'e çevir
int Yükseklik = (((veri[1] & 0xFF) * 65536) + ((veri[2] & 0xFF) * 256) + (veri[3] & 0xF0)) / 16); int temp = ((veri[4] * 256) + (veri[5] & 0xF0)) / 16; çift yükseklik = tYükseklik / 16.0; çift cTemp = (sıcaklık / 16.0); çift fTemp = cTemp * 1.8 + 32;
// Kontrol kaydı seç
// Aktif mod, OSR = 128, barometre modu device.write(0x26, (byte)0x39); thread.sleep(1000); // 0x00(00) adresinden 4 bayt veri oku // durum, msb1'e bas, msb'ye bas, lsb cihazına bas.read(0x00, data, 0, 4);
// Veriyi 20 bit'e çevir
int pres = (((veri[1] & 0xFF) * 65536) + ((veri[2] & 0xFF) * 256) + (veri[3] & 0xF0)) / 16; çift basınç = (basınç / 4.0) / 1000.0; // Çıktı verileri ekrana System.out.printf("Basınç: %.2f kPa %n", basınç); System.out.printf("Yükseklik: %.2f m %n", yükseklik); System.out.printf("Sıcaklık Santigrat cinsinden: %.2f C %n", cTemp); System.out.printf("Sıcaklık Fahrenhayt cinsinden: %.2f F %n", fTemp); } }
Adım 4: Kodun Uygulanabilirliği(Çalışma)
Şimdi kodu indirin (veya git pull) ve Raspberry Pi'de açın. Terminaldeki kodu Derlemek ve Yüklemek için komutları çalıştırın ve Monitördeki çıktıya bakın. Birkaç saniye sonra tüm parametreleri görüntüleyecektir. Her şeyin sorunsuz çalıştığından emin olduktan sonra bu projeyi daha büyük bir projeye dönüştürebilirsiniz.
Adım 5: Uygulamalar ve Özellikler
MPL3115A2 Hassas Altimetre sensörünün yaygın kullanımı, Harita (Harita Yardımı, Navigasyon), Manyetik Pusula veya GPS (GPS Ölü Hesaplama, Acil Servisler için GPS Geliştirme), Yüksek Doğruluk Altimetri, Akıllı Telefonlar/Tabletler, Kişisel Elektronik Altimetri ve Uydular(Hava Durumu İstasyonu Ekipmanı/Tahmin).
Örneğin Bu sensörü ve Rasp Pi'yi kullanarak, paraşütle atlama ekipmanının en önemli parçası olan ve yüksekliği, hava basıncını ve sıcaklığı ölçebilen bir Dijital Görsel Altimetre oluşturabilirsiniz. Gazlı bez ve diğer sensörleri ekleyerek daha ilginç hale getirebilirsiniz.
6. Adım: Sonuç
Program inanılmaz derecede özelleştirilebilir olduğundan, bu projeyi genişletmenin ve daha da iyi hale getirmenin birçok ilginç yolu var. Örneğin, bir altimetre/interferometre, aynı anda ölçümleri alacak, böylece sürekli, tek veya çoklu altimetre geniş alan kapsamı sağlayan direkler üzerine monte edilmiş birkaç altimetre içerecektir. YouTube'da bu projeyi daha iyi anlamanıza yardımcı olabilecek ilginç bir video eğitimimiz var.
Önerilen:
NodeMCU ve Blynk'te AM2301 ile Sıcaklığı ve Nemi İzleme: 3 Adım
NodeMCU & Blynk'te AM2301 ile Sıcaklık ve Nemi İzleme: Endüstrinin çoğunda dikey, sıcaklık, nem, basınç, hava kalitesi, su kalitesi vb. değer olduğunda uyarı sistemlerinin yerinde olması gerekir
BLYNK ESP8266 ve DHT11 ile İnternet Üzerinden Oda Sıcaklığı: 5 Adım (Resimlerle)
BLYNK ESP8266 & DHT11 İle İnternet Üzerinden Oda Sıcaklığı: Merhaba arkadaşlar bugün dünyanın her yerinden odamızı izlemek için kullanabileceğimiz bir oda sıcaklığı monitörü yapacağız ve bunun için BLYNK IoT plateformu kullanacağız ve kullanacağız. Oda sıcaklığını okumak için DHT11, erişmek için bir ESP8266 kullanacağız
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: Kulağa ilginç geliyor. Hepimizin IoT nesline girdiğimiz bu zamanda bu oldukça mümkün. Bir elektronik delisi olarak Raspberry Pi ile oynuyorduk ve bu bilgiyi kullanarak ilginç projeler yapmaya karar verdik. Bu projede yapacağımız
Raspberry Pi Kullanarak Nem ve Sıcaklığı SI7006 ile Değerlendirin: 6 Adım
Raspberry Pi Kullanarak Nem ve Sıcaklığı SI7006 ile Değerlendirin: Raspberry Pi meraklısı olduğumuz için onunla daha muhteşem deneyler yapmayı düşündük. SI7006, Nem ve Sıcaklık sensörü
GY-68 BMP180 ve Arduino Kullanarak Basınç ve Yükseklik Belirleme: 6 Adım
GY-68 BMP180 ve Arduino Kullanarak Basınç ve İrtifa Belirleme: Genel Bakış Uçan robotlar, hava istasyonları, rota performansının iyileştirilmesi, spor vb. birçok projede basınç ve irtifa ölçümü çok önemlidir. Bu eğitimde, en çok kullanılanlardan biri olan BMP180 sensörünü nasıl kullanacağınızı öğreneceksiniz