Мазмұны:

ESP8266 бар инфрақызыл сенсор: 6 қадам
ESP8266 бар инфрақызыл сенсор: 6 қадам

Бейне: ESP8266 бар инфрақызыл сенсор: 6 қадам

Бейне: ESP8266 бар инфрақызыл сенсор: 6 қадам
Бейне: Full Control of DC Motor with ESP8266 NodeMCU D1 Mini over WiFi 2024, Маусым
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 (зарядталған қосылатын құрылғы) арқылы түсіреді, бұл жүйе әлі де цифрлық камераларда қолданылатынға ұқсас. Осылайша, ол объектіден шығатын инфрақызыл мөлшерін жазады және осы мөлшермен ол температураны есептейді. Бұл өте дәл.

3 -қадам: OLED дисплейі

OLED дисплейі
OLED дисплейі

4 -қадам: құрастыру

Ассамблея
Ассамблея

Бұл өте қарапайым схема. Менде кестені оңай көруге мүмкіндік береді.

ESP8266 - OLEDD5 - SCL

D7 - SDA

D3 - ЖЭК

D4 - тұрақты ток

D8 - CS

3, 3в - VCC

GND - GND

MLX90614

D1 - SCL

D2 - SDA

3, 3в - VCC

GND - GND

5 -қадам: Кітапханалар

Кітапханалар
Кітапханалар
Кітапханалар
Кітапханалар

OLED дисплейін пайдалану үшін келесі «Adafruit-GFX-Library-master» кітапханасын қосыңыз.

«Эскиз >> кітапханаларды қосу >> кітапханаларды басқару …» бөліміне кіріңіз.

Сонымен қатар келесі «Adafruit Unified Sensor» кітапханасын қосыңыз.

Кітапханаларға жүктеу сілтемелері PDF форматында, төменде қол жетімді.

6 -қадам: бастапқы код

Біз кодты қолданатын кітапханалар мен тұрақтыларды анықтаудан бастаймыз.

#қосу // Biblioteca para I2C #қамтиды // сенсор #комбинацияға арналған библиотека #include // biblioteca for propriedades gráficas #include // biblioteca comunicação com dipsplay OLED // pinode a o NodeMCu ESP8lk6 DSP8266 # #анықтаңыз c8 D8 #анықтаңыз бірінші D3 #анықтаңыз d4 D4 анықтаңыз // анықтаңыз БҰРАҚ 0x0000 #ақты анықтау 0xFFFF // анықтаманы анықтаңыз 2 #анықтау POS_Y_OBJETO 55 #анықтау POS_X_TITULO 10 #анықтау POS_Y_TITULO 4 // конструктор OLED Adafruit_SSD1331 дисплейі = Adafruit_SSD1331 (cs, dc, rsi, sci; sci; // IRTherm датчигі инфрақұрылымға жауап беру үшін жауап береді; // өзгермелі жылдамдық температурасы өзгермелі; float tempObjeto;

Орнату

Setup () функциясында біз сенсормен байланыс объектісін, сондай -ақ дисплеймен байланыс объектісін инициализациялаймыз. Мұнда олардың әрқайсысы үшін бірнеше параметрлер бар.

void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C); // Фаренгейт үшін TEMP_F пайдалану // TEMP_K үшін Келвин // OLED дисплейінің дисплейі.begin (); // pinta a tela toda de preto display.fillScreen (BLACK); // конфигурациялау мәтіндік дисплейде дисплей.setTextSize (0); // display.setTextColor (WHITE) мәтіндік конфигурациясы; // osai comandos abaixo posicionam немесе меңзер жоқ (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}

Цикл

Цикл () функциясында сенсор мәліметтерін оқып, содан кейін оларды OLED дисплейінде көрсетейік.

// сенсорлық режимде сенсорды «оқыңыз» // оқыңыз, егер сіз (сенсор.оқу ()) {// оқуды қайталауды үйренсеңіз, {// оқыңыз = sensor.ambient (); // температура мен температура сенсоры tempObjeto = sensor.object (); // limpa a área onde colocamos o valor da temperatura to amjete to 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); display.print (tempAmbiente); display.print ((char) 247); // символдық курсор // сенсорлық дисплейде температураны жоғарылату. display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} кешігу (1000); // 1 -ші сегменттен кейінгі уақытқа дейін}

Ұсынылған: