9 Okt 2019

11 - Indikator Suhu

Indikator Suhu

Merupakan latihan lanjutan dari latihan sebelumnya mengunakan sensor DHT11 untuk mengukur suhu dan kelembaban. Pada latihan sebelumnya besarnya suhu yang terukur hanya bisa dilihat melalui serial monitor, kali ini dengan menambahkan tiga buah LED kamu dapat membuat sebuah indikator sebagai visual secara langnsung untuk menunjukan apakah suhu saat ini dingin, sedang atau cukup panas dengan melihat jumlah LED yang menyala.

Kebutuhan Komponen:


— 1 x Arduino UNO
— 1 x Breadboard
— 1 x DHT11
— 3 x LED
— 3 x Resistor 330Ω
— 8 x Kabel Jumper

Perakitan:

Rangkaian:


Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  11 - Indikator Suhu

  Membuat program cara membaca data dari sensor suhu dan kelembaban DHT11,
  kemudian menampilkannya pada Serial Monitor.
*/

#include "DHT.h"        // menyertakan library untuk menggunakan sensor DHT11

#define DHTPIN 8        // pin 8 yang dihubungkan dengan sensor
#define DHTTYPE DHT11   // jenis sensor yang digunakan yaitu DHT-11

DHT dht(DHTPIN, DHTTYPE);  // membuat sebuah objek untuk sensor, serta menentukan pin dan tipe sensor yg digunakan

const float baselineTemp = 30.0;  // patokan suhu ruangan dalam Celcius

void setup() {
  Serial.begin(115200);             // memulai komunikasi dengan serial monitor
  dht.begin();    // memulai komunikasi dengan sensor

  // set semua pin LED sebagai output
  // fungsi for() memperhemat penulisan program
  for (int pinNumber = 2; pinNumber < 5; pinNumber++) {
    pinMode(pinNumber, OUTPUT);
    digitalWrite(pinNumber, LOW);
  }
}

void loop() {
  // Membaca suhu dalam Celsius (the default)
  float temperature = dht.readTemperature();

  // Periksa jika terjadi kegagalan dalam pembacaan dan keluar sesegara mungkin untuk membaca ulang.
  if (isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C ");
  
  // jika suhu ruangan sekarang lebih rendah dari baseline
  // semua LED mati
  if (temperature < baselineTemp + 2) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  } // ijika suhu naik antara 2-4 derajat, satu LED nyala
  else if (temperature >= baselineTemp + 2 && temperature < baselineTemp + 4) {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  } // jika suhu naik antara 4-6 derajat, dua LED nyala
  else if (temperature >= baselineTemp + 4 && temperature < baselineTemp + 6) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
  } // jika suhu naik lebih dari 6 derajat, semua LED nyala
  else if (temperature >= baselineTemp + 6) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
  }
  delay(2000);
}

Cara Menggunakan:

Arduino pertama dinyalakan akan berusa membaca data pada sensor DHT11, pastikan data dapat terbaca dan tidak terjadi kegagalan pembacaan, dengan cara melihatnya melalui serial monitor. Ketika Arduino berhasil membaca data sensor DHT11 akan menyalkan jumlah LED sesuai dengan kondisi suhu diruangan tersebut.

7 Okt 2019

19 - Game Tebak Kata

Game Tebak Kata

Setelah kamu selesai membuat sebuah permain bernama "Simon Says", kali ini kamu akan membuat permainan yang tidak kalah menarik, game ini harus dimainkan oleh dua orang. Untuk memainkannya salah seorang memegang LCD dan papan Arduino dan diletakan di atas kepala sehingga tidak terlihat. Pada layar LCD akan menampilkan angka penghitung mundur yang singkat kemudian menampilkan sebuah kata. Pemain yang lain berada didepan orang pertama tadi yang bisa melihat kata apa yang muncul pada LCD, kemudian berusaha memberikan clue pada orang pertama untuk bisa menebak kata dengan benar. Jika tebakannya benar orang yang pertama bisa menekan push buton yang ada pada papan breadboard dan melanjutkan ke tebakan selanjutnya.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x LCD
— 1 x Potensiometer
— 1 x Buzzer
— 1 x Push Button
— 1 x Resistor 330Ω
— 20 x Kabel Jumper

Perakitan:

Rangkaian:



Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  19 - Game Tebak Kata

  Ini merupakan versi DIY dari sebuah permainan tebak-tebakan. Untuk memainkannya salah seorang memegang LCD dan papan Arduino
  dan diletakan diatas kepala sehingga tidak terlihat. Pada layar LCD akan menampilkan angka penghitung mundur yang singkat
  kemudian menampilkan nama-nama hewan. Pemain yang lain berada didepan orang pertama tadi yang bisa melihat kata apa 
  yang muncul pada LCD, kemudian berusaha memberikan petunjuk pada orang pertama untuk bisa menebak kata dengan benar.
  Jika tebakannya benar orang yang pertama bisa menekan push button yang ada pada papan breadboard dan melanjutkan ke tebakan selanjutnya.
*/


#include             // menyertakan library liquid crystal yang berisi kumpulan perintah untuk menampilkan tulisan pada layar LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);     //memberitahu Arduino pin-pin mana saja yang dihubungkan ke LCD

int buttonPin = 7;                    //pin yang dihubungkan dengan push button
int buzzerPin = 6;                    //pin yang dihubungkan dengan buzzer
int buttonPressTime = 0;              //variabel untuk menyimpan berapa waktu yang tersisa bagi pemain untuk menebak kata
                        
long timeLimit = 15000;               //batas waktu bagi pemain untuk menebak setiap kata
long startTime = 0;                   //digunakan untuk mengukur waktu yang telah berlalu untuk setiap kata
int roundNumber = 0;                  //terus melacak RoundNumber sehingga dapat ditampilkan di akhir permainan
const int arraySize = 25;

const char* words[arraySize] = {"rusa", "kambing", "beruang", "angsa", "anjing", "kucing", "tupai", "burung", "gajah", "kuda",
  "banteng", "jerapah", "sapi", "kelelawar", "sigung", "kura-kura", "paus", "badak", "singa", "monyet",
  "katak", "buaya", "kanguru", "kuda nil", "kelinci"};
 
int sequence[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};     //mulai dengan daftar array full dari 0s

void setup() {

  pinMode(buttonPin, INPUT_PULLUP);       //atur pin push button sebagai input

  lcd.begin(16, 2);                       //memberi tahu ke library LCD untuk ukuran layar yang digunakan

  generateRandomOrder();                  //memanggil fungsi untuk menghasilkan angka array secara acak dari 1-25 yang akan menentukan urutan kata-kata yang ditampilkan
  
  showStartSequence();                    //menampilkan tulisan ketika start sequence

}

void loop() {
  
  for(int i=0; i timeLimit){         //Jika batas waktu habis sebelum menekan push button
          gameOver();                                 //game akan berakhir
        }

        if(digitalRead(buttonPin) == LOW){
            tone(buzzerPin, 272, 1);
        }
        
      }                       //keluar dari loop ini ketika push button ditekan

      delay(500);             //jeda beberapa saat sebelum melanjutkan ke babak selanjutnya, sehingga penekanan push botton tidak terbaca dua kali
      
    }
  //jika kamu selesai menebak ke 25 kata
  winner();   //tampilkan tulisan You Win
}


//--------------FUNCTIONS------------------------------

//DISPLAYS A COUNTDOWN TO START THE GAME
void showStartSequence(){
  
  lcd.clear();                  //bersihkan layar LCD
  
  lcd.setCursor(0,0);           //pindah kursor ke pojik kiri atas
  lcd.print("Katagori:");       //tampilkan tulisan "Katagori:"
  
  lcd.setCursor(0,1);           //move the cursor to the bottom left corner
  lcd.print("Hewan");           //tampilkan tulisan "Hewan:"
  
  delay(2000);                  //tunggu 2 detik

  lcd.clear();                  //bersihkan layar LCD
  lcd.print("Siap!");           //tampilkan tulisan "Siap!"
  delay(1000);                  //tunggu 1 detik

  lcd.clear();                  //bersihkan layar LCD
  lcd.print("3");               //tampilkan "3"
  delay(1000);                  //tunggu 1 detik

  lcd.clear();                  //bersihkan layar LCD
  lcd.print("2");               //tampilkan "2"
  delay(1000);                  //tunggu 1 detik

  lcd.clear();                  //bersihkan layar LCD
  lcd.print("1");               //tampilkan "1"
  delay(1000);                  //tunggu 1 detik
}

//GERNATES A RANDOM ORDER FOR THE WORDS TO BE DISPLAYED
void generateRandomOrder(){
  
  randomSeed(analogRead(0));            //reset random seed (Arduino perlu ini untuk menghasil nomor secara acak)
  
  for (int i = 0; i < 24; i++){         //lakukan langkah ini sampai 25 posisi terpenuhi
    
    int currentNumber = 0;              //variabel untuk menyimpan nomor saat ini
    boolean match = false;              //apakah currentNumber cocok dengan nomor sebelumnya?

    //menghasilkan nomor acak sampai kamu menghasilkan nomor yang tidak cocok dengan nomor yang lain di dalam array
    do {                                       
      currentNumber = random(0,arraySize);      //menghasilkan nomor acak dari 1-25
      match = false;                            //kita belum memeriksa kecocokan, jadi mulailah dengan asumsi bahwa itu tidak cocok
      for (int i = 0; i < arraySize; i++){      //untuk semua 25 nomor didalam array
        if (currentNumber == sequence[i]){      //currentNumber cocok dengan nomor mana saja?
          match = true;                         //jika sama, rubah variabel match ke kondisi true
        }
      }
    } while(match == true);                     //jika variabel match berisi true, menghasilkan nomor acak yang lain dan ulangi lagi
    sequence[i] = currentNumber;                //jika variabel match berisi false, kemudian tambahkan pada sequence
  }
}

//GAME OVER
void gameOver(){
  lcd.clear();                    //bersihkan layar LCD
  
  lcd.setCursor(0,0);             //pindah kursor ke pojok kiri atas
  lcd.print("Game Over");         //tampilkan "Game Over"
  
  lcd.setCursor(0,1);             //pindah kursor ke baris bawah
  lcd.print("Score: ");           //tampilkan tilisan "Score:"
  lcd.print(roundNumber);         //tampilkan nilai score (nomor babak adalah sama dengan nilai score)
  
  //mainkan musik untuk kekalahan
  tone(buzzerPin, 130, 250);      //E6
  delay(275);
  tone(buzzerPin, 73, 250);       //G6
  delay(275);
  tone(buzzerPin, 65, 150);       //E7
  delay(175);
  tone(buzzerPin, 98, 500);       //C7
  delay(500);

  while(true){}                   //berhenti di loop ini seterusnya
}

//WINNER
void winner(){
  lcd.clear();                    //bersihkan layar LCD
  
  lcd.setCursor(7,0);             //pindah kursor ke tengah atas
  lcd.print("YOU");               //tampilkan "You"
  
  lcd.setCursor(7,1);             //pindah kursor ke tengah bawah
  lcd.print("WIN!");              //tampilkan "WIN!"

  //mainkan musik 1Up
  tone(buzzerPin, 1318, 150);     //E6
  delay(175);
  tone(buzzerPin, 1567, 150);     //G6
  delay(175);
  tone(buzzerPin, 2637, 150);     //E7
  delay(175);
  tone(buzzerPin, 2093, 150);     //C7
  delay(175);
  tone(buzzerPin, 2349, 150);     //D7
  delay(175);
  tone(buzzerPin, 3135, 500);     //G7
  delay(500); 

  while(true){}                   //berhenti di loop ini seterusnya
}

Cara menggunakan:

Permainan dimulai dengan tampil tulisan "Katagori: Hewan" dan penghitung mundur untuk bersiap-siap. Ketika babak pertama dimulai kata yang harus ditebak muncul serta penghitung mundur muncul pada layar LCD. Saat push button ditekan sebelum batas waktu habis kata baru akan muncul. Jika kamu menang atau kalah akan memainkan musik pendek.

20 - Kunci Pengaman Ultrasonik

Kunci Pengaman Ultrasonik

Kamu hampir menyelesaikan semua latihan pada modul aplikasi ini, sekarang waktunya mengerjakan latihan terakhir membuat Arduino sebagai kunci pengaman Tidak seperti kunci pengaman pada umumnya yang sering kamu lihat seperti menggunakan sidik jari untuk membuka brankas, atau menggunakan sebuah kartu RFID untuk membuka pintu. Kali ini kamu menggunakan sensor yang cukup murah harganya menggunakan komponen yang ada pada kit ini sensor jarak ultrasonik HC-SR04, prinsip kerjanya adalah sensor mendeteksi kombinasi pengukuran jarak yang dimasukan pengguna dengan menggerak-gerakan tangan didepan sensor kemudian apabila sesuai akan mengaktifkan sebuah relay untuk menyalakan peralatan kunci elektronik sehingga pintu terbuka.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x LCD 1602
— 1 x HC-SR04 Ultrasonik
— 1 x Potensiometer
— 1 x Modul Relay
— 1 x Resistor 330Ω
— 23 x Kabel Jumper

Perakitan:

Rangkaian:

Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  20 - Kunci Pengaman Ultrasonik

  Menggunakan sensor jarak ultrasonik untuk mendeteksi kombinasi pengukuran jarak,
  kemudian dapat mengaktifkan sebuah relay untuk menyalakan peralatan kunci.
  LCD digunakan sebagai antarmuka memasukan kombinasi pengukuran jarak
*/


#include        //librarry liquid crystal kumpulan perintah untuk menampilakan karakter pada layar LCD

int pin[] = {20, 15, 20, 25};    //ini adalah kombinasi "PIN" (jarak dalam cm) yang digunakan untuk membuka kunci
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   //memberitahu Arduino pin mana saja yang dihubungkan dengan LCD

int trigPin = 6;           //hubungkan dengan pin trigger pada sensor jarak      
int echoPin = 7;           //hubungkan dengan pin echo pada sensor jarak     

void setup() {
  Serial.begin(115200);       //memulai komunikasi serial
  lcd.begin(16, 2);           //memberitahu libarry LCD bahwa kita menggunakan layar LCD berukuran lebar 16 karakter dan tinggi 2 karakter
  lcd.clear();                //membersihkan layar

  pinMode(trigPin, OUTPUT);   //pin trigger mengeluarkan pulsa listrik
  pinMode(echoPin, INPUT);    //pin echo akan mengukur durasi pulsa balik yang dikeluarkan dari sensor
}

void loop() {
  if (getDistance()<10 10cm="" 1="" accept="0;" ada="" adel="" antara="" apakah="" attempt="" berada="" checkpin="" dapat="" delay="" detik="" dibawah="" digunakan="" et="" hasil="" int="" jeda="" jika="" kombinasi="" lamanya="" lcd.clear="" lcd.print="" lcd.setcursor="" maka="" masukan="" memasukan="" memeriksa="" mencoba="" mengetahui="" menyimpan="" mulai="" nilai="" one="" penghalang="" pengukuran="" pin="" position="" ready...="" ready="" setiap="" t="4;" tiap="" toleransi="" untuk="" user="" void="" ya="">>>>____");
  attempt[0]=getDistance();
  delay(adel);
  lcd.setCursor(0,0);
  lcd.print(" Position Two ");
  lcd.setCursor(0,1);
  lcd.print(">>>>>>>>____");
  attempt[1]=getDistance();
  delay(adel);
  lcd.setCursor(0,0);
  lcd.print("Position Three ");
  lcd.setCursor(0,1);
  lcd.print(">>>>>>>>>>>>__");
  attempt[2]=getDistance();
  delay(adel);
  lcd.setCursor(0,0);
  lcd.print(" Position Four ");
  lcd.setCursor(0,1);
  lcd.print(">>>>>>>>>>>>>>>>");
  attempt[3]=getDistance();
  delay(adel);
  lcd.clear();
  lcd.print("Checking ... "); //menampilkan tulisan sebagai efek visual 
  delay(2000);
  lcd.clear();
 
  //menampilkan kombinasi masukan user pada monitor serial untuk debugging
  for (int z=0; z<4 attempt="" bandingkan="" dalam="" delay="" dengan="" ditetapkan="" if="" integer="" memberikan="" nilai="" sekarang="" serial.println="" sudah="" t="" toleransi="" yang="" z="">=(pin[0]-t) && attempt[0]<=(pin[0]+t)) { accept++; }
  if (attempt[1]>=(pin[0]-t) && attempt[1]<=(pin[0]+t)) { accept++; }
  if (attempt[2]>=(pin[0]-t) && attempt[2]<=(pin[0]+t)) { accept++; }
  if (attempt[3]>=(pin[0]-t) && attempt[3]<=(pin[0]+t)) { accept++; }
  if (accept==4) {
    //kombinasi masukan PIN benar
    lcd.setCursor(0,0);
    lcd.print(" * Accepted * ");
    //here you would enter code to run when the switch was successfully activated
    delay(2000);
  }
  else if (accept!=4) {
    //kombinasi masukan PIN salah
    lcd.setCursor(0,0);
    lcd.print(" * DENIED * ");
    //here you would enter code to run when the switch was unsuccessfully activated
    delay(2000);
  }
}


//Menghasilkan nilai jarak yang terukur oleh sensor jarak HC-SR04
int getDistance() {
  int echoTime;                   //variabel untuk menyimpan waktu yang diperlukan sebuah ping memantul dari sebuah objek
  int calcualtedDistance;         //variabel untuk menyimpan kalkulasi jarak dari echo time
  
  //mengirim pulsa ultrasonic pulse yang lamanya 10ms
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW);

  echoTime = pulseIn(echoPin, HIGH);      //menggunakan perintah pulsein untuk melihat seberapa lama waktu yang dibutuhkan
                                          //pulsa ubtuk memantul kembali ke sensor

  calcualtedDistance = echoTime/58;  //menghitung jarak dari objek yang telah memantulkan pulsa (setengah waktu pantul dikalikan dengan kecepatan suara)
  
  return calcualtedDistance;              //kirim hasil nilai jarak yang telah dihitung
}

Cara menggunakan:

Ketika pertama kali dinyalakan tampil tulisan "Ready" pada layar LCD, untuk mencoba memasukkan kombinasi jarak, kamu dapat mendekatkan tangan dengan sensor hingga jaraknya kurang dari 10cm sampai tampil tulisan "Get Ready". Kemudian akan muncul "Position One" dan kamu harus menempatkan tangan sesuai jarak/posisi pertama. Setelah itu tulisan akan berubah "Position Two" dan kamu merubah posisi/jarak tangan sesuai dengan posisi yang kedua, dan begitu selanjutnya sampai ke empat. Terakhir akan muncul tulisan "Checking...." untuk memeriksa apakah kombinasi kunci yang kamu masukan benar atau salah, akan tampil tulisan "Denied" jika salah dan "Accepted" kalau benar dan relay akan active untuk membuka kunci.

17 - Meteran Digital

Meteran Digital

Ini merupakan gabugan dari dua latihan sebelumnya menggunkan sensor jarak ultrasonik HC-SR04 untuk mengukur jarak yang kemudian ditampilkan pada layar LCD.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x LCD 1602
— 1 x HC-SR04 Ultrasonik
— 1 x Potensiometer
— 1 x Resistor 330Ω
— 19 x Kabel Jumper

Perakitan:

Rangkaian:


Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  17 - Meteran Digital

  Mengukur jarak benda yang berada didepan sensor ultrasonik HC-SR04 kemudian menampilkannya pada LCD
*/


#include           //librarry liquid crystal kumpulan perintah untuk menampilakan karakter pada layar LCD

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   //memberitahu Arduino pin mana saja yang dihubungkan dengan LCD

int trigPin = 6;            //hubungkan dengan pin trigger pada sensor jarak      
int echoPin = 7;            //hubungkan dengan pin echo pada sensor jarak     

float distance = 0;              //menyimpan nilai jarak yang diukur oleh sensor

void setup() {
  lcd.begin(16, 2);                 //memberitahu libarry LCD bahwa kita menggunakan layar LCD berukuran lebar 16 karakter dan tinggi 2 karakter
  lcd.clear();                      //membersihkan layar

  pinMode(trigPin, OUTPUT);   //pin trigger mengeluarkan pulsa listrik
  pinMode(echoPin, INPUT);    //pin echo akan mengukur durasi pulsa balik yang dikeluarkan dari sensor
}

void loop() {
  distance = getDistance();   //variabel untuk menyimpan nilai jarak yang diukur oleh sensor

  lcd.setCursor(0,0);             //set kursor pada posisi 0 (pojok kiri atas)
  lcd.print("Distance:");         //menampilkan Distance: pada posisi awal
  lcd.setCursor(0,1);             //memindahkan pada posisi 1 dibaris kedua
  lcd.print(distance,1);          //menampilkan jarak dan satuannya yang telah diukur pada layar LCD
  lcd.print(" cm    ");           //menampilkan unit satuan dalam cm
  delay(100);                      //jeda 50ms antara setiap pembacaan
}

//------------------FUNCTIONS-------------------------------

//Menghasilkan nilai jarak yang terukur oleh sensor jarak HC-SR04
float getDistance() {
  float echoTime;                   //variabel untuk menyimpan waktu yang diperlukan sebuah ping memantul dari sebuah objek
  float calcualtedDistance;         //variabel untuk menyimpan kalkulasi jarak dari echo time
  
  //mengirim pulsa ultrasonic pulse yang lamanya 10ms
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW);

  echoTime = pulseIn(echoPin, HIGH);      //menggunakan perintah pulsein untuk melihat seberapa lama waktu yang dibutuhkan
                                          //pulsa ubtuk memantul kembali ke sensor

  calcualtedDistance = echoTime / 58.26;  //menghitung jarak dari objek yang telah memantulkan pulsa (setengah waktu pantul dikalikan dengan kecepatan suara)
  
  return calcualtedDistance;              //kirim hasil nilai jarak yang telah dihitung
}

Cara menggunakan:

Kamu akan melihat secara realtime berapa jarak yang terukur oleh sensor jarak ultrasonik ketika ada objek berada didepan sensor tersebut. Coba maju mundurkan tanganmu didepan sensor tersebut untuk memeriksa apakah jarak yang terukur oleh sensor hampir sama dengan jarak yang sebenarnya. Apabila tidak terlihat coba atur knob potensiometer untuk merubah kontras dari tulisan pada layar LCD

16 - Termometer Digital

Termometer Digital

Ini merupakan gabugan dari dua latihan sebelumnya menggunakan sensor DHT11 untuk mengukur suhu dan kelembaban suatu ruangn kemudian ditampilkan pada layar LCD. Dalam pengembangannya kamu bisa menjadikannya sebagai alat pengontrolan dengan menambahkan sebuah modul relay juga menambahkan sedikit kode perintah untuk menghidupkan kipas angin ketika suhu ruangan terasa cukup panas.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x DHT11
— 1 x LCD 1602
— 1 x Potensiometer
— 1 x Resistor 330Ω
— 18 x Kabel Jumper

Perakitan:

Rangkaian:

Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  Termometer Digital

  Mengukur suhu dan kelembaban kemudian menampilkannya pada lacar LCD.
*/


#include           //menyertakan librarry liquid crystal kumpulan perintah untuk menampilakan karakter pada layar LCD
#include "DHT.h"                    //menyertakan library untuk menggunakan sensor DHT11

#define DHTPIN 8        //pin 8 yang dihubungkan dengan sensor
#define DHTTYPE DHT11   //jenis sensor yang digunakan yaitu DHT 11

DHT dht(DHTPIN, DHTTYPE);  //membuat sebuah objek untuk sensor, serta menentukan pin dan tipe sensor yg digunakan
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   //memberitahu Arduino pin mana saja yang dihubungkan dengan LCD

void setup() {
  dht.begin();    //memulai komunikasi dengan sensor

  lcd.begin(16, 2);                 //memberitahu libarry LCD bahwa kita menggunakan layar LCD berukuran lebar 16 karakter dan tinggi 2 karakter
  lcd.clear();                      //membersihkan layar LCD

}

void loop() {
  float temperature = dht.readTemperature();  //Membaca data suhu dalam Celsius menggunakan library DHT
  float humidity = dht.readHumidity();        //Membaca data suhu dalam Celsius menggunakan library DHT
  
  //Periksa jika terjadi kegagalan dalam pembacaan dan keluar sesegara mungkin untuk membaca ulang.
  if (isnan(temperature) || isnan(humidity)) {
    lcd.setCursor(0,0);             //set kursor pada posisi 0 (pojok kiri atas)
    lcd.print("Failed to read  ");  //menampilkan tulisan pada layar LCD
    lcd.setCursor(0,1);             //memindahkan pada posisi 0 dibaris kedua
    lcd.print("sensor!         ");  //menampilkan tulisan pada layar LCD

return;
  } else {
    lcd.setCursor(0,0);             //set kursor pada posisi 0 (pojok kiri atas)
    lcd.print("Temp: ");            //menampilkan "Temp:" pada posisi awal
    lcd.setCursor(6,0);             //memindahkan kursor pada posisi 6 dibaris pertama
    lcd.print(temperature,0);       //menampilkan nilai suhu pada layar LCD
    lcd.print((char)223);           //menampilkan simbol derajat
    lcd.print("C       ");          //menampilkan unit satuan dalam Celcius
    lcd.setCursor(0,1);             //memindahkan kursor pada posisi 0 dibaris kedua
    lcd.print("Hum : ");            //menampilkan Distance: pada posisi awal
    lcd.setCursor(6,1);             //memindahkan kursor pada posisi 6 dibaris kedua
    lcd.print(humidity,0);          //menampilkan nilai kelembaban pada layar LCD
    lcd.print("%       ");          //menampilkan unit satuan dalam %
  }
  

  delay(1000);                     //jeda 50ms antara setiap pembacaan
}

Cara menggunakan:

Kamu akan melihat secara realtime berapa suhu dan kelembaban pada layar LCD. Apabila tidak terlihat coba atur knob potensiometer untuk merubah kontras dari tulisan pada layar LCD.

13 Sep 2019

Apa itu Arduino?

Apa itu Arduino?

Pengenalan Arduino

Arduino adalah sebuah minimum sistem mikrokontroler bersifat open-source yang banyak digunakan untuk membagun sebuah project elektronika. Platform Arduino berisi dua yaitu hardware berupa board dan sebuah software atau IDE (Integrated Development Environment) yang berjalan pada komputer, digunakan untuk menulis dan mengisikan perogram ke board Arduino.

Platform Arduino menjadi sangat populer bagi orang-orang yang ingin memulai belajar elekronika khususnya mikrokontroler, karena dengan memnggunakan Arduino tidak lagi memerlukan hardware tambahan (sering disebut downloader) untuk mengisikan program kedalam board mikrokontroler, tapi hanya perlu kabel USB saja yang disambungkan dari komputer ke board Arduino. Bahasa pemograman yang dituliskan pada Arduino IDE menggunakan bahasa pemograman C++ yang telah disederhanakan, sehingga dapat lebih mudah dimengerti. Sebuah board Arduino didesain dengan standar bentuk board serta posisi dan susunan pin/port sehingga dapat lebih mudah digunakan dan diakses dengan perangkat lain.

Arduino tipe UNO adalah salah satu jenis board dari Arduino yang sangat populer karena merupakan pilihan yang sangat cocok bagi pemula. Pada latihan percobaan yang akan kita praktekan akan mengguanakan board Arduino UNO.


         
Percaya atau tidak, hanya memerlukan 10 baris kode kamu dapat membuat LED yang berada pada Arduino kamu berkedip. Kode-kode tersebut mungkin kamu belum memahaminya untuk sekarang, tapi setelah membaca dan mengikuti latihan-latihan kamu akan memahami maksud dari kode-kode tersebut atau bahkan dapat mengembangkannya.

Sejatinya Arduino hardware dan software didesain untuk dapat digunakan oleh seniman, desainer, penggiat hobi, hacker, pemula, dan semua orang yang tertarik untuk membuat sebuah objek interaktif. Arduino dapat berinteraksi dengna tombol, LED, motor, speaker, unit GPS, camera, internet, smartphone atau TV dan masih banyak lagi perangkat yang kamu bisa hubungkan dengan Arduino. Arduino sangat fleksibel untuk bisa membuat berbagai project, dimana software Arduino adalah gratis, dan hardware board juga dengan harga yang sangat terjangkau, keduanya baik hardware dan software mudah untuk dipelajari karena sudah terdapat komunitas besar dari pengguna-pengguna Arduino yang sudah berkontribusi contoh program dan instruksi-intruksi untuk membuat berbagai project elektronika yang dibuat menggunakan board Arduino.

Ada apa saja di dalam Arduino?

Terdapat banyak varian jenis board Arduino yang dapat digunakan untuk fungsi yang berbeda-beda. Beberapa board ada yang terlihat sedikit berbeda tidak seperti pada gambar di bawah, tetapi hampir semua komponen utama adalah sama:
Power (USB / Barrel Jack)
Setiap Arduino memiliki jalur yang akan dihubungkan dengan sumber tenaga/tegangan. Arduino UNO dapat diberi tegangan melalui USB (1) dapat berasal dari komputer, power bank atau berasal dari power supply melalui barrel jack (2). Koneksi kabel USB juga berfungsi untuk jalur pemograman ke board Arduino.

Perhatian: Jangan menggunakan power supply yang tegangannya lebih dari 20 Volt, karena dapat merusak board Arduino karena overpower. Tegangan yang dizinkan untuk Arduino adalah 6 - 12 Volt.

Pin (5V, 3.3V, GND, Analog, Digital, PWM, AREF)

Pin pada Arduino adalah tempat dimana untuk menyambungkan kabel anatara pin Arduino dengan perangkat-perangkat input/output (biasanya menghubungkan dengan rangakain project pada breadboard). Pin Arduino biasanya berupa female header sehingga untuk mendapatkan koneksi dari pin Arduino hanya cukup colokan kabel ke dalam lubang pin header tersebut. Terdapat beberapa pin pada Arduino dengan fungsi yang berbeda-beda, masing-masing pin diberi label sesuai nama dan fungsinya pada PCB.

— GND (3): Kependekan dari 'Ground'. Terdapat beberapa pin ground dan semuanya dapat digunakan.

— 5V (4) & 3.3V (5): 5V pin memberikan supply tegangan 5 volt, dan 3.3V pin memberikan supply tegangan 3.3 volt. Kebanyakan yang digunakan dengan Arduino bekerja pada tegangan 5 atau 3.3 volt.

— Analog (6): Pin yang berada di bawah tulisan 'Analog In' (A0 sampai A5 pada Arduino UNO) adalah pin Analog Input. Pin ini dapat membaca sinyal dari sensor analog (seperti sensor suhu) dan mengkonversinya kedalam nilai digital yang dapat kita baca.

— Digital (7): Terletak disisi lain dari analog pin terdapat pin digital (0 sampai 13 pada UNO). Pin ini dapat difungsikan sebagai digital input (seperti memberitahukan apabila button dipencet) dan digital output (seperti menyalakan sebuah LED).

— PWM (8): Kamu bisa melihat simbol (~) pada beberapa pin digital (3, 5, 6, 7, 9, 10, dan 11 pada UNO). Pin ini berfungsi sebagai pin digital biasanya, tapi bisa digunakan untuk Pulse-Width Modulation (PWM), sederhananya pin ini dapat mengeluarkan keluaran tegangan Analog.

— AREF (9): Singkatan dari Analog Reference. Pin ini digunakan untuk mengatur tegangan referensi external (antara 0 dan 5 volt) sebagai batas untuk pin analog input.

Tombol Reset

Seperti komputer pada umumnya, Arduino mempunyai tombol reset (10). Menekan tombol ini akan menghubungkan pin reset dengan ground dan merestart semua kode program yang ada di dalam Arduino. Reset ini akan sangat membantu jika kode tidak berjalan berulang-ulang, tapi kamu ingin menjalankannya beberapa kali.

Power LED Indicator

Tepat di bawah dan di sebelah kanan kata "UNO" di board Arduino, ada LED kecil di samping kata 'ON' (11). LED ini harus menyala setiap kali Anda memasukkan Arduino Anda ke sumber tegangan. Jika lampu ini tidak menyala, ada kemungkinan ada sesuatu yang salah.

TX RX LED

TX adalah singkatan dari transmit, RX adalah singkatan dari receive. Kata ini cukup familiar dalam istilah elektronik untuk menunjukkan pin sebagai komunikasi serial. Dalam board Arduino terdapat dua tempat tulisan TX dan RX - pertama pada pin digital 0 dan 1, dan yang kedua di samping indikator LED TX dan RX (12). LED ini akan memberi kita beberapa indikasi visual setiap kali Arduino menerima atau mentransmisikan data (seperti saat kita memasukan program baru ke board Arduino).

IC Utama

Berwarna hitam terdapat banyak kaki logam disampingnya adalah IC, atau Integrated Circuit (13). Anggap saja itu sebagai otaknya Arduino. IC utama pada Arduino UNO berbeda dengan jenis board Arduino lainnya tapi biasanya merupakan IC keluarga ATmega yang diproduksi oleh perusahaan ATMEL. Untuk mengetahui jenis IC yang dipakai bisa ditemukan secara tertulis disisi atas IC. Jika Anda ingin tahu lebih banyak tentang perbedaan antara IC tersebut, dapat dilihat pada datasheet.

Voltage Regulator

Regulator tegangan (14) berfungsi untuk membatasi jumlah tegangan yang masuk ke board Arduino. Anggap saja itu sebagai semacam gatekeeper; ini akan menghilangkan tegangan lebih yang mungkin membahayakan sirkuit. Tentu saja, ini memiliki batas, jadijangan menghubungkan Arduino Anda dengan yang lebih besar dari 20 volt.

12 Sep 2019

14 - Pengendali Relay

Pengendali Relay

Pada latihan ini kamu akan membuat sebuah saklar pengendali seperti yang digunakan di industri pabrik untuk menghidupkan sebuah mesin menggunakan dua push button Start/ON dan Stop/OFF untuk mematikannya. Kamu dapat mencoba memperaktekanya untuk mengendalikan sebuah kipas angin, dengan cara menghubungkan kabel colokan kipas angin dengan kontak terminal pada modul relay sebelum dihubungkan ke sumber tegangan listrik.

Relay: pada dasarnya merupakan sebuah saklar mekanik yang dikontrol secara listrik. di dalam relay terdapat lilitan dengan inti besi yang akan berubah menjadi magnet ketika dialiri arus listrik dan menarik tuas saklar sehingga menyebabkan saklar menjadi kontak. Relay mempunyai pin NC (Normally Close), Pin NC kebalikan dari pin NO yaitu akan terhubung antara pin COM dengan NC ketika kondisi relay mati. Pin-pin kontak pada relay dapat digunakan sesuai dengan kebutuhan apakah dalam keadaan aktif nyala atau mati. Kedua pin NO dan NC juga dapat digunakan untuk dua peralatan yang nyalanya bergantian.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x Modul Relay
— 2 x Push Button
— 2 x Resistor 10kΩ
— 10 x Kabel Jumper

Perakitan:

Rangkaian:

Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.


/*
  14 - Pengendali Relay

  Menyalakan dan mematikan relay dengan menggunakan dua push button START dan STOP.
*/


int startButton = 4;  //pin yang dihubungkan dengan push button start 
int stopButton = 5;   //pin yang dihubungkan dengan push button start
int relayPin = 8;    //pin yang dihubungkan dengan relay
int startButtonStatus = 0;    //variabel untuk menyimpan kondisi push button start
int stopButtonStatus = 0;     //variabel untuk menyimpan kondisi push button stop

void setup() { 
  pinMode(relayPin, OUTPUT);    //atur relayPin sebagai output
  pinMode(startButton, INPUT);  //atur relayPin startButton input
  pinMode(stopButton, INPUT);   //atur relayPin stopButton input

  digitalWrite(relayPin, LOW);  //biarkan kondisi relay mati pada kondisi awal
}

void loop() { 
  startButtonStatus = digitalRead(startButton);  //membaca kondisi pin startButton dan menyimpannya di startButtonStatus
  stopButtonStatus = digitalRead(stopButton);    //membaca kondisi pin stopButton dan menyimpannya di stopButtonStatus

  //memeriksa jika push button START kondisi HIGH, AND(&&) push button STOP kondisi LOW, jika ya nyalakan relay. 
  if (startButtonStatus == HIGH && stopButtonStatus == LOW) { 
    digitalWrite(relayPin, HIGH); 
  }

  //memeriksa jika push button START kondisi LOW, AND(&&) push button STOP kondisi HIGH, jika ya matikan relay.
  if (startButtonStatus == LOW && stopButtonStatus == HIGH) {
    digitalWrite (relayPin, LOW); 
  } 
}

Cara menggunakan:

Kamu seharusnya dapat mendengarkan suara klik ketika kontak relay aktif, dan melihat LED indikator pada modul relay menyala. Jadi ketika pertama kali Arduino dinyalakan kondisi relay mati, ketika kamu menekan push button ON maka relay akan aktif sebaliknya ketika menekan push button OFF maka relay akan mati.

01 - LED Berkedip

LED Berkedip

Pada umumnya percobaan pertama dari sebuah latihan Arduino adalah LED berkedip. Ini merupakan sebuah latihan yang cukup mudah dengan membuat sebuah LED yang terhubung ke pin 13 menyala selama selang waktu 1 detik kemudian mati selama selang waktu 1 detik dan begitu seterusnya. Pada percobaan ini tidak terdapat banyak fungsi yang digunakan tapi merupakan dasar untuk bisa memahami bahasa pemograman yang lebih kompleks nantinya.

+ Pada setiap latihan akan terdapat sebuah penjelasan singkat dan bagaimana percobaan tersebut bekerja.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x LED
— 1 x Resistor 330Ω
— 2 x Kabel Jumper

+ Ini merupakan daftar komponen yang di perlukan untuk menyelesaikan setiap latiahan.

Perakitan:

+ Ini adalah gambar perakitan yang memperlihatkan letak dari masing-masing komponen dan bagaimana komponen tersebut terhubung satu sama lainnya. Apabila kamu belum memahami gambar rangkaian kamu bisa mengikuti sama persis seperti gambar ini.

Rangkaian:

+ Ini adalah gambar rangkaian merupakan gambar skema yang terlihat sedikit rumit, pada gambar rangkaian tidak selalu menjelaskan dimana komponen diletakan relatif terhadap komponen lain, tapi menjelaskan bagaimana komponen-komponen tersebut terhubung.

Upload sketch Arduino pertama:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.


/*
  01 - Led Berkedip

  Menyalakan LED selama satu detik, kemudian mematikannya selama satu detik, terus berulang.
*/

//fungsi setup berjalan satu kali ketika papan Arduino mendapat power atau ketika push button reset diteken
void setup() {
  //inisialisasi digital pin LED_BUILTIN sebagai output.
  pinMode(LED_BUILTIN, OUTPUT);
}

//fungsi loop berjalan berulang dan terus menerus
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   //menyalakan LED (HIGH merupakan level tegangan)
  delay(1000);                       //menunggu selama 1 detik
  digitalWrite(LED_BUILTIN, LOW);    //mematikan LED dengan membuat level tegangan menjadi LOW
  delay(1000);                       //menunggu selama 1 detik
}
+ Ini adalah program/sketch yang akan dimasukan kedalam Arduino, akan ada sketch yang berbeda pada setiap latihan.
Untuk mengetahui bagaimana program di atas berjalan pada Arduino, di dalamm sketch tersebut kamu bisa membaca penjelan dari setiap baris kode yang ditulis sebagai komen.

Cara menggunakan:

Kamu akan melihat LED berkedip menyala dan mati. Jika ini tidak terjadi, pastikan kamu melakukan tahap demi tahap dari percobaan dengan benar pada latihan 01 dan pastikan kamu telah upload sketchnya kedalam Arduino.

Coba rubah nilai 1000 dari fungsi delay() dengan nilai yang berbeda dan lihat bagaimana mempengaruhi waktu berkedip dari LED. Nilai yang kecil akan membuat loop berjalan cepat. (Mengapa?)

Tantangan lain:
* kurangi delay ke 10 ms. Dapatkah kamu melihat LED masih berkedip?
Temukan nilai delay terkecil sehingga kamu masih dapat melihat LED berkedip.

+ Lihat hasilnya jika percobaan latihan kamu selesai dan berjalan benar.

Apa itu Arduino?

Pengenalan Arduino

Arduino adalah sebuah minimum sistem mikrokontroler bersifat open-source yang banyak digunakan untuk membagun sebuah project elektronika. Platform Arduino berisi dua yaitu hardware berupa board dan sebuah software atau IDE (Integrated Development Environment) yang berjalan pada komputer, digunakan untuk menulis dan mengisikan perogram ke board Arduino.

Platform Arduino menjadi sangat populer bagi orang-orang yang ingin memulai belajar elekronika khususnya mikrokontroler, karena dengan memnggunakan Arduino tidak lagi memerlukan hardware tambahan (sering disebut downloader) untuk mengisikan program kedalam board mikrokontroler, tapi hanya perlu kabel USB saja yang disambungkan dari komputer ke board Arduino. Bahasa pemograman yang dituliskan pada Arduino IDE menggunakan bahasa pemograman C++ yang telah disederhanakan, sehingga dapat lebih mudah dimengerti. Sebuah board Arduino didesain dengan standar bentuk board serta posisi dan susunan pin/port sehingga dapat lebih mudah digunakan dan diakses dengan perangkat lain.


Apa itu led berkedip?





/*
  01 - Led Berkedip

  Menyalakan LED selama satu detik, kemudian mematikannya selama satu detik, terus berulang.
*/

//fungsi setup berjalan satu kali ketika papan Arduino mendapat power atau ketika push button reset diteken
void setup() {
  //inisialisasi digital pin LED_BUILTIN sebagai output.
  pinMode(LED_BUILTIN, OUTPUT);
}

//fungsi loop berjalan berulang dan terus menerus
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   //menyalakan LED (HIGH merupakan level tegangan)
  delay(1000);                       //menunggu selama 1 detik
  digitalWrite(LED_BUILTIN, LOW);    //mematikan LED dengan membuat level tegangan menjadi LOW
  delay(1000);                       //menunggu selama 1 detik
}

7 Sep 2019

SwitchIoT 1.0


SwitchIoT adalah aplikasi yang berjalan pada platform Android dapat membantu kita membuat sebuah perangkat IoT smart switch berbasis chip ESP8266 dengan sangat mudah. Untuk mulai membuatnya cukup ikutin panduan "Getting Started" yang ada pada aplikasi, yaitu pertama tentukan hardware apa yang akan digunakan (ESP01, Wemos, NodeMCU & Sonoff basic), kemudian upload firmware dari aplikasi ini melalui USB OTG ke hardware kamu, dan terakhir setelah selesai upload hubungkan perangkat SwitchIoT kamu dengan sebuah jaringan internet (router) menggunakan aplikasi ini. Selesai deh sekarang kamu bisa mengontrol sebuah saklar dari mana saja, mudah bukan!!


Untuk tutorial lengkap cara membuat hardware SwitchIoT bisa mengikuti tutorial lengkap dari Instructable disini.

Apabila ada pertanyaan atau menemukan sebuah 'bug' atau saran mengenai app tersebut tulis saja dikolom komentar dibawah, semoga app bisa menjadi lebih baik.

Jangan lupa berikan bintang dan reviewnya pada halaman Google playstore SwitchIoT yaa!

21 Feb 2016

Bluino-ONE

Bluino-One


Bluino merupakan embaded system berbasis Arduino uno yang telah ditambahkan modul bluetooth HC05 kedalamnya sehingga menjadikan Bluino one dapat diprogram secara wireless menggunakan Laptop (Arduino software) atau menggunakan Android (Bluino Loader).




Spesifikasi Hardware:

Bluino one memiliki bentuk dan susunan pin yang sama seperti arduino uno, sehingga banyak shield arduino yang dapat dipasangkan diatas Bluino one,  seperti shield motor, shield LCD, shield breadboard, shield 7 segment, shield relay dan banyak shield lainnya.




Socket micro USB berfungsi hanya sebagai line power 5V, tidak berfungsi sebagai line programming. Pemograman hanya dapat dilakukan melalui koneksi bluetooth. Led biru adalah indikator yang berkedip ketika Bluino one sedang diprogram atau ketika terhubung dengan perangkat bluetooth (Laptop/Android). Jumper SMD pada posisi defaultnya terhubung untuk mengaktifkan auto reset ketika mode programming.

Microcontroller Atmega328 (TQFP)
Communication Bluetooth HC-05
Operating Voltage 5V
Digital I/O Pin 12 (dengan 6 dapat berfungsi sebagai PWM output)
DC Current per I/O pin 40mA
Flash Memory 32KB (Atmega328) dimana 0.5KB digunakan oleh bootloader
SRAM 2KB (Atmega328) 
EEPROM 1KB (Atmega328) 
Clock Speed 16Mhz
Ukuran 72x54mm
Berat 50gr



Pemograman:

Banyak yang sudah mengetahui bagaimana cara memasukan sketch/code program ke dalam board arduino uno yaitu buatlah sketch pada aplikasi Arduino IDE dilaptop kemudian hubungkan arduino dengan laptop memakai kabel USB, dan klik upload.



Dengan Bluino one menjadi sangat mudah dan praktis ketika proses pemograman, cukup menghubungkan Bluino one dengan power 5V dimana saja, buatlah sketch/code program bisa dari laptop melalui aplikasi Arduino IDE ataupun dari Android melalui aplikasi Bluino Loader, dan klik upload, maka sketch/code program akan terkirim melalui bluetooth.









Aplikasi Pemograman:

Software untuk memprogram Bluino one melalui laptop bisa kamu download Arduino software, dan ikuti langkah demi langkah cara instalasinya. Aplikasi untuk memprogram Bluino one melalui Android bisa kamu download Bluino Loader dari playstore. Cara menggunakan Bluino Loader bisa kamu ikuti petunjuk disini


Project yang dapat dibuat oleh Bluino-ONE:

Bluino one dapat melakukan apa yang Arduino uno bisa lakukan, sudah cukup banyak sekali tutorial yang bisa kamu dapatkan dari internet bagaimana cara membuat sesuatu project yang menarik dengan arduino. Dengan adanya modul bluetooth pada Bluino one memberikan suatu kelebihan dapat diprogram/komunikasi melalui bluetooth sehingga bisa membuat project kamu jauh lebih menarik dari arduino.





9 Feb 2016

Penggunaan Aplikasi Bluino Loader

Bluino Loader

Bluino merupakan hardware mikrokontroller pengembangan dari Arduino uno yang telah ditambahkan modul bluetooth HC05, sehingga menjadikan Bluino dalam cara pemogramannya bisa menggunakan Android secara wireless melalui komunikasi bluetooth. Aplikasi Bluino Loader berfungsi untuk menulis baris program/sketch dan mengunggah baris program/sketch tersebut ke Bluino hardware. Bluino Loader dapat didownload dari playstore secara gratis. Aplikasi Bluino Loader disusun berdasarkan pada aplikasi Turbo Editor oleh VladMihalaci dan aplikasi opensource lainnya.


Langkah awal untuk dapat menggunkan Bluino, buka aplikasi playstore pada androidmu kemudian search dengan kata kunci "Bluino Loader" seperti gambar dibawah.






aplikasi ini berukuran sekitar 30MB dan setelah dinstalkan akan membutuhkan ruang memori internal sekitar 150MB, maka pastikan ruang memori di androidmu mencukupi sebelem menginstal aplikasi ini.



Apabila kapasitas memori masih besar untuk melanjutkan instali pilih aplikasi Bluino Loader dan setelah itu tekan install



Setelah proses instalasi selesai (100%), buka aplikasi Bluino Loader, apabila muncul jendela seperti gambar dibawah tekan allow untuk mengaktifkan perangkat bluetooth.


ketika muncul pada layar seperti gambar dibawah, tekan open a file/buka file, kemudian pilih salah satu file .ino yang ada didalam folder BluinoLoader (folder examples->02.Basic->Blink->Blink.ino). Apabila pertama kali membuka file setelah proses intalasi, Bluino Loader akan mengekstrak tool yang dibutuhkan aplikasi, jadi tunggu sampai proses ini selesai.


Kamu akan memasuki layar editor seperti gambar dibawah, disini kamu bebas menulis dan mengedit baris program/sketch. Pada layar editor terdapat dua icon disebelah kanan atas yaitu icon upload(tanda panah kekanan) dan icon monitor(layar monitor).


Icon upload berfungsi untuk mengcompile baris program pada layar editor, setelah proses compile berhasil akan muncul layar seperti dibawah, selanjutnya memilih perangkat bluetooth (Bluino hardware) untuk memprogram Bluino hardware kamu.


Apabila sebelumnya belum melakukan proses pairing dengan Bluino hardware, tekan tombol "scan for device" untuk mencari Bluino hardware yang terdekat dan pilih Bluino hardware tersebut. Masukan kode pairing standar "1234".


Tunggu beberapa saat hinggga proses upload berhasil. Perhatikan pada Bluio hardware ketika proses upload led biru akan berkedip sampai proses berhasil.

Icon Serial monitor hanya berfungsi pada Bluino Loader Pro. Serial monitor berfungsi sebagai interface antara Bluino hardware dengan android, dimana ketika program memiliki fungsi "Serial" seperti Serial.read() dan Serial.println(). Perhatian pada Bluino hardware, baudrate komunikasi serial harus diset pada "115200" dengan cara Serial.begin(115200).