//define Detail Blynk
#define BLYNK_TEMPLATE_ID "TMPL64wvBpVpl"
#define BLYNK_TEMPLATE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "q5xJQIZ9AygmepHgD5nhYNjY82xKB7R4"
#define BLYNK_PRINT Serial
//Anggap Ja Motor DC di trainer (3 pin)
#define EN 2 //pin Enable
#define MP1 15 //Motor Pin 1
#define MP2 4 //Motor Pin 2
//Library
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h> //Install dulu di Arduino IDE
//Wifi Detail
char ssid[] = "Wokwi-GUEST"; //ssid Wifi
char pass[] = ""; //password Wifi
//Integer Tambahan//wajibakan
int SPEED = 0; // Nilai kecepatan motor (0 - 255)
//Integer
//Blynk Control
BLYNK_CONNECTED(){
//kode yang dijalankan apabila Blynk Terkoneksi
//Kd Penting
Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png");
Blynk.setProperty(V3, "onImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png");
Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made");
}
BLYNK_WRITE(V0) {
//Blynk Daystream Virtual pin 0
//Button
digitalWrite(EN, param.asInt()); // On/off motor
Serial.print("Motor ");
Serial.println(param.asInt());
}
BLYNK_WRITE(V1) {
//Blynk Daystream Virtual pin 1
//Slider 0 - 255
SPEED = param.asInt();
Serial.print("Speed ");
Serial.println(param.asInt());
}
BLYNK_WRITE(V2) {
//Blynk Daystream Virtual pin 2
//Slider 0 - 1
if (digitalRead(param.asInt()) == HIGH){
digitalWrite(MP1, HIGH);
digitalWrite(MP2, LOW);
} else {
digitalWrite(MP2, HIGH);
digitalWrite(MP1, LOW);
}
}
//Blynk Control
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
//Menghubungkan Blynk dan Wifi
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 8080);
//PinMode
pinMode(EN, OUTPUT);
pinMode(MP1, OUTPUT);
pinMode(MP2, OUTPUT);
//PinMode
}
void loop() {
// put your main code here, to run repeatedly:
Blynk.run(); //Menjalankan Blynk
//Atur Kecepatan Motor menggunakan PWM
analogWrite(EN, SPEED);
}