Мазмуну:
- 1-кадам: WiFi ESP8266 NodeMcu ESP-12E
- 2 -кадам: Infrared сенсор
- 3 -кадам: OLEDди көрсөтүү
- 4 -кадам: Ассамблея
- 5 -кадам: Китепканалар
- 6 -кадам: Булак коду
Video: Infrared сенсор ESP8266 менен: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул жолу биздин максатыбыз - сенсорубузду караган ар кандай нерсенин чөйрөсүнүн температурасын окуй турган программа түзүү. Бул үчүн биз бул долбоордо ESP8266 nodeMCU, MLX90614 инфракызыл сенсорун жана OLED 96 дисплейин колдонобуз, ал температура маалыматын көрсөтөт.
1-кадам: WiFi ESP8266 NodeMcu ESP-12E
2 -кадам: Infrared сенсор
Бул орнотууда колдонулган MLX90614 инфракызыл сенсор чындыгында видеокамеранын бир түрү. Сүрөттөрдү CCD (Заряддалган кошулган түзмөк) аркылуу түшүрөт, бул дагы санарип камераларда колдонулган системага абдан окшош. Ошентип, ал объекттен чыккан инфракызылдын көлөмүн жазат жана бул сумма менен температураны эсептейт. Бул абдан так.
3 -кадам: 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" китепканасын кошуңуз.
Жөн гана "Эскиз >> Китепканаларды кошуу >> Китепканаларды башкаруу…" кирүү
Ошондой эле, төмөнкү "Adafruit Unified Sensor" китепканасын кошуңуз.
Китепканалар үчүн жүктөө шилтемелери PDFте, төмөндө жеткиликтүү.
6 -кадам: Булак коду
Биз кодубуз учурунда колдонула турган китепканаларды жана константаларды аныктоодон баштайбыз.
#кошуу // Biblioteca para I2C #камтыйт // камтыйт // Biblioteca comunicação com o sensor #include // Biblioteca for propriedades gráficas #include // Biblioteca comunicação com dipsplay OLED // pinagem para o NodeMCu ESP8lk6 DSP8266 # #desfine cs D8 #define rst D3 #define dc D4 // definição das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF // definção da coordenada on escreveremos cada um dos dados #FOFIFFinOFEFine_Pef_OFEFine_Pef_OfFin_OfFin_OfFin_OfFin_OnFine 2 #аныктоо POS_Y_OBJETO 55 #аныктоо POS_X_TITULO 10 #аныктоо POS_Y_TITULO 4 // конструктор OLED Adafruit_SSD1331 дисплей = Adafruit_SSD1331 (cs, dc, rosi, sci; // IRTherm сенсорунун информациясына жооп берүү; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; float tempObjeto;
Жайгашуу
Setup () функциясында биз сенсор менен байланыш объектибизди, ошондой эле дисплей менен байланыш объектисин баштайбыз. Бул жерде алардын ар бири үчүн кээ бир орнотуулар бар.
void setup () {// Inicializa sensor de temperatura infravermelho sensor.begin (); // Celsius sensor.setUnit (TEMP_C); // pinta a tela toda де preto display.fillScreen (КАРА); // конфигурациялоо үчүн дисктин дисплейине жазуу керек.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
Loop () функциясында сенсордун маалыматын окуп, анан OLED дисплейинде көрсөтөлү.
// сенсорлорду "окугула", сенсорлорду же температураны колдонуңуз // окуп чыгыңыз, эгерде сиз өзүңүздү карасаңыз, анда (sensor.read ()) {// recupera a leitura da temperatura ambiente tempAmbiente = sensor.ambient (); // температура жана темпратура боюнча сенсор tempObjeto = sensor.object (); // Limpa a area onde colocamos on valor da temperatura do do dispecte 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.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} кечигүү (1000); // интервалдын 1 -пункту
Сунушталууда:
Күн энергиясы менен иштөөчү LED токтоочу сенсор: 8 кадам (сүрөттөр менен)
Күн энергиясы менен иштөөчү LED токтоочу сенсор: Биздин гараждын тереңдиги көп эмес жана анын шкафтары бар, андан ары тереңдикти төмөндөтөт. Аялымдын машинасы кыска эле, бирок ал жакын. Мен бул сенсорду унаа токтотуу процессин жөнөкөйлөтүү үчүн жана машинанын толуп жатканын камсыз кылуу үчүн жасадым
DIY сенсордук термометр 2 сенсор менен: 3 кадам (сүрөттөр менен)
DIY сенсордук термометр 2 сенсор менен: Бул долбоор менин мурунку долбоорумдун " DIY кирүү термометрин ". Бул температура өлчөөлөрүн микро SD картага киргизет. Аппараттык өзгөрүүлөр Мен DS18B20 температура сенсорун реалдуу убакыт саатынын модулуна коштум
Ultrasonic сенсор жана фотоцелл менен Bluetooth чычкан: 10 кадам (сүрөттөр менен)
Bluetooth чычкан УЗИ сенсор жана Photocell менен: Ошентип, мен бул долбоорду эмне үчүн бир аз киришүү. Учурда жаңы үйүмө мышык багып алууну көздөп жатам. Анан мышыктар үчүн ойной турган нерселерди кыдырып чыккандан кийин, ойлонуп көрдүм: эмнеге оюнчукту өзүм жасабайм. Ошентип, мен Bluetooth чычкан жасадым. Сиз айта аласыз
SONOFF менен керебеттин бар экендиги боюнча сенсор: 8 кадам (сүрөттөр менен)
SONOFF менен Bed Presence Sensor: Бул үйрөткүчкө кош келиңиз! Эгерде сиз эч качан тасмота менен иштебеген болсоңуз, анда алгач муну үйрөнүшүңүз керек, андан кийин аны сиз гана кура аласыз
IoT иштетилген сенсор маалыматтарды чогултуу борбору ESP8266 жана PubNub менен: 9 кадам (сүрөттөр менен)
IoT иштетилген сенсор маалыматтарды чогултуу борбору ESP8266 жана PubNub менен: ESP8266дагы окуу куралдарынын көбү жаңы башталуучу деңгээлде (алыстан LEDди жымыңдап турат) же өркүндөтүү жана өркүндөтүү үчүн бир нерсе издеп жүргөн адам үчүн өтө татаал. инструктивдүү максаттар бул ажырымды түзүүгө