Sunday, August 4, 2019

Kontrol LED Menggunakan NodeMCU

Pada praktikum kali ini akan dijelaskan mengenai cara mengkontrol LED menggunakan Blynk Example Browser yang dijalankan menggunakan modul wifi ESP8266. ESP8266 adalah sebuah modul WiFi yang akhir-akhir ini semakin digemari para hardware developer. 

Selain karena harganya yang sangat terjangkau, modul WiFi serbaguna ini sudah bersifat SoC (System on Chip), sehingga kita bisa melakukan programming langsung ke ESP8266 tanpa memerlukan mikrokontroller tambahan. Kelebihan lainnya, ESP8266 ini dapat menjalankan peran sebagai adhoc akses poin maupun klien sekaligus.

Berikut adalah gambar rangkaian yang digunakan :




Setelah merangkai gambar rangkaian seperti gambardi atas, buka aplikasi arduino dan pilih 'Preferences' pada edit, setelah memasukkan link yang akan digunakan pilih tools dan NodeMcu 0.9

Blynk berfungsi sebagai penghubung modul komunikasi antara handphone dan ESP8266. Setelah aplikasi Blynk telah terinstal, maka buatlah button untuk mengakses LED dengan menyesuaikan port yang telah terpasang dengan ketentuan yang saya buat :

LED Merah : D1
LED Kuning : D2
LED Hijau : D3




Masukkan program yang digunakan pada nodemcu

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "8Ab7BSjLBAFreSgz8_0EcszaZ5WpptqG";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Disturb";
char pass[] = "polo1622";

WidgetLED led1(V1);

BlynkTimer timer;

// V1 LED Widget is blinking
void blinkLedWidget()
{
  if (led1.getValue()) {
    led1.off();
    Serial.println("LED on V1: off");
  } else {
    led1.on();
    Serial.println("LED on V1: on");
  }
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  timer.setInterval(1000L, blinkLedWidget);
}

void loop()
{
  Blynk.run();
  timer.run();
}


Program tersebut adalah program Basic dari Blynk yang di dapatkan melalui link Blynk Example yang telah kita download sebelumnya. Nantinya akan didapati zip file kemudia di extract pada folder Arduino Uno. Masukkan program tersebut harus sama dengan penyimpanan file Librarynya agar program tersebut dapat dijalankan dengan baik.

Setelah program tersebut diupload dan memproses sampai selesai maka program terebut dapat berjalan pada rangkaian. Hasillnya sebagai berikut :


CONTROL SENSOR MENGGUNAKAN ARDUINO UNO

MENGAKSES TIGA SENSOR SEKALIGUS DENGAN KELUARAN YANG BERBEDA MENGGUNAKAN ARDUINO UNO

Alat dan komponen:
  • Arduino UNO
  • Sensor PIR
  • Sensor Ultrasonik
  • Sensor Suhu
  • Led
  • Motor DC
  • Buzzer
Langkah kerja:
  • pertama rangkailah komponen seperti Gambar di bawah ini:

  • setelah siap merangkai komponen seperti gambar di atas, arahkan kursor pada toggle code editor.
  • pada jendela toggle code editor pilih text dan akan tampil lembar editing program.
  • setelah lembar prograng tampil, ketikkan program seperti berikut:
#include<LiquidCrystal.h>
int sensorPin = 0;
int echoPin= 6;
int trigPin= 7;
int distanceCm;
int inputPin = 2;               
int pirState = LOW;                                
int val = 0;                            
int pinSpeaker = 4;  
void setup()
{
  pinMode (8, OUTPUT);
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(13, OUTPUT);
  pinMode(inputPin, INPUT);
  pinMode(pinSpeaker, OUTPUT);
  Serial.begin(9600);
}
void loop(){
   val = digitalRead(inputPin);
  if (val == HIGH) {
    playTone(300, 160);
    delay(150);
  
    if (pirState == LOW) {
      Serial.println("Terdeteksi suatu pergerakan!");
      pirState = HIGH;
    }
  } else {
      playTone(0, 0);
      delay(300);   
      if (pirState == HIGH){
      Serial.println("Motion ended!");
      pirState = LOW;
    }
  }
 int reading = analogRead(sensorPin);
 float voltage = reading * 5.0;
 voltage /=1024.0;
 float tempC = (voltage - 0.5) * 100;
 if (tempC > 30)
 {
   digitalWrite (8, HIGH);
 }
  if (tempC < 30)
 {
   digitalWrite (8, LOW);
 }
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,
 LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
   if (distance <= 50) {
    digitalWrite(13, HIGH);
}
  else { digitalWrite(13,LOW);
  }
}
    void playTone(long duration, int freq) {
    duration *= 1000;
    int period = (1.0 / freq) * 1000000;
    long elapsed_time = 0;
    while (elapsed_time < duration) {
        digitalWrite(pinSpeaker,HIGH);
        delayMicroseconds(period / 2);
        digitalWrite(pinSpeaker, LOW);
        delayMicroseconds(period / 2);
        elapsed_time += (period);
    }
}
  • lalu tekan tombol "Start Simulation" pada sudut atas kanan laman tinkercad
  • rangkaian Sensor siap diguakan.

Thursday, June 20, 2019

MENGOPERASIKAN MOTOR SERVO DENGAN MENGGUNAKAN NODE MCU

MENGOPERASIKAN MOTOR SERVO DENGAN MENGGUNAKAN NODE MCU
 
 
 
1. Tujuan 
    Mahasiswa dapat membuat dan mensimulasikan rangkaian kontrol servo yang menggunakan Node Mcu.

2. Alat dan Bahan
    Node MCU
  •     Motor servo
  •     Breadboard
  •     Kabel Jumper
  •     Kabel USB mikro
  •     Aplikasi Arduino IDE
  •     Aplikasi BLYNK
  •     Perangkat Android
  • 3.Rangkaian Percobaan
 
 
 
 
 
 
4. Prosedur Percobaan
    1. Membuat rangkaian seperti pada gambar percobaan diatas.
    2. Membuat List program pada software arduino serta aplikasi kontrol (Blynk) pada 
        perangkat  android.
    3. Melakukan compailing program. Jika terjadi error, maka periksa kembali list 
        program yang dibuat.
   4. Menghubungkan rangkaian dengan Personal Computer (PC).
   5. Mengupload program arduino ke rangkaian motor servo.
   6. Jika terjadi error, maka periksa kembali rangkaian dan list program yang dibuat.
 
 
 
 
 
 
 
 
5.Hasil Percobaan
 
6. Analisa
        Percobaan ini dilakukan untuk membuat suatu rangkaian servo dengan menggunakan NodeMCU sebagai mikrokontroller NodeMCU dan kontrol servo dilakukan dengan menggunakan aplikasi pada perangkat android. Dari hasil simulasi, berhasil disimulasikan suatu kontrol servo sederhana menggunakan perangkat android. hal yang perlu diperhatikan adalah saat mengupload program arduino ke rangkaian, pc harus terkoneksi ke internet serta kode Auth pada program sesuai dengan kode yang dikirimkan pada e mail pengguna. selain itu, perlu juga diperhatikan rangkaian percobaan, dimana pin yang dipasang pada NodeMCU harus sesuai dengan yang ditulis pada list program. Servo ini banyak digunakan/diaplikasikan dalam kehidupan sehari-hari sepeti pada rancang robot.

7. Kesimpulan
              NodeMCU dapat digunakan sebagai mikrokontroller untuk menjalankan motor servo dengan mengontrol pergerakannya menggunakan aplikasi pada perangkat android. NodeMCU merupakan mikrokontroller yang didalamnya telah terdapat modul wifi sehingga dapat langsung berkomunikasi tanpa menambahkan modul lain lagi didalamnya.
 
 
 
 
 
 
 
 
 
 

  • 

Sunday, May 26, 2019

Monitoring Server Room : Temperature & Humidity Via Blynk

Temperature Sensor With NodeMCU

                    NodeMCU mengumpulkan suhu dan kelembaban dari sensor DHT11 dan mengirimkannya ke aplikasi Blynk setiap detik. Blynk Board dan NodeMCU digunakan dalam contoh ini.Sensor DHT11 adalah module sensor yang berfungsi untuk mensensing objek suhu dan kelembaban yang memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan mikrokontroler.Module sensor ini tergolong kedalam elemen resistif seperti perangkat pengukur suhu seperti contohnya yaitu NTC.
                   Kelebihan dari module sensor ini dibanding module sensor lainnya yaitu dari segi kualitas pembacaan data sensing yang lebih responsif yang memliki kecepatan dalam hal sensing objek suhu dan kelembaban, dan data yang terbaca tidak mudah terinterverensi.
Sensor DHT11 pada umumya memiliki fitur kalibrasi nilai pembacaan suhu dan kelembaban yang cukup akurat.
                 Penyimpanan data kalibrasi tersebut terdapat pada memori program OTP yang disebut juga dengan nama koefisien kalibrasi.
Sensor ini memiliki 4 kaki pin, dan terdapat juga sensor DHT11 dengan breakout PCB yang terdapat hanya memilik 3 kaki pin 

Bahan yang diperlukan yaitu antara lain :
  1. NodeMCU ESP8266
  2. Sensor suhu dan kelembaban DHT11 total 1 pcs
  3. Internet yang siap pakai
  4. Komputer dan arduino IDE

Langkah Kerja                    :
1. Membuka aplikasi Blynk pada smartphone.
2. Pilih new Project, isi judul sesuai dengan modul yang dipelajari.
3. Pilih device NodeMCU, pilih Create
4. Tambahkan 2 gauge pada lembar kerja
5. Setting gauge yang pertama dengan memilih input pin virtual v5 kemudian mengubah 1023 menjadi 100. Mengubah reading rate menjadi 1 sec. kemudian keluar ( setting ini tergantung dengannprogram yang ada di blynk example)
6. Setting gauge yang kedua dengan memilih input pin virtual v6 kemudian mengubah 1023 menjadi 100. Mengubah reading rate menjadi 1 sec. kemudian keluar ( setting ini tergantung dengann program yang ada di blynk example)





Thursday, May 23, 2019

MENGGUNAKAN APLIKASI BLYNK PADA ESP 8266

MENGGUNAKAN APLIKASI BLYNK PADA ESP 8266


           Blynk adalah platform untuk IOS atau ANDROID yang digunakan untuk mengendalikan module arduino,Rasbery Pi, Wemos dan module sejenisnya melalui internet. Aplikasi ini sangat mudah digunakan bagi orang yang masih awam. Aplikasi ini memiliki banyak fitur yang memudahkan pengguna dalam memakainya. Cara membuat projek di aplikasi ini sangat gampang, tidak sampai 5 menit yaitu dengan cara drag and drop.
           Blynk tidak terkait dengan module atau papan tertentu. Dari aplikasi inilah kita dapat mengontrol apapun dari jarak jauh dimana pun kita berada dengan catatan terhubung dengan internet. Hal inilah yang disebut dengan IOT (Internet Of Things).
          Pada kesempatan kali ini kita akan menggunakan aplikasi blynk untuk mengendalikan arduino atau lebih tepatnya node MCU yaitu mengontol LED lewat smarthphone.


Berikut langkah yang harus di lakukan.

A. Apa saja yang harus dipersiapkan?

- esp 8266 
-3 buah LED
-3 buah resistor 
-Project board
-kabel jumper male dan female secukupnya

B. Bagaimana cara menggunakan 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
Setelah pada smart phone selesai, beralih ke software ide arduino yang akan digunakan dalam memprogram serta mendownloadkan program ke module, langkah – langkahnya yaitu :
  1. Download file .zip rilis terbaru
  2. Unzip itu file tersebut yang didalam terdapat file library
  3. Peletakan Library pada OS
    1. Mac : (home directory)/Documents/Arduino/libraries
    2. PC (Windows) : My Documents -> Arduino -> libraries
    3. Linux : (home directory)/sketchbook/libraries
C.Langkah pertama untuk mengendalikan arduino
Bahan yang diperlukan yaitu :
  1. Library Module ESP8266
  2. Libray Blynk Filenya ini
  3. Smart Phone Android
  4. Komputer + Software IDE Arduino
* Menyalakan dan mematikan LED BUILT IN
  • Pada smart Phone Android
  1. Buka Aplikasi BLYNK
  2. Pilih pada logo “+” / widget box
  3. Tambahkan 3 button
  4. setting button pada pin “Digital” – “D1  D2  D3"
  5. Ubahlah setting dari push menjadi switch
  6. Dan ubahlah logika awal dari “1” ke “0”
  7. terakhir download program dibawah dan jika sudah siap semua klik play.
Program
/* www.nyebarilmu.com */
#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[] = "agung_bancin";
char pass[] = "Kompenterosss";
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}
void loop()
{
  Blynk.run();
}


Keterangan program

-char authenthification adalah kode yang di buat oleh apk blynk yang kemudian dimasukkan
ke esp 8266 guna untuk kode remot device dari aplikasi ke module esp 8266(node mcu).
Kode ini dikirim melalui email yang di daftarkan

-ssid dan pass harus sesuai dengan wifi yang tersedia karena module akan menghubungkan ke wifi
ketika program selesai di unduh 



Thursday, April 25, 2019

PENGOPERASIAN MOTOR SERVO MENGGUNAKAN ARDUINO

LAPORAN 5 

PENGOPERASIAN MOTOR SERVO MENGGUNAKAN ARDUINO


        Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor.

pada percobaan yang pertama yaitu menggerakkan motor servo yang geraknya di atur berdasarkan derajat menggunakan arduino

RANGKAIAN 


Setelah merangkai masukkan program berikut

#include <Servo.h>
int servoPin = 3;
Servo Servo1;

void setup(){
  Servo1.attach(9);
}
void loop(){
 Servo1.write(0);
 delay(1000);
 Servo1.write(90);
 delay(1000);
 Servo1.write(180);
 delay(1000);
}

      Berdasarkan program di atas pergerakan motor servo akan bergerak dari sudut 0 derajat ke sudut 90 derajat kemudian bergerak ke sudut 180 derajat dan di ulang dari 0 derajat sampai power di cabut. Pergerakan ini diberi delay yaitu 1 detik.

Percobaan selanjutnya yaitu menambahkan arduino pada rangkaian.

RANGKAIAN 

Setelah menambahkan arduino ubahlah program di atas

#include <Servo.h>

Servo servo1;
int potpin =0;
int val;

void setup()
{
  servo1.attach(9);
  
}
void loop()
{
  val = analogRead(potpin);
  val = map(val, 0, 1023, 0, 180);
  servo1.write(val);
}

      Program pada Loop berfungsi untuk.
  1. nilaipot= analogRead(potpin); menyimpan nilai dari potensio pada variabel nilai pot
  2. nilaipot= map(nilaipot, 0, 1023, 10, 180); mengkonversi nilai potensio dari 0-1023 menjadi 10-180, ini menyesuaikan dengan jenis servo yang digunakan, yaitu hanya bisa sampai maksimal 180 derajat.
Fungsi dari potensio dari rangkaian di atas adalah untuk menggerakkan motor servo tersebut.

Percobaan selanjutnya adalah menambahkan satu motor servo dan satu potensio

RANGKAIAN 

Setelah merangkai masukkan program berikut

#include <Servo.h>
int potpin1 = 0;
int potpin2 = 1;
Servo Servo1, Servo2;
int val1;
int val2;

void setup(){
Servo1.attach(9);
  Servo2.attach(8);
}
void loop(){
val1 = analogRead(potpin1);
val2 = analogRead(potpin2);
val1 = map(val1, 0, 1023, 0, 180);
 val2 = map(val2, 0, 1023, 0, 180);
 Servo1.write(val1);
 Servo2.write(val2);
}

      Program di atas yaitu adanya penambahan program untuk servo ke 2 di fungsi loop. Programnya sama dengan satu servo kita hanya tinggal menggandakan dan memberi penomoran. Program akan berkerja yaitu jika kita menggerakkan potensio yang kiri maka motor servo yang di atas akan bergerak dan jika kita menggerakan potensio yang di kanan maka motor servo yang di bawah akan bergerak.

Kontrol LED Menggunakan NodeMCU

Pada praktikum kali ini akan dijelaskan mengenai cara mengkontrol LED menggunakan Blynk Example Browser yang dijalankan menggunakan modul ...