İçindekiler:
- 1. Adım: WiFi ESP8266 NodeMcu ESP-12E
- Adım 2: Kızılötesi Sensör
- 3. Adım: OLED'i görüntüleyin
- Adım 4: Montaj
- Adım 5: Kitaplıklar
- Adım 6: Kaynak Kodu
Video: ESP8266 ile Kızılötesi Sensör: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu seferki amacımız, sensörümüze doğru bakan herhangi bir nesnenin ortam sıcaklığını okuyacak bir program oluşturmak. Bunu yapmak için, bu projede bir ESP8266 nodeMCU, bir MLX90614 kızılötesi sensör ve sıcaklık verilerini gösterecek bir OLED 96 ekran kullanacağız.
1. Adım: WiFi ESP8266 NodeMcu ESP-12E
Adım 2: Kızılötesi Sensör
Bu kurulumda kullanılan MLX90614 kızılötesi sensör aslında bir tür video kameradır. Hareketsiz dijital kameralarda kullanılana çok benzeyen bir sistem olan CCD (Charged Coupled Device) aracılığıyla görüntüleri yakalar. Böylece cisimden çıkan kızılötesi miktarını kaydeder ve bu miktar ile sıcaklığı hesaplar. Çok kesin.
3. Adım: OLED'i görüntüleyin
Adım 4: Montaj
Bu çok basit bir şemadır. Burada kolay görselleştirmeye izin veren bir tablom var.
ESP8266 - OLEDD5 - SCL
D7 - SDA
D3 - RES
D4 - DC
D8 - CS
3, 3v - VCC
GND - GND
MLX90614
D1 - SCL
D2 - SDA
3, 3v - VCC
GND - GND
Adım 5: Kitaplıklar
OLED ekranı kullanmak için aşağıdaki "Adafruit-GFX-Library-master" kitaplığını ekleyin.
Basitçe "Çizim >> Kitaplıkları Dahil Et >> Kitaplıkları Yönet …" seçeneğine erişin.
Ayrıca aşağıdaki "Adafruit Unified Sensor" kitaplığını da ekleyin.
Kütüphaneler için indirme bağlantıları, hemen aşağıda bulunan PDF'dedir.
Adım 6: Kaynak Kodu
Kodumuz sırasında kullanacağımız kütüphaneleri ve sabitleri tanımlayarak başlayacağız.
#include //Biblioteca para I2C#include //Biblioteca para conunicação com o o sensor #include //Biblioteca para propriedades #include //Comunicaço com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define sclk D5 #define mo #define cs D8 #define rst D3 #define dc D4 // çekirdeklerin tanımlı özellikleri #define BLACK 0x0000 #define WHITE 0xFFFF //definine WHITE 0xFFFF //definine WHITE 0xFFFF //definichine cada um dos dados #define POS_X_AMBIETO #define POS_X_AMY_tanımlayın 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // yapıcı OLED'i görüntülemek için nesnelerle iletişim kurun Adafruit_SSD1331 görüntü = Adafruit_SSD1331(cs, dc, mosi, sclk, rst); //karşılıklı yanıtlar ve iletişim bilgileri, iletişim sensörü kızılötesi IRTherm sensörü; //değişkenler, sıcaklık değerlerinin değişkenliğine bağlı olarak, kayan nokta tempAmbiente; float tempObjeto;
Kurmak
Setup() işlevinde, sensörle iletişim nesnemizi ve ekranla iletişim nesnesini başlatacağız. İşte her biri için bazı ayarlar.
void setup(){ //Infravermelho sensor de sıcaklık sensörü.begin(); //Seleciona sıcaklık ve Celsius sensor.setUnit(TEMP_C);//podemos ainda TEMP_F için Fahrenheit //ou TEMP_K para Kelvin //comunicarmos com o display OLED display.begin(); // bir tela bugünden önce display.fillScreen(BLACK); //yapılandırma veya tamnaho yapmak metinleri sıraya koymak em tela display.setTextSize(0); //teksto display.setTextColor(WHITE); //os comando'ları abaixo pozisyonu o imleç no (x, y) desejado para a seguir escrevermos em tela display.setCursor(POS_X_TITULO, POS_Y_TITULO); display.print("SICAKLIK"); display.setCursor(POS_X_TITULO+20, POS_Y_TITULO+15); display.print("("); display.print((char)247); //símbolo degraus display.print("C)"); display.setCursor(POS_X_AMBIENTE, POS_Y_AMBIENTE); display.print("AMB:"); //AMBIENTE display.setCursor(POS_X_OBJETO, POS_Y_OBJETO); display.print("OBJ:"); //OBJETO }
Döngü
Döngü () işlevinde, sensör verilerini okuyalım ve ardından OLED ekranda görüntüleyelim.
// Sıcaklık ve ortam koşulları için sensör "okuma"//düzenli okuma//düzenleme okuma 1 günlük gerçek zamanlı, 0 kasa contrário if (sensor.read()) { //ortam sıcaklığı düzenleme = sensor.ambient(); // sıcaklığın geri alınması, bir nesneye apontado pelo sensor tempObjeto = sensor.object(); //ortam ve nesne gösterimi için sıcaklık ve cesareti ölçen bir alan.fillRect(POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, BLACK); display.fillRect(POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, SİYAH); //konum veya imleç ve bir sıcaklık ortamı görüntüleme ekranı.setCursor(POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print(tempAmbiente); display.print((char)247); //simbolo degraus //konum veya imleç ve bir sıcaklığın korunması nesneyi sıraya koymak veya sensör ayarlarını yapmak display.setCursor(POS_X_OBJETO+35, POS_Y_OBJETO); display.print(tempObjeto); display.print((char)247); //simbolo de graus } gecikme(1000); // 1 segundo para a próxima leitura }
Önerilen:
MikroPython ile COVID-19 için Kızılötesi Termometre Kendin Yap: 8 Adım
MikroPython ile COVID-19 için Kızılötesi Termometre DIY Yapın: Coronavirüs Hastalığı (COVID-19) salgını nedeniyle, şirketin İK'sının her çalışanın sıcaklığını ölçmesi ve kaydetmesi gerekir. Bu, İK için sıkıcı ve zaman alıcı bir görevdir. Ben de bu projeyi yaptım: işçi düğmeye bastı, bu
Arduino İle Kızılötesi Sensör Kullanımı: 8 Adım (Resimli)
Arduino İle Kızılötesi Sensör Kullanımı: Kızılötesi (diğer adıyla IR) sensör nedir? IR sensörü, standartlar tarafından tanımlanan belirli frekans aralıklarında IR sinyallerini tarayan ve bunları çıkış pininde (tipik olarak sinyal pini olarak adlandırılır) elektrik sinyallerine dönüştüren elektronik bir araçtır. . Kızılötesi sinyali
Arduino ile Kızılötesi Radar: 6 Adım
Arduino ile Kızılötesi Radar: Bu küçük projede, Arduino ile Evde nasıl basit bir Radar oluşturabileceğinizi göstermek istiyorum. İnternette buna benzer birçok proje var ama hepsi mesafeyi ölçmek için ultrasonik sensör kullanıyor. Bu projede bir inf kullanıyorum
Kızılötesi TermometreGY906 SkiiiD ile Nasıl Kullanılır: 9 Adım
Kızılötesi TermometreGY906 SkiiiD ile Nasıl Kullanılır: skiiiD ile Kızılötesi Termometre GY906 geliştirmek için bir eğitim
Arduino ile Kızılötesi Ev Otomasyonu: 5 Adım
Arduino ile Kızılötesi Ev Otomasyonu: ARDUINO EV OTOMASYONU Ev otomasyonu, normalde manuel olarak yaptığınız şeyleri sizin için otomatik olarak yapmak anlamına gelir. Normalde anahtarı çevirmek için ayağa kalkarsınız, ya uzaktan kumandaya basarsanız ve ışığınız otomatik olarak yanarsa