Categories: Intel Developer Zone

Tutorial Intel Galileo – Bagian 2: Perakitan & Koding

Sebelumnya: Tutorial Intel Galileo – Bagian 1: Membuat Tempat Duduk Sehat

Perakitan

Komponen-komponen yang digunakan pada perakitan proyek HealthySeat ini adalah papan Intel Galileo dan beberapa komponen yang ada pada Grove Starter Kit Plus yaitu adalah sebagai berikut:

  • Button
  • LCD RGB Backlight
  • LED
  • Light Sensor
  • Relay
  • Shield

Untuk memulai perakitan, langkah pertama adalah memasang komponsen Shield ke papan Intel Galileo (hati-hati dengan pinnya karena mudah bengkok).

Selanjutnya kita hubungkan komponen Button ke pin D4 dan komponen LED ke pin D8 di Shield yang sudah dipasang.

Kemudian hubungkan komponen LCD ke pin I2C dan komponen Light Sensor ke pin A0

Lalu hubungkan komponen Smart Relay ke pin D7. Relay juga terhubung dengan baterai dan lampu sebagai alat penerangan otomatis.

Setup Koneksi Galileo ke PC

Setelah selesai proses perakitan komponennya, sekarang saatnya kita melakukan sedikit koding. Pertama-tama kita harus mengatur Galileo agar dapat terkoneksi dengan PC / laptop Windows yang digunakan.

Ada 2 file utama yang dibutuhkan agar Galileo dapat terhubung dengan komputer Windows yaitu:

Setelah semua siap, pasang kabel Power ke Galileo dan hubungkan juga Galileo ke komputer dengan menggunakan kabel mini-USB to USB (selalu hubungkan Power terlebih dahulu baru yang lain).

Buka Device Manager dan pada control panel akan terdapat seperti berikut ini:

Hal ini menandakan driver belum tersedia. Solusinya adalah klik kanan pada Gadget Serial v2.4 lalu pilih Update Driver Software, lalu pilih “Browse my computer from driver software” dan navigasikan ke lokasi Arduino IDE yang telah diekstrak. Jika sukses maka akan muncul Galileo (COM#) pada bagian Ports (COM & LPT).

Coding

Jalankan Arduino IDE dan selalu konfigurasikan agar sesuai untuk Intel Galileo yang terhubung seperti yang terlihat di gambar di bawah ini:

Setelah semua siap maka dapat menuliskan skrip koding berikut:

//Memasukkan library
#include <Wire.h>
#include "rgb_lcd.h"

//Mendeklarasikan variabel
rgb_lcd lcd;
const int pinButton = 4;
const int pinRelay = 7;
const int pinLED = 8;
const int sensorLight = 0;
const int timeLimit = 15;

int timeLast;
int timeMillis;
int timeNow;

void setup() {
  
  //Memberikan nilai
  pinMode(sensorLight, INPUT);
  pinMode(pinButton, INPUT);
  pinMode(pinRelay, OUTPUT);  
  pinMode(pinLED, OUTPUT);
  
  //Menjalankan LCD dan mencetak string
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(2,0);
  lcd.print("Healthy Seat");
  lcd.setRGB(255, 255, 255);
  delay(3000);
}

void loop() {
	
  //Membaca masukkan sensor
  int buttonState = digitalRead(pinButton);
  int lightVal = analogRead(sensorLight)+210;
  
  //Saat button dalam posisi HIGH  
  if (buttonState == HIGH){

    //Menjalankan penghitung waktu
    timeNow = timeMillis - timeLast;
    timeMillis = millis()/1000;
    
    //Jika waktu masih di bawah batas
    if (timeNow <= timeLimit){
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Ambient Light is");
    
    //Ketika Light Sensor mendapatkan nilai kurang dari
    if (lightVal < 500){
    lcd.setCursor(0,1);
    lcd.print("Too Dark");
    digitalWrite(pinRelay, HIGH);
    digitalWrite(pinLED, HIGH);
    delay(1000);
    digitalWrite(pinLED, LOW);
    }
    
    //Ketika Light Sensor mendapatkan nilai lebih dari
    else if (lightVal > 950){
    lcd.setCursor(0,1);
    lcd.print("Bright Enough");
    digitalWrite(pinRelay, LOW);
    
    delay(150);
      } 
     
    else {
    lcd.setCursor(0,1);
    lcd.print("Bright Enough");
    digitalWrite(pinLED, LOW);
 
    delay(150);
      }     
    }
     
  //Saat waktu lebih dari batas. LCD menjadi kedip
  if (timeNow > timeLimit){
      lcd.setCursor(0,0);
      lcd.print("You sit too long");
      lcd.setCursor(0,1);
      lcd.print("Go have a break");
      lcd.setRGB(255, 0, 0);
      delay(500);
      lcd.setRGB(255, 255, 255);   
      delay(500); 
    }
  }
  
    //Jika button dalam posisi LOW
    else if (buttonState == LOW){

	 //Mematikan Relay dan mencetak string
      digitalWrite(pinRelay, LOW);
      lcd.clear();
      lcd.setCursor(1,0);
      lcd.print("Being Healthy");
      lcd.setCursor(4,1);
      lcd.print("is Good");
      timeLast = millis()/1000;
      delay(500);
    }
}

Uji Coba

Compile terlebih dahulu untuk melakukan pengecekan kesalahan, jika semua sudah benar baru bisa melakukan proses upload.

Skrip akan langsung aktif dan LCD pada Intel Galileo akan menyala dan menampilkan teks sebagai kondisi normal.

Untuk menguji lebih lanjut tekan komponen Button secara terus menerus yang menyebabkan teks pada LCD berubah menandakan skrip sedang berjalan.

Untuk menguji sensor cahaya, tutup sensor cahanya sehingga mendapatkan sedikit pencahayaan yang menyebabkan komponen Relay berubah kondisi mengaktifkan lampu. LED juga akan menyala sebagai pengganti jika tidak menyediakan lampu otomatis.

Saat batas waktu telah lewat maka LCD akan berkedip merah-putih untuk menghentikannya lepas komponen Button yang akan menyebabkan Galileo kembali ke kondisi normal dan seluruh lampu akan ikut mati.

Sebelumnya: Tutorial Intel Galileo – Bagian 1: Membuat Tempat Duduk Sehat

Selanjutnya: Tutorial Intel Galileo – Bagian 3: Membuat Casing

Share
Published by
Fauzi Rasyad

Recent Posts

Cisco Peringkatkan Kerentanan Kritis Dalam Cisco Data Center Network Manager

Cisco mengungkapkan tiga kerentanan dalam layanannya. Ini dia penanganannya!

January 7, 2020

Optimal idM Meluncurkan OptimalCloud Partner Platform

Ini ulasan mengenai keuntungan OptimalCloud Partner Platform, platform baru milik Optimal idM!

January 6, 2020

Google Siapkan Coral Accelerator Module dan Coral Dev Board Mini untuk Tahun 2020

Google kenalkan dua koleksi baru dari Coral. Dua koleksi baru ini bakal menambah kemampuan pengembangan…

January 3, 2020

Google Kembangkan Model Kecerdasan Buatan Untuk Deteksi Kanker Payudara

Raksasa Google baru saja mengembangkan sistem pemindaian kanker payudara berbasis kecerdasan buatan. Bagaimana hasilnya, berikut…

January 3, 2020

Google Dorong Fitur Bubbles Notifications Ke Versi Stabil

Meski dikenalkan bersamaan dengan Android 10 Beta, sampai kini Bubbles Notifications masih dalam tahap pengembangan.…

December 31, 2019

Samsung Siapkan Lima Proyek dan Empat Startup C-Lab Untuk CES 2020

Samsung akan kembali memamerkan hasil program C-Lab ke ajang CES 2020. Ini dia proyek dan…

December 30, 2019