const int Sen = 15; // Pino GPIO onde o fio de dados do sensor está conectado
const int LEDVERMELHO = 13; // Pino GPIO onde o LED vermelho está conectado
const int LEDAMARELO = 12; // Pino GPIO onde o LED amarelo está conectado
//usar o map "int temp = map (sen, 4095, 0, 0, 400)"
void setup() {
Serial.begin(115200);
pinMode(LEDVERMELHO, OUTPUT); // Configura o pino do LED vermelho como saída
pinMode(LEDAMARELO, OUTPUT); // Configura o pino do LED amarelo como saída
pinMode(Sen, INPUT); //configura o pin 34 para entrada de dados
}
void loop() {
int Sensor = 0;
Sensor = analogRead (Sen);
int Temperatura = map(Sensor, 4095, 0, 0, 400);
Serial.print("Temperatura: ");
Serial.print(Temperatura);
Serial.println("°C");
if (Temperatura > 126) {
digitalWrite(LEDVERMELHO, HIGH); // Liga o LED vermelho
digitalWrite(LEDAMARELO, LOW); // Desliga o LED amarelo
} else if (Temperatura > 100 && Temperatura <= 125) {
digitalWrite(LEDVERMELHO, LOW); // Desliga o LED vermelho
digitalWrite(LEDAMARELO, HIGH); // Liga o LED amarelo
} else if (Temperatura < 100) {
digitalWrite(LEDVERMELHO, LOW); // Desliga o LED vermelho
digitalWrite(LEDAMARELO, LOW); // Desliga o LED amarelo
} else {
Serial.println("Erro ao ler a temperatura!");
}
delay(1000); // Aguarda 1 segundo antes de fazer a próxima leitura
}
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// Configuração do sensor DS18B20
#define ONE_WIRE_BUS 4 // Pino onde o sensor DS18B20 está conectado
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
// Configuração do display OLED
#define SCREEN_WIDTH 128 // Largura do display OLED
#define SCREEN_HEIGHT 32 // Altura do display OLED
#define OLED_RESET -1 // Nenhum reset do display é necessário
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
// Inicializa o sensor DS18B20
sensors.begin();
// Inicializa o display OLED
if(!display.begin(SSD1306_I2C_ADDRESS, OLED_RESET)) {
Serial.println(F("Erro ao inicializar o display OLED"));
while(true);
}
// Limpa o buffer do display
display.clearDisplay();
display.display();
}
void loop() {
// Faz a leitura da temperatura do sensor DS18B20
sensors.requestTemperatures();
float temperatura = sensors.getTempCByIndex(0);
// Limpa o display
display.clearDisplay();
// Define tamanho e fonte do texto
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
// Exibe a temperatura no display
display.setCursor(0,0);
display.print(F("Temperatura: "));
display.print(temperatura);
display.print(F(" C"));
// Atualiza o display
display.display();
// Aguarda um curto período para não atualizar constantemente
delay(2000);
}
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço I2C 0x27, 16 colunas e 2 linhas
void setup() {
lcd.init(); // Inicialize o display
lcd.backlight(); // Ligue a iluminação de fundo (se disponível)
lcd.setCursor(0, 0); // Defina a posição do cursor
lcd.print("Hello, World!"); // Escreva no display
}
void loop() {
// Seu código aqui
}
Certifique-se de ajustar o endereço I2C (0x27 neste exemplo) de acordo com o endereço do seu próprio display LCD.
Carregue o Código no ESP32:
Conecte o ESP32 ao computador, abra o Arduino IDE, selecione a placa ESP32 e a porta correta e carregue o código no ESP32.
Com essas etapas concluídas, o display LCD 16x2 deve funcionar com o ESP32 e exibir o texto que você especificou em seu código. Você pode personalizar a exibição e adicionar mais funcionalidades conforme necessário para o seu projeto.
User
qual pino é o v5 no esp32
ChatGPT
No ESP32, o pino que fornece uma tensão de 5V é o pino "VIN" ou "5V". No entanto, é importante observar que a maioria dos pinos do ESP32 fornece uma tensão de 3.3V, não de 5V. O pino "VIN" (ou "5V") é uma entrada de tensão que permite alimentar o ESP32 com uma tensão de 5V, mas isso não significa que todos os pinos do ESP32 fornecem 5V.
Portanto, se você precisa de uma saída de 5V a partir do ESP32 para alimentar um dispositivo externo, normalmente é necessário usar um regulador de tensão externo para convertê-la a partir da tensão de alimentação principal de 3.3V ou fornecer uma fonte de alimentação separada de 5V.
Certifique-se de consultar o datasheet do seu módulo ESP32 ou esquema elétrico específico para determinar exatamente quais pinos estão relacionados à tensão de 5V, pois isso pode variar dependendo do módulo ou placa específicos que você está usando.
Loading
ds18b20
ds18b20