7.1 KiB
Sıcaklık Ölçümü - Wio Terminal
Bu dersin bu bölümünde, Wio Terminal'inize bir sıcaklık sensörü ekleyecek ve sıcaklık değerlerini okuyacaksınız.
Donanım
Wio Terminal bir sıcaklık sensörüne ihtiyaç duyar.
Kullanacağınız sensör, DHT11 nem ve sıcaklık sensörü'dür. Bu sensör, tek bir pakette iki sensörü birleştirir. Oldukça popülerdir ve ticari olarak temin edilebilen birçok sensör, sıcaklık, nem ve bazen atmosferik basıncı birleştirir. Sıcaklık sensörü bileşeni, negatif sıcaklık katsayısına (NTC) sahip bir termistördür; bu, sıcaklık arttıkça direncin azaldığı bir termistördür.
Bu bir dijital sensördür, bu nedenle mikrodenetleyicinin okuyabileceği sıcaklık ve nem verilerini içeren bir dijital sinyal oluşturmak için bir dahili ADC'ye sahiptir.
Sıcaklık sensörünü bağlayın
Grove sıcaklık sensörü, Wio Terminal'in dijital portuna bağlanabilir.
Görev - sıcaklık sensörünü bağlayın
Sıcaklık sensörünü bağlayın.
-
Grove kablosunun bir ucunu nem ve sıcaklık sensöründeki sokete takın. Kablo yalnızca tek bir yönde takılabilir.
-
Wio Terminal'inizi bilgisayarınızdan veya başka bir güç kaynağından ayırarak, Grove kablosunun diğer ucunu Wio Terminal'in ekranına bakarken sağ taraftaki Grove soketine bağlayın. Bu, güç düğmesinden en uzak olan sokettir.
Sıcaklık sensörünü programlayın
Artık Wio Terminal, bağlı sıcaklık sensörünü kullanacak şekilde programlanabilir.
Görev - sıcaklık sensörünü programlayın
Cihazı programlayın.
-
PlatformIO kullanarak yeni bir Wio Terminal projesi oluşturun. Bu projeye
temperature-sensoradını verin.setupfonksiyonuna seri portu yapılandırmak için kod ekleyin.⚠️ Gerekirse proje 1, ders 1'de PlatformIO projesi oluşturma talimatlarına başvurabilirsiniz.
-
Seeed Grove Nem ve Sıcaklık sensörü kütüphanesi için bir kütüphane bağımlılığı ekleyin ve bunu projenin
platformio.inidosyasına ekleyin:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1⚠️ Gerekirse proje 1, ders 4'te PlatformIO projesine kütüphane ekleme talimatlarına başvurabilirsiniz.
-
Dosyanın en üstüne, mevcut
#include <Arduino.h>satırının altına şu#includeyönergelerini ekleyin:#include <DHT.h> #include <SPI.h>Bu, sensörle etkileşim kurmak için gereken dosyaları içe aktarır.
DHT.hbaşlık dosyası sensörün kendisi için gereken kodu içerir veSPI.hbaşlığını eklemek, uygulama derlenirken sensörle iletişim kurmak için gereken kodun bağlantılandırılmasını sağlar. -
setupfonksiyonundan önce, DHT sensörünü tanımlayın:DHT dht(D0, DHT11);Bu, Dijital Nem ve Sıcaklık sensörünü yöneten
DHTsınıfının bir örneğini tanımlar. Bu, Wio Terminal'in sağ tarafındaki Grove soketine, yaniD0portuna bağlanmıştır. İkinci parametre, kullanılan sensörün DHT11 sensörü olduğunu koda bildirir - kullandığınız kütüphane bu sensörün diğer varyantlarını da destekler. -
setupfonksiyonunda, seri bağlantıyı ayarlamak için kod ekleyin:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); } -
setupfonksiyonunun sonunda, sondelaysatırından sonra, DHT sensörünü başlatmak için bir çağrı ekleyin:dht.begin(); -
loopfonksiyonunda, sensörü çağırmak ve sıcaklığı seri porta yazdırmak için kod ekleyin:void loop() { float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); Serial.print("Temperature: "); Serial.print(temp_hum_val[1]); Serial.println ("°C"); delay(10000); }Bu kod, 2 adet float değerini tutacak boş bir dizi tanımlar ve bu diziyi
DHTörneğindekireadTempAndHumidityfonksiyonuna geçirir. Bu çağrı, diziyi 2 değerle doldurur - nem, dizinin 0. elemanına (C++ dizilerinin 0 tabanlı olduğunu unutmayın, bu nedenle 0. eleman dizinin 'ilk' elemanıdır), sıcaklık ise 1. elemanına yerleştirilir.Sıcaklık, dizinin 1. elemanından okunur ve seri porta yazdırılır.
🇺🇸 Sıcaklık Celsius cinsinden okunur. Amerikalılar için, bunu Fahrenheit'e dönüştürmek için okunan Celsius değerini 5'e bölün, ardından 9 ile çarpın ve 32 ekleyin. Örneğin, 20°C'lik bir sıcaklık okuması şu şekilde dönüştürülür: ((20/5)*9) + 32 = 68°F.
-
Kodu derleyin ve Wio Terminal'e yükleyin.
⚠️ Gerekirse proje 1, ders 1'de PlatformIO projesi oluşturma talimatlarına başvurabilirsiniz.
-
Kod yüklendikten sonra, sıcaklığı seri monitör kullanarak izleyebilirsiniz:
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Temperature: 25.00°C Temperature: 25.00°C Temperature: 25.00°C Temperature: 24.00°C
💁 Bu kodu code-temperature/wio-terminal klasöründe bulabilirsiniz.
😀 Sıcaklık sensörü programınız başarıyla çalıştı!
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.

