İçindekiler:
- Adım 1: Bu Projede Kullanılanlar
- 2. Adım: Öykü
- 3. Adım: Gerekli Dosyaları İndirin
- Adım 4: Birleştirin
- Adım 5: Program
- Adım 6: Taşınabilir Termometre
- 7. Adım: Sonuç
- Adım 8: Kod
Video: XinaBox ve Termistör Kullanarak Sıcaklık Ölçümü: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
XinaBox'tan bir analog giriş xChip ve bir termistör probu kullanarak bir sıvının sıcaklığını ölçün.
Adım 1: Bu Projede Kullanılanlar
Donanım bileşenleri
- ADC'li XinaBox SX02 x 1 xChip analog giriş sensörü
- ATmega328P tabanlı Arduino Uno'nun XinaBox CC01 x 1 xChip versiyonu
- Voltaj bölücü ağ için direnç 10k ohm x 1 10k direnç
- Termistör Probu x 1 10k, 25°C'de NTC su geçirmez termistör probu
- FTDI Limited'den FT232R tabanlı XinaBox IP01 x 1 xChip USB Programlayıcı
- XinaBox OD01 x 1 xChip 128x64 Piksel OLED Ekran
- XinaBox XC10 x 4 xChip veri yolu konnektörleri
- XinaBox PU01 x 1 xChip USB (Tip A) Güç Kaynağı
- 5V USB Güç Kaynağı x 1 Güç Bankası veya benzeri
Yazılım uygulamaları ve çevrimiçi hizmetler
Arduino IDE'si
El aletleri ve imalat makineleri
Düz Başlı Tornavida Vidalı terminal kelepçesini sıkmak veya gevşetmek için
2. Adım: Öykü
Tanıtım
Basit bir termometre oluşturarak bir sıvının sıcaklığını ölçmek istedim. XinaBox xChips kullanarak bunu göreceli basitlikle başarabildim. Sıcaklık sonuçlarımı görüntülemek için 0 - 3.3V kabul eden SX02 analog giriş xChip, ATmega328P tabanlı CC01 xChip ve OD01 OLED ekran xChip kullandım.
Bir bardaktaki suyun sıcaklığını ölçen termistör
3. Adım: Gerekli Dosyaları İndirin
Aşağıdaki kütüphanelere ve yazılımlara ihtiyacınız olacak:
- xSX0X- Analog giriş sensörü kitaplığı
- xOD01 - OLED ekran kitaplığı
- Arduino IDE - Geliştirme ortamı
Kütüphanelerin nasıl kurulacağını görmek için buraya tıklayın.
Arduino IDE'yi kurduktan sonra açın ve programınızı yüklemek için pano olarak "Arduino Pro veya Pro Mini"yi seçin. Ayrıca ATmega328P (5V, 16MHz) işlemcinin seçildiğinden emin olun. Aşağıdaki resme bakın.
Arduino Pro veya Pro Mini kartını ve ATmega328P (5V, 16MHz) işlemciyi seçin
Adım 4: Birleştirin
Aşağıda gösterildiği gibi XC10 veri yolu konektörlerini kullanarak programlayıcı xChip, IP01 ve ATmega328P tabanlı CC01 xChip'i birlikte tıklayın. CC01'e yüklemek için anahtarları sırasıyla 'A' ve 'DCE' konumlarına yerleştirmeniz gerekir.
IP01 ve CC01 birlikte tıklandı
Ardından, 10kΩ direncinizi alın ve bir ucunu SX02'de "IN" olarak işaretlenmiş terminale ve diğer ucunu "GND" toprak terminaline vidalayın. Termistör probunun uçlarını alın ve bir ucunu Vcc, "3.3V" ve diğer ucunu "IN" terminaline vidalayın. Aşağıdaki grafiğe bakın.
SX02 bağlantıları
Şimdi OD01 ve SX02'yi, XC10 veri yolu bağlantılarını kullanarak basitçe bir araya getirerek CC01 ile birleştirin. Aşağıya bakınız. Görüntüdeki gümüş element, termistör sondasıdır.
Programlama için komple ünite
Adım 5: Program
Üniteyi bilgisayarınızdaki USB bağlantı noktasına takın. Aşağıdaki kodu indirin veya kopyalayıp Arduino IDE'nize yapıştırın. Kodu derleyin ve panonuza yükleyin. Yüklendikten sonra programınız çalışmaya başlamalıdır. Probunuz oda sıcaklığı koşullarındaysa, aşağıda gösterildiği gibi OLED ekranında ±25°C gözlemlemelisiniz.
Yüklemeden sonra OLED ekranında oda sıcaklığını gözlemleyin
Adım 6: Taşınabilir Termometre
Üniteyi bilgisayarınızdan çıkarın. Üniteyi sökün ve IP01 yerine PU01 kullanarak yeniden monte edin. Şimdi bir güç bankası veya benzeri gibi 5V USB taşınabilir güç kaynağınızı alın ve yeni düzeneği içine yerleştirin. Artık iyi bir doğrulukla kendi havalı taşınabilir termometreniz var. Çalışır durumda görmek için kapak resmine bakın. Sıcak suyu bir bardakta ölçtüm. Aşağıdaki resimler tüm ünitenizi göstermektedir.
CC01, OD01, SX02 ve PU02'den oluşan komple ünite.
7. Adım: Sonuç
Bu projenin montajı 10 dakikadan az ve programlaması 20 dakikadan daha kısa sürdü. gereken tek pasif bileşen bir dirençti. xChips, çok uygun hale getirmek için bir araya tıklamanız yeterlidir.
Adım 8: Kod
ThermTemp_Display.ino Arduino Koddaki hesaplamaları anlamak için termistörleri araştırın.
#include // xCHIP'ler için çekirdek kitaplığı dahil et
#include // analog giriş sensör kütüphanesini dahil et #include // OLED ekran kütüphanesini dahil et #include // matematik fonksiyonlarını dahil et#define C_Kelvin 273.15 // Kelvin'den santigrata dönüştürme için #define series_res 10000 // ohm cinsinden seri direncin değeri #define B 3950 // Termistör için B parametresi #define room_tempK 298.15 // kelvin cinsinden oda sıcaklığı #define room_res 10000 // ohm cinsinden oda sıcaklığında direnç #define vcc 3.3 // besleme gerilimi xSX01 SX01(0x55); // i2c adresi şamandıra voltajını ayarlayın; // ölçülen voltajı içeren değişken (0 - 3.3V) float therm_res; // termistör direnci şamandırası act_tempK; // gerçek sıcaklık kelvin float act_tempC; // santigratta gerçek sıcaklık void setup() { // bir kez çalıştırmak için kurulum kodunuzu buraya koyun: // değişkenleri 0'a sıfırlayın voltaj = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // seri iletişimi başlat Serial.begin(115200); // i2c iletişimini başlat Wire.begin(); // analog giriş sensörünü başlat SX01.begin(); // OLED ekranını başlat OLED.begin(); // ekranı temizle OD01.clear(); // gecikmeyi normalleştirmek için gecikme(1000); } void loop() { // tekrar tekrar çalıştırmak için ana kodunuzu buraya koyun: // voltajı okuyun SX01.poll(); // voltaj voltajını sakla = SX01.getVoltage(); // termistör direncini hesapla term_res = ((vcc * series_res) / voltaj) - series_res; // gerçek sıcaklığı kelvin cinsinden hesapla act_tempK = (room_tempK * B) / (B + room_tempK * log(therm_res / room_res)); // kelvin'i santigrata çevir act_tempC = act_tempK - C_Kelvin; // OLED ekrana sıcaklığı yazdır // merkezde görüntülemek için manuel biçimlendirme OD01.set2X(); OD01.println(""); OD01.println(""); OD01.print(" "); OD01.print(act_tempC); OD01.print("C"); OD01.println(""); gecikme(2000); // her 2 saniyede bir ekranı güncelle }
Önerilen:
AD7416ARZ ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
AD7416ARZ ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: AD7416ARZ, dört adet tek kanallı analog-dijital dönüştürücü ve içinde yerleşik bir sıcaklık sensörü bulunan 10-Bit sıcaklık sensörüdür. Parçaların üzerindeki sıcaklık sensörüne multiplexer kanalları üzerinden erişilebilir. Bu yüksek hassasiyetli sıcaklık
STS21 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: 4 Adım
STS21 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: STS21 Dijital Sıcaklık Sensörü, üstün performans ve yerden tasarruf sağlayan bir ayak izi sunar. Dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sinyaller sağlar. Bu sensörün üretimi, üstün özelliklere atfedilen CMOSens teknolojisine dayanmaktadır
DHT11 / DHT22 ve Arduino Kullanarak Sıcaklık ve Nem Ölçümü: 4 Adım
DHT11 / DHT22 ve Arduino Kullanarak Sıcaklık ve Nemi Ölçme: Bu Arduino Eğitiminde, Arduino kartı ile sıcaklık ve nemi ölçmek için DHT11 veya DHT22 sensörünün nasıl kullanılacağını öğreneceğiz
ADT75 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: 4 Adım
ADT75 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: ADT75, son derece hassas, dijital bir sıcaklık sensörüdür. Bir bant aralığı sıcaklık sensöründen ve sıcaklığın izlenmesi ve sayısallaştırılması için 12 bitlik bir analogdan dijitale dönüştürücüden oluşur. Son derece hassas sensörü, onu benim için yeterince yetkin kılıyor
HIH6130 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: 4 Adım
HIH6130 ve Arduino Nano Kullanarak Nem ve Sıcaklık Ölçümü: HIH6130, dijital çıkışlı bir nem ve sıcaklık sensörüdür. Bu sensörler, ±%4 RH doğruluk seviyesi sağlar. Endüstri lideri uzun vadeli kararlılık, gerçek sıcaklık kompanzasyonlu dijital I2C, Endüstri lideri güvenilirlik, Enerji verimliliği ile