#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// #define BTN_PIN 5
#define TFT_DC 39
#define TFT_CS 34
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// const String url = "https://v2.jokeapi.dev/joke/Programming";
// String getJoke() {
// HTTPClient http;
// http.useHTTP10(true);
// http.begin(url);
// http.GET();
// String result = http.getString();
// DynamicJsonDocument doc(2048);
// DeserializationError error = deserializeJson(doc, result);
// // Test if parsing succeeds.
// if (error) {
// Serial.print("deserializeJson() failed: ");
// Serial.println(error.c_str());
// return "<error>";
// }
// String type = doc["type"].as<String>();
// String joke = doc["joke"].as<String>();
// String setup = doc["setup"].as<String>();
// String delivery = doc["delivery"].as<String>();
// http.end();
// return type.equals("single") ? joke : setup + " " + delivery;
// }
// void nextJoke() {
// tft.setTextColor(ILI9341_WHITE);
// tft.println("\nLoading joke...");
// String joke = getJoke();
// tft.setTextColor(ILI9341_GREEN);
// tft.println(joke);
// }
// end of TFT setup
#define LDR_PIN 4
#define RELAY_PIN 3
#define LED_PIN 2
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-S2!");
pinMode(LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(LDR_PIN, INPUT);
// TFT
WiFi.begin(ssid, password, 6);
tft.begin();
tft.setRotation(1);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
tft.print(".");
}
tft.print("\nOK! IP=");
tft.println(WiFi.localIP());
// nextJoke();
// end of TFT
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_PIN, HIGH);
Serial.println(digitalRead(LED_PIN));
delay(200);
digitalWrite(LED_PIN, LOW);
Serial.println(digitalRead(LED_PIN));
delay(200);
// relay : active is high
// digitalWrite(RELAY_PIN, HIGH);
// LDR sensor
if (digitalRead(LDR_PIN) == LOW) {
Serial.println("Light!");
}
// else {
// Serial.println("Dark");
// }
//TFT
// if (digitalRead(LED_PIN) == 0) {
// tft.fillScreen(ILI9341_BLACK);
// tft.setCursor(0, 0);
// // nextJoke();
// HTTPClient http;
// http.useHTTP10(true);
// http.begin(url);
// http.GET();
// String result = http.getString();
// DynamicJsonDocument doc(2048);
// DeserializationError error = deserializeJson(doc, result);
// // Test if parsing succeeds.
// if (error) {
// Serial.print("deserializeJson() failed: ");
// Serial.println(error.c_str());
// // return "<error>";
// }
// String type = doc["type"].as<String>();
// String joke = doc["joke"].as<String>();
// String setup = doc["setup"].as<String>();
// String delivery = doc["delivery"].as<String>();
// http.end();
// tft.setTextColor(ILI9341_GREEN);
// tft.println(joke);
// // return type.equals("single") ? joke : setup + " " + delivery;
// }
delay(200);
}