YAKA Creative Dsign_Membuat Program WIFI_CAR MESIN RUMPUT

 KATA PENGANTAR

 

Segala puji senantiasa disampaikan kepada Allah SWT yang telah memberikan kekuatan dan rahmat-Nya sehingga penyusunan laporan kegiatan KKSI ddi bidang Applied Robotics ini dapat berjalan lancar. Laporan praktik kerja lapangan ini berjudul WiFi Car Pemotong Rumput.

Laporan praktik kerja lapangan ini disusun dengan kerja keras tim dan pihak-pihak yang turut berperan di dalamnya. Karena itu, secara khusus kami mengucapkan terima kasih kepada pihak-pihak yang turut membantu dalam menyelesaikan penyusunan laporan ini.

1. Bapak Handri Zakki S.Pd selaku Kepala Sekolah SMK YADIKA KALIJATI

2. Bapak Juansah stiadi S,Kom selaku pendamping selama kegiatan KKSI di SMK YADIKA KALIJATI

3. Teman-teman satu tim.

Laporan ini memberikan penjelasan tentaang proses kamu dalam merancang dan membangun WiFi Car Pemotong Rumput. Apa saja yang kami kerjakan dan bagaimana proses kami dalam project KKSI ini, akan dijelaskan secara lengkap dalam laporan ini.

Selama proses penyusunan dan hasil yang disajikan dalam bentuk laporan ini, kami menyadari bahwa masih banyak kesalahan. Tidak ada manusia yang sempurna, karena itu kami senantiasa memohon maaf kepada pembaca apabila masih menemukan kesalahan dalam penulisan.

Kami juga mengharapkan adanya kritik dan saran membangun dari pembaca, dengan begitu dapat meningkatkan dan membantu penulis untuk terus berkembang di masa depan.

Akhir kata, semoga laporan yang kami susun ini dapat menambah wawasan bagi pembaca secara umum dan penulis secara khusus. Semoga dari laporan ini dapat memberikan manfaat bagi penulis lain.

 

                                Kalijati, 3 Agustus 2021

 

 

                                                                                                                    SMK YADIKA KALIJATI




BAB I

PENDAHULUAN

 

A. Latar Belakang

 

 

Line Follower robot

 

Line Follower robot merupakan jenis robot yang termasuk dalam kategori robot mobile yang di desain untuk bekerja secara autonomous atau tanpa dikendalikan dan memiliki kemampuan untuk mendeteksi dan bergerak mengikuti (follows) garis yang ada di permukaan. Sistem kendali yang digunakan dalam robot ini dirancang untuk bisa mendeteksi jalur (garis yang berwarna hitam) yang ada dan melakukan gerakan agar tetap berada dalam jalur.

Pada umumnya robot ini dibuat untuk kepentingan penelitian, kompetisi, dan industry. Akan tetapi semakin berkembangnya zaman, robot ini banyak diminati bagi mereka yang baru belajar dan terjun di bidang robotika.  Bahkan sekarang banyak kompetisi robot yang di adakan di universitas – universitas Indonesia, seperti kompetisi line follower di Universitas Gajah Mada (UGM).

Dalam dunia industri, robot ini berguna untuk mengangkat barang dari satu tempat ke tempat lain secara autonomous dalam arti kata lain robot ini tidak perlu di kemudikan atau di kendalikan oleh seseorang sehingga dapat mengurangi resiko kesalahan manusia yang sering terjadi [2]. Salah satu alasan mengapa line follower robot banyak diminati adalah karena dengan hanya menggunakan teknik basic line following saja, peluangnya untuk berkembang di masa depan yang masih sangat besar. Dalam pengambanganya di masa depan,  bis-bis perkotaan tidak lagi memerlukan pengemudi dan semua telah di atur dalam sistematis line following robot, dimana perhitungan waktu yang pasti, sensor-sensor yang secara terus menerus memberi data ke pusat, dan tambahan teknologi collision avoidance dapat mengurangi angka kecelakaan akibat kelalaian bila manusia yang mengemudikanya.

Arduino

Arduino adalah mikrokontroller / pengendali mikro papan tunggal(single board) yang bersifat sumber terbuka dan menjadi salah satu proyek Open Source Hardware yang paling populer. Dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Perangkat kerasnya memiliki prosesor Atmel AVR . Softwarenya terdiri dari beberapa alat yakni Integrated Development Environment(IDE), Text-EditorCompiler, Serial Monitor, dan Serial ISP Programmer.

Arduino juga merupakan senarai perangkat keras terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Pada aplikasi Arduino, Mikrokontroler diprogram menggunakan bahasa pemrograman C atau C++, dengan pustaka khas arduino. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.

Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan pengunduh untuk memprogram mikrokontroler secara langsung melalui port ISP.

 

Sejarah Singkat Arduino

 

Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di Institute IvreaItalia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.

Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi. Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:

1.      Harga terjangkau

2.      Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac, dan sebagainya.

3.      Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk orang teknik saja.

4.      Open Source, hardware maupun software.

Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Sehingga banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, sedangkan untuk lokal ada SENTSOR Uno Plus yang dibuat oleh SENTSOR Electronics Indonesia, CipaDuino yang dibuat oleh SKIR70, MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.

Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, berbentuk Mini PC. Hingga saat ini sudah ada ratusan ribu Arduino yang digunakan di dunia sejak tahun 2011. Arduino juga sudah dipakai oleh perusahaan-perusahaan besar, contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data.

Salah satu komponen dari arduino (yakni text-editor) dibangun menggunakan Java. Hal ini mengakibatkan banyak yang mengira bahasa arduino adalah bahasa baru turunan dari Java. Arduino sebenarnya menggunakan bahasa C / C++, dengan compiler avr-gcc yang sama dengan yang dipakai pada avr-studio. Aturan proses kompilasi sudah disediakan oleh aplikasi Arduino, dimana berkas kode utama dengan ekstensi ino akan hubungkan dengan berkas-berkas lain. Telah disediakan pula rutin utama C++ (fungsi main) yang memanggil fungsi setup dan loop dari file kode utama berekstensi ino.

 

B. Identifikasi Masalah

 

Dari beberapa uraian yang dikemukakan pada latar belakang, maka dapat

diidentifikasi masalah-masalah sebagai berikut :

 

1. Arduino cukup rumit untuk pemula yang belum mengenal sistem kelistrikan.

2. Ada beberapa galat yang cukup sulit di temukan solusinya.

3. Internet yang terkadang tidak stabil.

4. Beberapa komponen yang belum pernah di pelajari di sekolah.

 

C. Pembatasan Masalah

 

Line Follower memiliki sistem automatisasi. Dengan kembangan ide kami, diputuskan untuk membuat WiFi Car yang di aplikasikan sebagai pemotong rumput. Oleh karena itu, penulis membatasi penelitian hanya pada:

 

1. Analisis sistem yang digunakan pada Arduino yang telah diterapkan pada WiFi Car Pemotong Rumput.

 

2. Perancangan WiFi Car berdasarkan sistem Arduino.

 

D. Rumusan Masalah

 

Dari beberapa uraian yang penulis kemukakan pada bagian latar belakang

tersebut, penulis dapat merumuskan permasalahannya sebagai berikut :

 

1. Kenapa membuat WiFi Car Pemotong Rumput?

 

2. Bagaimana proses perancangan, pembuatan dan uji coba WiFi Car?

 

E. Tujuan

 

Berdasarkan rumusan masalah tersebut, maka dapat diketahui tujuan

WiFi Car kami adalah sebagai berikut :

 

1. Untuk memudahkan pengguna untuk memotong rumput.

 

2. Untuk ikut serta dalam perkembangan industri 4.0.

 

 

F. Manfaat

 

Adapun manfaat yang dapat diambil dari project ini adalah sebagai berikut:

 

1. Manfaat Teoritis

a. Project ini diharapkan dapat menambah dan mengembangkan

wawasan, informasi, pemikiran, dan ilmu pengetahuan kepada pihak lain

yang berkepentingan.

 

b. Sebagai acuan dan pertimbangan bagi kami untuk project yang selanjutnya

khususnya yang berkaitan dengan Arduno dan elektronika.

 

2. Manfaat Praktis

a. WiFi Car Pemotong Rumput, diharapkan menjadi bahan pertimbangan dan

dapat diterapkan guna meningkatkan efisiensi dalam penjualan.

b. Bagi tim, diharapkan dapat menerapkan ilmu yang diperoleh dan berguna bagi kemajuan ilmu pengetahuan.


BAB II

LANDASAN TEORI

 

 

 

A. Kajian Teori

 

1. Komponen

           

I. ESP8266


 

            ESP8266 merupakan modul wifi yang berfungsi sebagai perangkat tambahan mikrokontroler seperti Arduino agar dapat terhubung langsung dengan wifi dan membuat koneksi TCP/IP.

Modul ini membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station, Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor, memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan mikrokontroler apapun karena sudah memiliki perlengkapan layaknya mikrokontroler.

Firmware default yang digunakan oleh perangkat ini menggunakan AT Command, selain itu ada beberapa Firmware SDK yang digunakan oleh perangkat ini berbasis opensource yang diantaranya adalah sebagai berikut :

·         NodeMCU dengan menggunakan basic programming lua

·         MicroPython dengan menggunakan basic programming python

·         AT Command dengan menggunakan perintah perintah AT command

 

Untuk pemrogramannya sendiri kita bisa menggunakan ESPlorer untuk Firmware berbasis NodeMCU dan menggunakan putty sebagai terminal control untuk AT Command.

Selain itu kita bisa memprogram perangkat ini menggunakan Arduino IDE. Dengan menambahkan library ESP8266 pada board manager kita dapat dengan mudah memprogram dengan basic program arduino.

Ditambah lagi dengan harga yang cukup terjangkau, kamu dapat membuat berbagai projek dengan modul ini. Maka dari itu banyak orang yang menggunakannya modul ini untuk membuat projek Internet of Thinking (IoT).

 

 

 

II. ESP32


            ESP32 adalah mikrokontroller berharga rendah dan hemat energi dengan wifi dan dual-mode bluetooth terintegrasi. Generasi ESP32 menggunakan mikroprosesor Tensilica Xtensa LX6 sebagai inti. Baik dalam mode single-core maupun dual-core.

ESP32 dibuat oleh Espressif Systems, perusahaan berbasis di Shanghai, Tiongkok. Menggunakan TSMC sebagai pemproduksi inti dengan besar 40nm.

 

III. Dinamo Motor




Dinamo atau istilah lainnya disebut sebagai generator adalah sebuah mesin listrik yang dapat mengubah energi kinetik menjadi energi listrik. Konsep kerja dinamo sama dengan generator yaitu memutar kumparan di dalam medan magnet atau memutar magnet di dalam kumparan. Bagian dinamo yang berputar disebut rotor, sedangkan bagian dinamo yang tidak bergerak disebut stator. Pada posisi ini dinamo akan menerima energi dalam bentuk gerak dan mengeluarkannya menjadi sebuah aliran listrik statis. Pada konsep yang sederhana, dinamo terdiri dari sebuah lilitan kawat yang diletakan di dalam kumaparan atau medan magnet, hal ini dapat ditemui pada pembangkit listrik tenaga air, di mana aliran air akan diarahkan pada turbin untuk menghasilkan gerak rotasi yang berulang-ulang.

IV. Baterai



Baterai adalah perangkat yang terdiri dari satu atau lebih sel elektrokimia dengan koneksi eksternal yang disediakan untuk memberi daya pada perangkat listrik seperti senterponsel, dan mobil listrik.[1] Ketika baterai memasok daya listrik, terminal positifnya adalah katode dan terminal negatifnya adalah anoda.[2] Terminal bertanda negatif adalah sumber elektron yang akan mengalir melalui rangkaian listrik eksternal ke terminal positif. Ketika baterai dihubungkan ke beban listrik eksternal, reaksi redoks mengubah reaktan berenergi tinggi ke produk berenergi lebih rendah, dan perbedaan energi-bebas dikirim ke sirkuit eksternal sebagai energi listrik.[3] Secara historis istilah "baterai" secara khusus mengacu pada perangkat yang terdiri dari beberapa sel, namun penggunaannya telah berkembang untuk memasukkan perangkat yang terdiri dari satu sel.[4]

Baterai primer (sekali pakai) digunakan satu kali kemudian dibuang; bahan elektrode berubah secara ireversibel selama pelepasan. Contoh umum adalah baterai alkaline yang digunakan untuk senter dan banyak perangkat elektronik portabel. Baterai sekunder (dapat diisi ulang) dapat habis dan diisi ulang beberapa kali menggunakan arus listrik yang diterapkan; komposisi asli dari elektrode dapat dikembalikan dengan arus balik. Contohnya termasuk baterai asam timbal yang digunakan dalam kendaraan dan baterai ion-litium yang digunakan untuk elektronik portabel seperti laptop dan ponsel.

Kutub yang bertanda positif menandakan bahwa memiliki energi potensial yang lebih tinggi daripada kutub bertanda negatif. Kutub bertanda negatif adalah sumber elektron yang ketika disambungkan dengan rangkaian eksternal akan mengalir dan memberikan energi ke peralatan eksternal. Ketika baterai dihubungkan dengan rangkaian eksternal, elektrolit dapat berpindah sebagai ion di dalamnya, sehingga terjadi reaksi kimia pada kedua kutubnya. Perpindahan ion dalam baterai akan mengalirkan arus listrik keluar dari baterai sehingga menghasilkan kerja.[5] Meski sebutan baterai secara teknis adalah alat dengan beberapa sel, sel tunggal juga umumnya disebut baterai.

Baterai hadir dalam berbagai bentuk dan ukuran, dari sel miniatur yang digunakan untuk alat bantu dengar dan arloji hingga kecil, sel tipis yang digunakan dalam ponsel cerdas, hingga baterai asam timbal besar atau baterai litium-ion dalam kendaraan, dan pada ukuran paling besar, bank baterai besar seukuran ruangan yang menyediakan daya siaga atau darurat untuk pertukaran telepon dan pusat data komputer.

Menurut perkiraan pada tahun 2005, industri baterai di seluruh dunia menghasilkan US$48 miliar dalam penjualan setiap tahun,[6] dengan pertumbuhan tahunan 6%.

Baterai memiliki energi spesifik yang jauh lebih rendah (energi per satuan massa) daripada bahan bakar umum seperti bensin. Pada mobil, ini sedikit diimbangi oleh efisiensi yang lebih tinggi dari motor listrik dalam mengubah energi kimia menjadi pekerjaan mekanik, dibandingkan dengan mesin pembakaran.

 

V. ESP32 CAM


Ini adalah modul yang dapat Anda gunakan dengan banyak proyek, dan dengan Arduino. Merupakan modul lengkap dengan mikrokontroler terintegrasi, yang dapat membuatnya bekerja secara mandiri. Selain konektivitas WiFi + Bluetooth, modul ini juga memiliki kamera video terintegrasi, dan slot microSD untuk penyimpanan.

 

 

 

 

 

 

 

 

 

 

 

 

 

VI. DRIVER MOTOR


NE

 

Motor DC adalah Sebuah Actuator (penggerak) yang yang berfungsi menghasilkan Perputaran mekanis. Motor DC pada dasarnya adalah komponen elektromekanik yang mengubah besaran listrik menjadi besaran fisik yaitu gerakan mekanis.

 

2. ALAT

 

I. Obeng

II. Pisau

III. Gunting

IV. Lem tembak

V. Lem power glue

VI. Acrylic Epoxy spray paint

VII. Tang

VIII.  Solder

IX. Tinol

X. Konektor batre kotak 9 volt sebanyak 7

XI. Saklar switch on of sebanyak 4 buah

XII. Kabel

XIII. Tako meter digital

 




BAB III

PERANCANGAN PROJECT

 

A. Identifikasi masalah

1. Arduino cukup rumit untuk pemula yang belum mengenal sistem kelistrikan.

2. Ada beberapa galat yang cukup sulit di temukan solusinya.

3. Internet yang terkadang tidak stabil.

4. Tegangan daya yang kurang sehingga mobil tidak bisa berjalan dengan baik

5. Adanya masalah terkait bobot yang berlebih

 

 

B. Identifikasi metode pemecahan masalah

1. Mempelajari arduino itu sendiri dan mengenal  sistem kelistrikan

2. Mencari berbagai pemecahan masalah di beberapa forum diskusi dan mencoba berbagai solusi

3. Mencari sumber internet yang lain

4. Output daya diperbesar

5. Mengurangi beberapa bagian

 

C. Pelaksanaan pemecahan masalah

1. Mempelajari arduino itu sendiri dan mengenal  lebih jauh sistem kelistrikan

2. Mengubah beberapa script dan setting yang menyebabkan galat

3. Menggunakan data seluler pribadi

4. Mengganti baterai powerbank menjadi baterai kotak yang  memiliki teganga lebih tinggi

5. Ada beberapa bagian yang tidak perlu digunakan dan dibuang sehingga mobil lebih mudah untuk bergerak


KESIMPULAN

 

Berdasarkan pengujian dan pembahasan yang telah dilakukan, maka didapatkan kesimpulan sebagai berikut :

 

1. Pemrograman Mikrokontroler menggunakan pengembang Arduino adalah membangun fungsi dan prosedur yang akan dilakukan oleh mikrokontroler pada setiap kondisi yang telah ditetapkan.

 

2.  Aplikasi pengembang Arduino selain dapat digunakan untuk membangun program pada mikrokontroler, juga dilengkapi dengan serial monitor. Serial monitor digunakan untuk memonitoring aktivitas transfer data yang terjadi pada mikrokontroler.

 

3. Jarak transmisi wifi pada ruangan dengan banyak halangan (dinding, kotak, pintu, dan hambatan lain) bisa mencapai sekitar 10 meter.

 

4. Pemrograman sistem kendali menggunakan pengembang Blynk adalah membangun aplikasi sistem kendali pada smartphone android yang digunakan untuk mengontrol mesin mobil pada alat melalui komunikasi Wifi satu arah dengan modul ESP yang terpasang pada Arduino



PUSTAKA

 

[1]        Andrianto, H. & Darmawan, A. (2017). Arduino Belajar Cepat dan Pemrograman. Bandung: Informatika.

 

[2] Arduino. (2015). Arduino UNO. [online]. Tersedia di http://www.arduino.cc/en/Main/ArduinoBoardUno. [Diakses 12 Mei 2015].

 

[3]        Ahyadi, Zaiyan. (2018). Belajar Antarmuka Arduino Secara Cepat Dari Contoh.

Yogyakarta: Poliban Press.

 

[4]        Ananda, Ricki. (2018). 40 Project Robotic dan Aplikasi Android. Yogyakarta: Deepublish.

 

[5]               Romansyah, Moch. Alvianto. Prototype Alat IoT (Internet Of Things) Untuk Pengendali Dan Pemantau Kendaraan Secara Realtime. Surakarta: Electronics Theses and Dissertations (ETD-db) Universitas Muhammadiyah Surakarta, 2016

 


LAMPIRAN

 

Pembimbing    :

1. Juansah Stiadi S,Kom

 

Team               :

1. Putra Pribadi Sulaeman

2. Toufik

3. Muhammad Mifzal Fayyadh

4. Junaedi

5. Chandra Maretiandika Nurdin

 

 

 


 




 

 


CODE wifi_CAR



#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

 

//Motor PINs

#define ENA D0

#define IN1 D1

#define IN2 D2

#define IN3 D3

#define IN4 D4

#define ENB D5

 

bool forward = 0;

bool backward = 0;

bool left = 0;

bool right = 0;

int Speed;

char auth[] = "rP1jYZzcYLRB3nNoeGVQ7qLabRnTcAwH"; //Enter your Blynk application auth token

char ssid[] = "RKS_JS"; //Enter your WIFI name

char pass[] = "12345678"; //Enter your WIFI passowrd

 

void setup() {

  Serial.begin(9600);

  pinMode(ENA, OUTPUT);

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(IN3, OUTPUT);

  pinMode(IN4, OUTPUT);

  pinMode(ENB, OUTPUT);

 

  Blynk.begin(auth, ssid, pass);

}

 

BLYNK_WRITE(V0) {

  forward = param.asInt();

}

 

BLYNK_WRITE(V1) {

  backward = param.asInt();

}

 

BLYNK_WRITE(V2) {

  left = param.asInt();

}

 

BLYNK_WRITE(V3) {

  right = param.asInt();

}

 

BLYNK_WRITE(V4) {

  Speed = param.asInt();

}

 

void smartcar() {

  if (forward == 1) {

    carforward();

    Serial.println("carforward");

  } else if (backward == 1) {

    carbackward();

    Serial.println("carbackward");

  } else if (left == 1) {

    carturnleft();

    Serial.println("carfleft");

  } else if (right == 1) {

    carturnright();

    Serial.println("carright");

  } else if (forward == 0 && backward == 0 && left == 0 && right == 0) {

    carStop();

    Serial.println("carstop");

  }

}

void loop() {

  Blynk.run();

  smartcar();

}

 

void carforward() {

  analogWrite(ENA, Speed);

  analogWrite(ENB, Speed);

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void carbackward() {

  analogWrite(ENA, Speed);

  analogWrite(ENB, Speed);

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void carturnleft() {

  analogWrite(ENA, Speed);

  analogWrite(ENB, Speed);

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void carturnright() {

  analogWrite(ENA, Speed);

  analogWrite(ENB, Speed);

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void carStop() {

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}


CODE_PEMOTONG RUMPUT



#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

 

//Motor PINs

#define ENA D0

#define IN1 D1

#define IN2 D2

#define IN3 D3

#define IN4 D4

#define ENB D5

 

bool mesinPemotong = 0;

int Speed;

char auth[] = "rP1jYZzcYLRB3nNoeGVQ7qLabRnTcAwH"; //Enter your Blynk application auth token

char ssid[] = "RKS_JS"; //Enter your WIFI name

char pass[] = "12345678"; //Enter your WIFI passowrd

 

void setup() {

  Serial.begin(9600);

  pinMode(ENA, OUTPUT);

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(IN3, OUTPUT);

  pinMode(IN4, OUTPUT);

  pinMode(ENB, OUTPUT);

 

  Blynk.begin(auth, ssid, pass);

}

 

BLYNK_WRITE(V6) {

  mesinPemotong= param.asInt();

}

BLYNK_WRITE(V7) {

  Speed = param.asInt();

}

 

void smartcar() {

  if (mesinPemotong == 1) {

    carmesinPemotong();

    Serial.println("carmesinPemotong");

  } else if (mesinPemotong == 0) {

    carStop();

    Serial.println("carstop");

  }

}

void loop() {

  Blynk.run();

  smartcar();

}

 

void carmesinPemotong() {

  analogWrite(ENA, Speed);

  analogWrite(ENB, Speed);

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void carStop() {

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}


CODE CAMERA


#include "esp_camera.h"

#include <WiFi.h>


//

// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality

//            Ensure ESP32 Wrover Module or other board with PSRAM is selected

//            Partial images will be transmitted if image exceeds buffer size

//


// Select camera model

//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM

//#define CAMERA_MODEL_ESP_EYE // Has PSRAM

//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM

//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM

//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM

//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM

#define CAMERA_MODEL_AI_THINKER // Has PSRAM

//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM


#include "camera_pins.h"


const char* ssid = "RKS_JS";

const char* password = "12345678";


void startCameraServer();


void setup() {

  Serial.begin(115200);

  Serial.setDebugOutput(true);

  Serial.println();


  camera_config_t config;

  config.ledc_channel = LEDC_CHANNEL_0;

  config.ledc_timer = LEDC_TIMER_0;

  config.pin_d0 = Y2_GPIO_NUM;

  config.pin_d1 = Y3_GPIO_NUM;

  config.pin_d2 = Y4_GPIO_NUM;

  config.pin_d3 = Y5_GPIO_NUM;

  config.pin_d4 = Y6_GPIO_NUM;

  config.pin_d5 = Y7_GPIO_NUM;

  config.pin_d6 = Y8_GPIO_NUM;

  config.pin_d7 = Y9_GPIO_NUM;

  config.pin_xclk = XCLK_GPIO_NUM;

  config.pin_pclk = PCLK_GPIO_NUM;

  config.pin_vsync = VSYNC_GPIO_NUM;

  config.pin_href = HREF_GPIO_NUM;

  config.pin_sscb_sda = SIOD_GPIO_NUM;

  config.pin_sscb_scl = SIOC_GPIO_NUM;

  config.pin_pwdn = PWDN_GPIO_NUM;

  config.pin_reset = RESET_GPIO_NUM;

  config.xclk_freq_hz = 20000000;

  config.pixel_format = PIXFORMAT_JPEG;

  

  // if PSRAM IC present, init with UXGA resolution and higher JPEG quality

  //                      for larger pre-allocated frame buffer.

  if(psramFound()){

    config.frame_size = FRAMESIZE_UXGA;

    config.jpeg_quality = 10;

    config.fb_count = 2;

  } else {

    config.frame_size = FRAMESIZE_SVGA;

    config.jpeg_quality = 12;

    config.fb_count = 1;

  }


#if defined(CAMERA_MODEL_ESP_EYE)

  pinMode(13, INPUT_PULLUP);

  pinMode(14, INPUT_PULLUP);

#endif


  // camera init

  esp_err_t err = esp_camera_init(&config);

  if (err != ESP_OK) {

    Serial.printf("Camera init failed with error 0x%x", err);

    return;

  }


  sensor_t * s = esp_camera_sensor_get();

  // initial sensors are flipped vertically and colors are a bit saturated

  if (s->id.PID == OV3660_PID) {

    s->set_vflip(s, 1); // flip it back

    s->set_brightness(s, 1); // up the brightness just a bit

    s->set_saturation(s, -2); // lower the saturation

  }

  // drop down frame size for higher initial frame rate

  s->set_framesize(s, FRAMESIZE_QVGA);


#if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)

  s->set_vflip(s, 1);

  s->set_hmirror(s, 1);

#endif


  WiFi.begin(ssid, password);


  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

  Serial.println("");

  Serial.println("WiFi connected");


  startCameraServer();


  Serial.print("Camera Ready! Use 'http://");

  Serial.print(WiFi.localIP());

  Serial.println("' to connect");

}


void loop() {

  // put your main code here, to run repeatedly:

  delay(10000);

}


Comments