#include <WiFi.h>
#include <ESP32Servo.h>
const char* ssid = "soc2019";
const char* password = "socka2019";
WiFiServer server(80);
const int potencioPin = 34; // pin pre potenciometer
const int ledPin = 13; // pin pre ledku
const int servoPin = 12; // pin pre servo
Servo myServo;
void setup() {
Serial.begin(9600);
connectToWajFaj(); //pripojí sa na WajFaj
pinMode(ledPin, OUTPUT);
myServo.attach(servoPin);
server.begin();
Serial.println("Server started");
}
void loop() {
int RawHodnota = analogRead(potencioPin);
// Map ciseliek z potenciometra na cieslko pre ledku do 255
int brightness = map(RawHodnota, 0, 4095, 0, 255);
analogWrite(ledPin, brightness);
// Map ciseliek z potenciometra na stupne do 180
int OtocServo = map(RawHodnota, 0, 4095, 0, 180);
myServo.write(OtocServo);
// Map ciseliek z potenciometra na percenta do 100
int percenta = map(RawHodnota, 0, 4095, 0, 100);
Serial.print(RawHodnota);
Serial.print(" | ");
Serial.println(percenta);
WiFiClient client = server.available();
if (client) {
// čaká kým klient nepošle request
while (!client.available()) {
delay(1);
}
// čita prvu linu requestu
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// nastavenie HTTP hlavičky pre informovanie klienta
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 3"); // refrešuje každú sekundu
client.println();
// posiela html kod na stránku, v tomto kóde sú aj hodnoty potenciometra a percenta
client.println("<html><head><meta http-equiv='refresh' content='1'></head><body>");
client.print("<p>Raw Hodnota: ");
client.print(RawHodnota);
client.println("</p>");
client.print("<p>Percentualna Hodnota: ");
client.print(percenta);
client.print("%");
client.println("</p>");
client.println("</body></html>");
// zruší spojenie
delay(1);
client.stop();
Serial.println("Client disconnected");
}
}
//funkcia na vytváranie spojenia s WajFaj
void connectToWajFaj() {
Serial.println("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}