Arduino UNO R4 - Sensor de Temperatura - OLED

Neste guia, vamos aprender a programar um Arduino UNO R4 para ler a temperatura de um sensor DS18B20 e mostrá-la em uma tela OLED.

Arduino UNO R4 com sensor de temperatura DS18B20 e OLED

Hardware Necessário

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternatively, DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
1×Alternatively, DIYables STEM V4B IoT, Compatible with Arduino Uno R4 WiFi
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Display OLED I2C SSD1306 128x64
1×Display OLED I2C SSD1306 128x32
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×Protoboard
1×Fios Jumper
1×(Recomendado) Shield com Bornes de Parafuso para Arduino Uno R4
1×(Recomendado) Sensors/Servo Expansion Shield for Arduino UNO R4
1×(Recomendado) Shield de Protoboard para Arduino Uno R4
1×(Recomendado) Case para Arduino Uno R4
1×(Recomendado) Divisor de Alimentação para Arduino Uno R4
1×(Recomendado) Placa Base de Prototipagem e Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables STEM V4B IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Buy Note: If you want a bigger OLED display, use the 2.42 inch OLED Display 128x64 .

Arduino Uno R4 WiFi Compatible Boards

Sobre o OLED e o Sensor de Temperatura DS18B20

Saiba mais sobre o OLED e o sensor de temperatura DS18B20 (incluindo pinagem, funcionamento e programação) nestes tutoriais:

Diagrama de Ligação

Diagrama de ligação do Arduino UNO R4 com sensor de temperatura DS18B20 e OLED

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

Recomendamos comprar um sensor DS18B20 com adaptador de ligação para uma montagem simples. O adaptador inclui um resistor, então você não precisa de outro na ligação.

Código Arduino UNO R4 - Temperatura do Sensor DS18B20 Exibida no OLED

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-temperature-sensor-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <OneWire.h> #include <DallasTemperature.h> #define OLED_WIDTH 128 // OLED display width, in pixels #define OLED_HEIGHT 64 // OLED display height, in pixels #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to DS18B20 sensor Adafruit_SSD1306 oled(OLED_WIDTH, OLED_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library String temperature_str; void setup() { Serial.begin(9600); // initialize OLED display with address 0x3C for 128x64 if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait for initializing oled.clearDisplay(); // clear display oled.setTextSize(2); // text size oled.setTextColor(WHITE); // text color oled.setCursor(0, 10); // position to display DS18B20.begin(); // initialize the sensor temperature_str.reserve(10); // to avoid fragmenting memory when using String } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius temperature_str = String(temperature_C, 2); // two decimal places temperature_str += char(247) + String("C"); Serial.println(temperature_str); // print the temperature in Celsius to Serial Monitor oled_display_center(temperature_str); } void oled_display_center(String text) { int16_t x1; int16_t y1; uint16_t width; uint16_t height; oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height); // center the display both horizontally and vertically oled.clearDisplay(); // clear display oled.setCursor((OLED_WIDTH - width) / 2, (OLED_HEIGHT - height) / 2); oled.println(text); // text to display oled.display(); }

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
  • Conecte o OLED e o sensor de temperatura à placa Arduino Uno R4 de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Clique no ícone Libraries no lado esquerdo da Arduino IDE.
  • Digite “SSD1306” na caixa de pesquisa e procure a biblioteca SSD1306 da Adafruit.
  • Pressione o botão “Install” para adicionar a biblioteca.
Biblioteca OLED do Arduino UNO R4
  • Você precisará instalar algumas bibliotecas adicionais
  • Clique no botão Install All para instalar todas as bibliotecas necessárias.
Biblioteca Adafruit GFX do Arduino UNO R4
  • Digite "DallasTemperature" na caixa de pesquisa e procure a biblioteca DallasTemperature de Miles Burton.
  • Pressione o botão Install para instalar a biblioteca DallasTemperature.
Biblioteca Dallas Temperature do Arduino UNO R4
  • Você precisa instalar a dependência da biblioteca.
  • Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca OneWire do Arduino UNO R4
  • Copie o código acima e abra-o na Arduino IDE
  • Pressione o botão Upload na Arduino IDE para transferir o código para o Arduino UNO R4
  • Coloque o sensor em água quente ou fria, ou segure-o na mão
  • Confira os resultados no display OLED

※ Nota:

O código centraliza automaticamente o texto na horizontal e na vertical no display OLED.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!