Mündəricat:
- Addım 1: WiFi ESP8266 NodeMcu ESP-12E
- Addım 2: İnfraqırmızı Sensor
- Addım 3: OLED ekran
- Addım 4: Montaj
- Addım 5: Kitabxanalar
- Addım 6: Mənbə Kodu
Video: ESP8266 ilə İnfraqırmızı Sensor: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu dəfəki məqsədimiz, sensorumuza işarə edən hər hansı bir obyektin ətraf temperaturunu oxuyacaq bir proqram yaratmaqdır. Bunun üçün bu layihədə ESP8266 nodeMCU, MLX90614 infraqırmızı sensoru və temperatur məlumatlarını əks etdirən OLED 96 displeydən istifadə edəcəyik.
Addım 1: WiFi ESP8266 NodeMcu ESP-12E
Addım 2: İnfraqırmızı Sensor
Bu qurğuda istifadə olunan MLX90614 infraqırmızı sensoru əslində bir videokamera növüdür. Hələ də rəqəmsal kameralarda istifadə olunan sistemə çox oxşayan bir sistem olan CCD (Şarjlı Coupled Device) vasitəsilə şəkillər çəkir. Beləliklə, cisimdən çıxan infraqırmızı miqdarını qeyd edir və bu miqdarla istiliyi hesablayır. Çox dəqiqdir.
Addım 3: OLED ekran
Addım 4: Montaj
Bu çox sadə bir sxemdir. Vizualizasiyanı asanlaşdıran bir masam 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
Addım 5: Kitabxanalar
OLED displeydən istifadə etmək üçün aşağıdakı "Adafruit-GFX-Library-master" kitabxanasını əlavə edin.
Sadəcə "Sketch >> Kitabxanaları Daxil Et >> Kitabxanaları İdarə et …" bölməsinə daxil olun.
Həmçinin, aşağıdakı "Adafruit Unified Sensor" kitabxanasını əlavə edin.
Kitabxanalar üçün yükləmə bağlantıları PDF -də, aşağıda mövcuddur.
Addım 6: Mənbə Kodu
Kodumuz zamanı istifadə edəcəyimiz kitabxanaları və sabitləri təyin etməklə başlayacağıq.
#daxil edin // Biblioteca para I2C #daxil edin // Biblioteca üçün komunicação com o sensor #include // Biblioteca for propriedades gráficas #include // Biblioteca for comunicação com dipsplay OLED // pinagem para o NodeMCu ESP8lk6 #DSP726 #define cs D8 #destine dst D3 #define dc D4 // defineção das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF // defineção da coordenada on escreveremos cada um dos dados #OFEFINEPine_OnFine_Pef_OnefinePOS_XoFine 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // OLED Adafruit_SSD1331 ekran = Adafruit_SSD1331 (cs, dc, rsi, sci, sci; rc) // IRTherm sensoru infravermelho ilə əlaqəli cavablar verir; // hava şəraitinin temperaturu dəyişkəndir; float tempObjeto;
Qurmaq
Setup () funksiyasında, sensorla ünsiyyət obyektimizi, eləcə də ekranla ünsiyyət obyektini işə salacağıq. Burada hər biri üçün bir neçə parametr var.
void setup () {// Temperatura sensoru infravermelho sensor.begin (); // Celsius sensor.setUnit (TEMP_C); // TEMP_F və ya TEMP_K üçün Kelvin // OLED displeyin göstərilməsi üçün məlumatların istifadəsi. // əvvəlcədən göstərilmiş bir ekran. doldurma ekranı (QARA); // konfiqurasiya etmək üçün Display.setTextSize (0); // Display.setTextColor (BEYAZ) mətnləri ilə bağlı konfiqurasiya; // heç bir (x, y) imleci yoxlanılmadıqda, ekran görüntüsünü göstərin.setCursor (POS_X_TITULO, POS_Y_TITULO); display.print ("TEMPERATURA"); display.setCursor (POS_X_TITULO+20, POS_Y_TITULO+15); display.print ("("); display.print ((char) 247); // símbolo de graus 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ə
Loop () funksiyasında sensor məlumatlarını oxuyaq və sonra OLED displeydə göstərək.
// sensorlar üçün temperaturun "oxunması" // oxunması ilə bağlı məlumatların oxunması // oxuduqdan sonra oxuyun, əgər (sensor.read ()) {// ətraf mühit tempAmbiente ilə əlaqəli bir şərtlə = sensor.amient (); // temperatur və temperatur sensoru tempObjeto = sensor.object (); // ekran və ətraf mühitin hər hansı bir hissəsini göstərməyin.fillRect (POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, SİYAH); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, SİYAH); // pozision və ya imleci mühit mühitində göstərmək.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print (tempAmbiente); display.print ((char) 247); // simbolo de graus // pozisiona və ya sensora baxmaq üçün bir temperatura baxın.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} gecikmə (1000); // 1 -ci günün sonuna qədər bir müddət}
Tövsiyə:
DIY MicroPython ilə COVID-19 üçün infraqırmızı termometr: 8 addım
DIY MicroPython ilə COVID-19 üçün İnfraqırmızı Termometr: Koronavirus Xəstəliyinin (COVİD-19) yayılması səbəbindən şirkətin İnsan Resursları hər bir işçinin temperaturunu ölçməli və qeydiyyata almalıdır. Bu, HR üçün yorucu və vaxt aparan bir işdir. Beləliklə, bu layihəni etdim: işçi düyməni basdı, bu
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Sensorun Arduino ilə İstifadəsi: İnfraqırmızı (aka IR) sensoru nədir? İQ sensoru, standartlarla müəyyən edilmiş müəyyən tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). . IR siqnalı
Arduino ilə İnfraqırmızı Radar: 6 addım
Arduino ilə İnfraqırmızı Radar: Bu kiçik layihədə Arduino ilə evdə sadə bir Radar necə yarada biləcəyinizi göstərmək istərdim. İnternetdə oxşar layihələr çoxdur, lakin hamısı məsafəni ölçmək üçün ultrasəs sensoru istifadə edirlər. Bu layihədə bir inf istifadə edirəm
Arduino ilə İnfraqırmızı Ev Avtomatlaşdırması: 5 addım
Arduino ilə İnfraqırmızı Ev Avtomatlaşdırması: ARDUINO HOME AUTOMATION Ev avtomatlaşdırılması, sadəcə olaraq əllə etdiyiniz şeyi avtomatik olaraq sizin üçün etmək deməkdir. Normalda açarı çevirmək üçün ayağa qalxacaqsınız, əgər pultu basa bilsəniz və işığınız avtomatik gəlsə
Arduino ilə İnfraqırmızı Matrix Şifrə Giriş Sistemi: 13 addım
Arduino ilə İnfraqırmızı Matrix Şifrə Giriş Sistemi: ICStation komandası sizə ICStation Uyğun İdarəetmə Arduino lövhəsinə əsaslanan İnfraqırmızı Matrix Şifrə Giriş Sistemini təqdim edir. DC 5v enerji təchizatı altında işləyir və parol daxil etmək üçün 4 *4 Matrix Klaviatura və ya infraqırmızı uzaqdan idarə etmədən istifadə edir və bizə