Агуулгын хүснэгт:

ESP8266: 6 алхамтай хэт улаан туяаны мэдрэгч
ESP8266: 6 алхамтай хэт улаан туяаны мэдрэгч
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Энэ удаад бидний зорилго бол бидний мэдрэгч рүү чиглэсэн аливаа объектын орчны температурыг унших програмыг бий болгох явдал юм. Үүнийг хийхийн тулд бид энэ төсөлд температурын өгөгдлийг харуулах ESP8266 nodeMCU, MLX90614 хэт улаан туяаны мэдрэгч, OLED 96 дэлгэцийг ашиглах болно.

Алхам 1: WiFi ESP8266 NodeMcu ESP-12E

Алхам 2: Хэт улаан туяаны мэдрэгч

Хэт улаан туяаны мэдрэгч
Хэт улаан туяаны мэдрэгч

Энэхүү тохиргоонд ашигладаг MLX90614 хэт улаан туяаны мэдрэгч нь үнэндээ нэг төрлийн камер юм. Энэ нь дижитал камертай ижил төстэй систем болох CCD (Charged Coupled Device) ашиглан зураг авдаг. Тиймээс объектоос гарч буй хэт улаан туяаны хэмжээг бүртгэж, энэ хэмжээгээр температурыг тооцдог. Энэ нь маш нарийн юм.

Алхам 3: OLED дэлгэц

OLED дэлгэц
OLED дэлгэц

Алхам 4: угсрах

Чуулган
Чуулган

Энэ бол маш энгийн схем юм. Надад дүрслэхэд хялбар хүснэгт байна.

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

Алхам 5: Номын сан

Номын сан
Номын сан
Номын сан
Номын сан

OLED дэлгэцийг ашиглахын тулд дараах "Adafruit-GFX-Library-master-library" номын санг нэмнэ үү.

Зүгээр л "Ноорог >> Номын санг оруулах >> Номын санг удирдах …" хэсэгт очно уу.

Мөн дараах "Adafruit Unified Sensor" номын санг нэмж оруулаарай.

Номын сангийн татаж авах линкийг PDF дээр байгаа бөгөөд үүнийг доороос авах боломжтой.

Алхам 6: Эх код

Бид кодынхоо явцад ашиглах номын сан болон тогтмолуудыг тодорхойлохоос эхэлнэ.

#оруулах // Biblioteca para I2C #include // Biblioteca para comunicação com o sensor #include // Biblioteca para propriedades gráficas #include // Biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCu ESP8lk6 #DSP726 #тодорхойлох cs D8 #тодорхойлох эхний D3 #тодорхойлох dc D4 // тодорхойлолт das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF // definção da coordenada on escreveremos cada um dos dados #OFEFine_Pef_FO_FOFFO_FO_FO_FO_FOF 2 #тодорхойлох POS_Y_OBJETO 55 #тодорхойлох POS_X_TITULO 10 #тодорхойлох POS_Y_TITULO 4 // конструктор нь objeto para comunicar com o display OLED Adafruit_SSD1331 дэлгэц = Adafruit_SSD1331 (cs, dc, rosi, sci; // хариулт өгөх боломжтой comunicação com мэдрэгч infravermelho IRTherm мэдрэгч; // variáveis que armazenarão o valor das temperaturas lidas floas tempAmbiente; float tempObjeto;

Тохируулах

Setup () функц дээр бид мэдрэгчтэй харилцах объектоо, мөн дэлгэцтэй харилцах объектыг эхлүүлэх болно. Тэд тус бүрт зориулсан зарим тохиргоог энд оруулав.

void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em Цельсийн sensor.setUnit (TEMP_C); // pinta a tela toda de preto display.fillScreen (BLACK); // тохиргоог хийх эсвэл дэлгэцийн дэлгэц дээр харуулах.setTextSize (0); // дэлгэцийн тохиргоог хийх.setTextColor (ЦАГААН); // os comandos abaixo posicionam o cursor no (x, y) товчлуурыг дэлгэц дээр харуулах.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}

Гогцоо

Loop () функц дээр мэдрэгчийн өгөгдлийг уншиж, дараа нь OLED дэлгэц дээр харуулцгаая.

// chamamos o método "унших" мэдрэгч эсвэл температурын горимыг уншина уу // унших, унших, унших, унших, хэрэв та (sensor.read ()) {// эргэн тойрны температурыг орчны температурт тохируулахыг хүсч байвал уншина уу. = мэдрэгч.амбиент (); // recupera a leitura da temperatura do objeto apontado pelo sensor tempObjeto = sensor.object (); // limpa a área onde colocamos o valor da temperatura to ambiente e do objeto display.fillRect (POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, BLACK); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, BLACK); // posiciona o cursor e escreve a temperatura ambiente display.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); дэлгэц.хэвлэх (tempAmbiente); дэлгэц.хэвлэх ((char) 247); // simbolo de graus // posiciona o cursor e escreve a temperatura do objeto que o sensor está apontando display.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); дэлгэц.хэвлэх (tempObjeto); дэлгэц.хэвлэх ((char) 247); // simbolo de graus} саатал (1000); // интервалыг 1 -р бүлэгт зориулан}

Зөвлөмж болгож буй: