Inhoudsopgave:
- Stap 1: WiFi ESP8266 NodeMcu ESP-12E
- Stap 2: Infraroodsensor
- Stap 3: OLED weergeven
- Stap 4: Montage
- Stap 5: Bibliotheken
- Stap 6: Broncode
Video: Infraroodsensor met ESP8266 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ons doel deze keer is om een programma te maken dat de omgevingstemperatuur leest van elk object dat naar onze sensor wijst. Om dit te doen, zullen we in dit project een ESP8266-nodeMCU, een MLX90614-infraroodsensor en een OLED 96-inch display gebruiken, dat de temperatuurgegevens zal weergeven.
Stap 1: WiFi ESP8266 NodeMcu ESP-12E
Stap 2: Infraroodsensor
De infraroodsensor MLX90614 die in deze opstelling wordt gebruikt, is eigenlijk een soort camcorder. Het legt beelden vast via de CCD (Charged Coupled Device), een systeem dat erg lijkt op het systeem dat wordt gebruikt in digitale camera's. Het registreert dus de hoeveelheid infrarood die uit het object komt en berekent met deze hoeveelheid de temperatuur. Het is heel precies.
Stap 3: OLED weergeven
Stap 4: Montage
Dit is een heel eenvoudig schema. Ik heb hier een tabel die een gemakkelijke visualisatie mogelijk maakt.
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
Stap 5: Bibliotheken
Om het OLED-scherm te gebruiken, voegt u de volgende "Adafruit-GFX-Library-master"-bibliotheek toe.
Ga gewoon naar "Schets >> Bibliotheken opnemen >> Bibliotheken beheren …"
Voeg ook de volgende "Adafruit Unified Sensor"-bibliotheek toe.
De downloadlinks voor de bibliotheken staan in de PDF, die hieronder beschikbaar is.
Stap 6: Broncode
We beginnen met het definiëren van de bibliotheken en constanten die we tijdens onze code zullen gebruiken.
#include //Biblioteca para I2C#include //Biblioteca para comunicação com o sensor #include //Biblioteca para propriedades graficas #include //Biblioteca para comunicação com dipsplay OLED // pinagem para o #defineMCU ESP8266 #defineMCU ESP8266 #define cs D8 #define rst D3 #define dc D4 // definiço das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF //definição da coordenada onde escreveremos cada um dos dados #define POS_AM_AM #define POS_AM_AM_AM_define POS_AM_X_AM_define WHITE 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // construtor voor communicatie voor het weergeven van OLED Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, mosi, sclk, rst); //objeto responsavel pela comunicação com o sensor infravermelho IRTherm-sensor; //variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; float tempObjeto;
Opstelling
In de setup ()-functie zullen we ons communicatieobject met de sensor initialiseren, evenals het object van communicatie met het display. Hier zijn enkele instellingen voor elk van hen.
void setup() {//Inicializa sensor de temperatuur infravermelho sensor.begin(); //Seleciona temperatuur em Celsius sensor.setUnit (TEMP_C);//podemos ainda utilizar TEMP_F para Fahrenheit //ou TEMP_K para Kelvin //inicializa o objeto para comunicarmos com o display OLED-display.begin (); //pinta a toda de preto display.fillScreen (ZWART); //configura of tamnaho do texto que escreveremos em tela display.setTextSize (0); // configureer een cor branca voor tekstdisplay.setTextColor (WHITE); //os comandos abaixo posicionam of cursor no (x, y) desejado para a seguir escrevermos em tela display.setCursor (POS_X_TITULO, POS_Y_TITULO); display.print("TEMPERATUUR"); display.setCursor(POS_X_TITULO+20, POS_Y_TITULO+15); display.print("("); display.print((char)247); //symbool van 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}
Lus
Laten we in de loop ()-functie de sensorgegevens lezen en deze vervolgens op het OLED-display weergeven.
//chamamos o método "read" do sensor para realizar een leitura da temperatura//read retornará 1 caso consiga realizar a leitura, ou 0 caso contrário if (sensor.read ()) { // recupera een leitura da temperatura do ambiente tempAmbiente = sensor.omgeving(); //recuperatie van de temperatuur van de sensor tempObjeto = sensor.object(); //limpa a área onde colocamos o valor da temperatura do ambiente en objeto display.fillRect(POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, BLACK); display.fillRect(POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, ZWART); //posiciona o cursor e escreve een temperatuur ambiente display.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print(tempAmbiente); display.print((char)247); //simbolo de graus //posiciona of cursor en escreve a temperatura do objeto que of sensor está apontando display.setCursor(POS_X_OBJETO+35, POS_Y_OBJETO); display.print(tempObjeto); display.print((char)247); //simbolo de graus} vertraging (1000); //interval van 1 segundo para a proxima leitura }
Aanbevolen:
Infraroodsensor gebruiken met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Infraroodsensor gebruiken met Arduino: wat is een infraroodsensor (ook bekend als IR-sensor? Een IR-sensor is een elektronisch instrument dat IR-signalen scant in specifieke frequentiebereiken die zijn gedefinieerd door normen en deze omzet in elektrische signalen op de uitgangspin (meestal signaalpin genoemd) . Het IR-signaal
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Beginnersgids voor ESP8266 en tweeten met ESP8266: 17 stappen (met afbeeldingen)
Beginnersgids voor ESP8266 en tweeten met ESP8266: ik leerde over Arduino 2 jaar geleden. Dus begon ik te spelen met eenvoudige dingen zoals LED's, knoppen, motoren enz. Toen dacht ik dat het niet cool zou zijn om verbinding te maken om dingen te doen zoals het weergeven van de het weer van de dag, aandelenkoersen, treintijden op een LCD-scherm. Ik