Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- const char* ssid = "nama_access_point_wifi";
- const char* password = "password_access_point_wifi";
- const int PWMELPin = 14; // D5 Enable PWM Left Motor
- const int PWMERPin = 12; // D6 Enable PWM Right Motor
- const int L1Pin = 5; // D1 = Left Motor Lead 1
- const int L2Pin = 4; // D2 = Left Motor Lead 2
- const int L3Pin = 0; // D3 = Right Motor Lead 1
- const int L4Pin = 2; // D4 = Right Motor Lead 2
- const int LEDPin = 13; // D7 Led Pin, digunakan untuk rekayasa 5V pin
- WiFiServer server(80); //inisiasi wifi server pada port 80 (standar http)
- void setup() {
- /*
- * enable pin sebagai output
- */
- pinMode(PWMELPin, OUTPUT);
- pinMode(PWMERPin, OUTPUT);
- pinMode(L1Pin, OUTPUT);
- pinMode(L2Pin, OUTPUT);
- pinMode(L3Pin, OUTPUT);
- pinMode(L4Pin, OUTPUT);
- pinMode(LEDPin, OUTPUT);
- //Setup Serial dengan baud rate 115200 (default node mcu)
- Serial.begin(115200);
- //delay 10 milisecond
- delay(10);
- //koneksi ke wifi dengan nama akses point dan password yang telah ditentukan
- WiFi.begin(ssid, password);
- /*
- * Loading indicator ketika wifi masih belum terkoneksi
- * dengan delay 500 milisecond
- */
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- /*
- * Wifi sudah terkoneksi
- */
- Serial.println("");
- Serial.println("WiFi connected");
- /*
- * Nyalakan layanan wifi server
- */
- server.begin();
- Serial.println("Server started");
- // Print IP Address, ip address ini digunakan untuk aplikasi android
- Serial.println(WiFi.localIP());
- //matikan semua motor
- stopMotor();
- //set LEDPin agar selalu pada kondisi high sehingga dapat menyediakan tegangan 5V pada pin tersebut
- digitalWrite(LEDPin, HIGH);
- }
- void loop()
- {
- /*
- * Tunggu sampai ada client yang terkoneksi
- */
- WiFiClient client = server.available();
- if (!client) {
- return;
- }
- /*
- * Tunggu sampai ada client yang mengirimkan data
- */
- while(!client.available()){
- delay(1);
- }
- /*
- * Baca request data yang masuk sebanyak satu baris
- */
- String req = client.readStringUntil('\r');
- client.flush();
- /*
- * Pengecekan request data
- */
- if (req.indexOf("/maju/0") != -1) {
- MotorL(1, 1);
- MotorR(1, 1);
- Serial.println("maju");
- } else if (req.indexOf("/maju/1") != -1) {
- stopMotor();
- Serial.println("stop maju");
- } else if (req.indexOf("/mundur/0") != -1) {
- MotorL(0, 1);
- MotorR(0, 1);
- Serial.println("mundur");
- } else if (req.indexOf("/mundur/1") != -1) {
- stopMotor();
- Serial.println("stop mundur");
- } else if (req.indexOf("/kanan/0") != -1) {
- Serial.println("kanan");
- MotorL(1, 1);
- MotorR(0, 1);
- } else if (req.indexOf("/kanan/1") != -1) {
- stopMotor();
- Serial.println("stop kanan");
- } else if (req.indexOf("/kiri/0") != -1) {
- MotorL(0, 1);
- MotorR(1, 1);
- Serial.println("kiri");
- } else if (req.indexOf("/kiri/1") != -1) {
- stopMotor();
- Serial.println("stop kiri");
- } else {
- client.stop();
- return;
- }
- client.flush();
- }
- /*
- * Stop semua motor
- */
- void stopMotor() {
- digitalWrite(L1Pin, LOW);
- digitalWrite(L2Pin, LOW);
- digitalWrite(L3Pin, LOW);
- digitalWrite(L4Pin, LOW);
- }
- /*
- * Fungsi Gerak Motor Ke Sebelah Kiri
- * Parameter:
- * - Direction = Arah Gerakan (1 Maju, 0 Mundur)
- * - Speed = Kecepatan Gerakan (1 Cepat, 0 Lambat)
- */
- void MotorL(int Direction, int Speed)
- {
- // Left Motor
- if (Speed == 1)
- {
- analogWrite(PWMELPin, 250);
- }
- else
- {
- analogWrite(PWMELPin, 20);
- }
- if (Direction == 1)
- {
- digitalWrite(L1Pin, HIGH);
- digitalWrite(L2Pin, LOW);
- }
- else
- {
- digitalWrite(L1Pin, LOW);
- digitalWrite(L2Pin, HIGH);
- }
- }
- /*
- * Fungsi Gerak Motor Ke Sebelah Kanan
- * Parameter:
- * - Direction = Arah Gerakan (1 Maju, 0 Mundur)
- * - Speed = Kecepatan Gerakan (1 Cepat, 0 Lambat)
- */
- void MotorR(int Direction, int Speed)
- {
- // Right Motor
- if (Speed == 1)
- {
- analogWrite(PWMERPin, 250);
- }
- else
- {
- analogWrite(PWMERPin, 20);
- }
- if (Direction == 1)
- {
- digitalWrite(L3Pin, HIGH);
- digitalWrite(L4Pin, LOW);
- }
- else
- {
- digitalWrite(L3Pin, LOW);
- digitalWrite(L4Pin, HIGH);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement