Anda di halaman 1dari 16

MODUL 2

PRAKTIKUM MIKROKONTROLLER DENGAN WEMOS D1 R1


1. PENGENALAN WEMOS D1 R1
Wemos D1 R2 merupakan salah satu development board yang dirancang khusus untuk
keperluan IoT dan kompatibel dengan Arduino. (Jamzuri, 2016) Arduino adalah papan
elektronik yang mengandung mikroprosesor ATmega328 pada salah satu produknya yaitu
Arduino UNO. Piranti ini dapat digunakan untuk menghasilkan produk elektronik dengan
tingkat sederhana hingga kompleks. Pengendalian LED, pengontrolan robot, pemantauan
jarak jauh melalui internet, dan mengendalikan alat-alat elektronik di rumah merupakan
contoh pemanfaatan Arduino. (Kadir, 2013: 16) Arduino UNO menggunakan chip
ATMega328.
sedangkan Wemos D1 R2 menggunakan chip ESP8266 untuk komputasinya. Fitur
wemos di antaranya adalah sebagai berikut:
1) Kompatibel dengan Arduino, dapat diprogram dengan menggunakan software Arduino
IDE.
2) Pinout yang kompatibel dengan Arduino UNO, bentuk dan pinout standar seperti
Arduino UNO.
3) Wemos dapat standalone tanpa terhubung dengan mikrokontroler lain.
4) Memiliki CPU dengan frekuensi tinggi dengan prosesor 32-bit berkecepatan 80 MHz,
sehingga dapat mengeksekusi program lebih cepat dari Arduino yang hanya
menggunakan prosesor 8-bit.
5) Mendukung High Level Language, dapat diprogram juga menggunakan bahasa Phyton
dan Lua

Wemos D1 R2 dapat diprogram menggunakan software milik Arduino yaitu Arduino


Integrated Development Environment (IDE). Arduino IDE berfungsi untuk menuliskan
kode program yang digunakan untuk mengontrol Wemos. Bahasa pemrograman yang
digunakan Arduino IDE adalah bahasa C++.
Untuk memprogram Arduino dapat langsung mengarah ke pin yang tertera pada board,
sedangkan untuk memprogram Wemos perlu mengetahui pin mapping dari chip
ESP8266. Hal tersebut dilakukan karena pin mapping Wemos D1 R2 adalah GPIO,
sehingga untuk mengakses pin D0 penulisan program nantinya mengarah ke GPIO3 yang
dapat dilihat pada tabel berikut.
Program kerja

- Buka Arduino IDE Anda, jika belum punya download dulu arduino.cc


- Buka menu File – Preferences dan
isikan http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json di kolom
‘Additional Boards Manager URLs’ 

- Buka menu Tools – Boards Manager kemudian ketik ESP8266 di kotak ‘Search’ 
- Instal ‘Esp8266 by ESP8266 Community’
- Kemudian buka kembali menu Tools – Board, scroll ke bawah menunya, seharusnya akan
muncul menu board baru berbasis ESP8266 di sana, termasuk Wemos ini
- Siap dijalankan
-
2. KONTROL LED
3. LCD

Contoh program LCD

#include <LiquidCrystal_I2C.h>

// set the LCD number of columns and rows


int lcdColumns = 16;
int lcdRows = 2;

// set LCD address, number of columns and rows


// if you don't know your display address, run an I2C scanner sketch
LiquidCrystal_I2C lcd(0x3F, lcdColumns, lcdRows);
int sensorValue;

void setup()
{
lcd.init();
// turn on LCD backlight
lcd.backlight();
lcd.setCursor(1,0);
// print message
lcd.print("INTENSITY LIGHT");
lcd.setCursor(9,1);
lcd.print(" cd");

Serial.begin(9600); // starts the serial port at 9600


}

void loop()
{
sensorValue = analogRead(A0); // read analog input pin 0
Serial.print(sensorValue, DEC); // prints the value read
Serial.print(" \n"); // prints a space between the numbers
// wait 100ms for next reading
lcd.setCursor(4,1);
lcd.print(sensorValue);
delay(1000);

4. APP BLYNK
BLYNK adalah platform untuk aplikasi OS Mobile (iOS dan Android) yang bertujuan untuk
kendali module Arduino, Raspberry Pi, ESP8266, WEMOS D1, dan module sejenisnya
melalui Internet.
Cara instalasi blynk

1. Download dan install aplikasi melalui “PlayStore“


2. Buka aplikasi, dan silahkan sign up new account atau login menggunakan
“Facebook“
3. Buat new project, dan pilihlah salah satu module yang akan Anda gunakan maupun
aksesoris module yang berfungsi sebagai sarana terhubung ke Internet.
4. Setelah itu drag and drop rancangan proyek Anda
5. Kemudian klik Blynk untuk mengirimkan Token Auth melalui email
6. Dan terakhir cek inbox email Anda dan temukan Auth Token yang dimana ini akan
digunakan untuk program yang di downloadkan ke module

App BLYNK untuk kendali ESP8266

a. Buka Aplikasi BLYNK


b. Pilih pada logo “+” / widget box
c. pilih button, kemudian drag and drop
d. setting button pada pin “Digital” – “D0”
e. Ubahlah setting dari push menjadi switch
f. Dan ubahlah logika awal dari “1” ke “0”
g. terakhir download program dibawah dan jika sudah siap semua klik play.

Program

#include <ESP8266WiFi.h>
#define BLYNK_PRINT Serial  
#include <BlynkSimpleEsp8266.h>
 
//cek email dan copy paste kan disini
char auth[] = "8719ce5c040a4bd88b8d6698bbd515e5";
 
//isikan nama wifi dan passwordnya
char ssid[] = "internet";
char pass[] = "pasword";
 
void setup()
{
   Serial.begin(9600);
   Blynk.begin(auth, ssid, pass);
}
 
void loop()
{
   Blynk.run();
}

Cara membuat program di blynk


Control motor servo dengan blynk
Program
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
 
char auth[] = "7TodMjOe9d2mn0aVAEI_eK6Zvx76aBcB"; //token dapat dicek di email
char ssid[] = "Blok21no12"; //nama wifi
char pass[] = "Komponen08"; //password wifi
 
Servo servo;
 
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
servo.attach(2);
}
 
void servo_via_button1() {
  int pos;
//sudut 0 - 180 derajat
  for (pos = 0; pos <= 180; pos += 1) {
    servo.write(pos);              
    delay(15);        
  }
}
 
void servo_via_button2() {
  int pos1;
//sudut 180 - 0 derajat
  for (pos1 = 180; pos1 >= 0; pos1 -= 1) {
    servo.write(pos1);            
    delay(15);              
  }
}
 
BLYNK_WRITE(V3) {
//servo.write(param.asInt());
  int pinValue = param.asInt();
  if (pinValue == 1) {    
    servo_via_button1();            
    Blynk.run();
    int pinValue = 0;  
    Blynk.syncVirtual(V3);
  }
}
 
BLYNK_WRITE(V4) {
  int pinValue1 = param.asInt();
  if (pinValue1 == 1) {    
    servo_via_button2();            
    Blynk.run();
    int pinValue1 = 0;  
    Blynk.syncVirtual(V4);
  }
}
 
BLYNK_WRITE(V5)
{
  servo.write(param.asInt());
}
 
void loop()
{
Blynk.run();
}

Langkah di blynk

1. New Project dan ketikan judul misalnya “Servo via Blynk”


2. Pilih device > Wemos D1 mini (Wifi)
3. Klik email all untuk request token yang dikirimkan ke email, untuk kebutuhan di
auth token diprogram
4. Setelah itu add untuk slider, button seperti gambar diatas
5. Pada Slider setting menggunakan pin virtual 5 (V5), dan range data 0 – 180, serta
off kan send interval dan setting di 100ms
6. untuk button setting pada V3 dan V4 dan pilih push saja
7. Selesai, siap untuk digunakan

5. ANTARES
Platform untuk pengembangan IOT
https://antares.id/id/index.html

Cara menggunakan Antares


1. Register dulu di Antares
2. Cek email dan confirm
3. Setelah masuk dan lanjut catat bagian keynya
4. Lanjut pilih aplikasi

5. Create aplikasi
6. Klik add

7. Pilih device
Program menggunakn Antares
1. Download library Antares
2. Download library dht
3. Download adafruit_sensor.h

Program
#include <DHT.h>
#include <AntaresESP8266HTTP.h > // Inisiasi library HTTP Antares
#define DHTPIN D2 // Buat variabel DHTPIN, mengarah pada pin D2
#define DHTTYPE DHT11 // Tentukan tipe DHT menjadi DHT11

#define ACCESSKEY "your-access-key" // Ganti dengan access key akun


Antares anda
#define WIFISSID "your-wifi-ssid" // Ganti dengan SSID WiFi anda
#define PASSWORD "your-wifi-password" // Ganti dengan password WiFi anda

#define projectName "your-project-name" // Ganti dengan application name Antares


yang telah dibuat
#define deviceName "your-device-name" // Ganti dengan device Antares yang
telah dibuat
DHT dht(DHTPIN, DHTTYPE); // Buat objek dht
AntaresESP8266HTTP antares(ACCESSKEY); // Buat objek antares

void setup() {
Serial.begin(115200); // Buka komunikasi serial dengan baudrate 115200
dht.begin();

antares.setDebug(true); // Nyalakan debug. Set menjadi "false" jika tidak ingin


pesan-pesan tampil di serial monitor
antares.wifiConnection(WIFISSID,PASSWORD); // Mencoba untuk
menyambungkan ke WiFi
}

void loop() {
// Isi variabel dengan nilai acak, dengan tipe data yang berbeda
float hum = dht.readHumidity(); // Baca kelembapan
float temp = dht.readTemperature(); // Baca temperatur

// Memasukkan nilai-nilai variabel ke penampungan data sementara


antares.add("temperature", temp);
antares.add("humidity", hum);

// Kirim dari penampungan data ke Antares


antares.send(projectName, deviceName);
delay(5000);
}

Cek di antares hasilnya

Anda mungkin juga menyukai