//@@@@@@@@@@@@@@@@@@@@@
// Kaue Medeiros e Helinton Cordeiro
// https://api.thingspeak.com/update?api_key=AVVVVLC9SG8H257D&field1=0
// Channel ID https://wokwi.com/projects/400351891039913985
//@@@@@@@@@@@@@@@@@@@
#include <ThingSpeak.h>
#include <WiFi.h>
#include <LiquidCrystal_I2C.h>
// Define o endereço I2C do display LCD
#define I2C_ADDR 0x27
int LED = 2;
// Inicializa o objeto do display LCD
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2); // 16 colunas e 2 linhas
WiFiClient client;
unsigned long ChannelID = 2568646;
const char *ReadAPIKey = "PACAWM3H216JCBIL";
const int FieldNumber1 = 1;
int A;
void setup()
{
pinMode(LED, OUTPUT);
lcd.init();
lcd.backlight();
// Exibe uma mensagem inicial
lcd.setCursor(0, 0);
lcd.print("Intensidade");
Serial.begin(115200);
Serial.println();
WiFi.begin("Wokwi-GUEST", ""); // write wifi name & password
Serial.print("Conectando");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Conectado, Endereço IP: ");
Serial.println(WiFi.localIP());
ThingSpeak.begin(client);
}
void loop()
{
// Lê o valor do ThingSpeak
A = ThingSpeak.readLongField(ChannelID, FieldNumber1, ReadAPIKey);
Serial.println(A);
analogWrite(2,A);
// Limpa apenas a linha 1
lcd.setCursor(0, 1);
lcd.print(" "); // 16 espaços em branco para limpar a linha
// Atualiza o display LCD com o valor lido
lcd.setCursor(0, 1);
lcd.print("Valor: ");
lcd.print(A); // Exibe o valor como um número inteiro
// Configura a saída PWM no pino 2 com o valor lido
ledcWrite(0, A); // Canal 0, valor de PWM A (0-255)
delay(5000);
}