Ngoprek IoT

Kata IoT – Internet of Things – sedang ngetop sekarang. Dimana-mana saya melihat kata ini sebagai bagian dari seminar, kompetisi, startup, dan seterusnya. Pokoknya seru saja. Nah, sayapun tidak mau ketinggalan.

Saya mencoba menggunakan Arduino UNO dan board buatan DycodeX untuk kode IoT ini. (Sebetulnya saya punya banyak board lainnya, tapi itu untuk cerita terpisah.) Selain board ini saya juga menggunakan LED board buatan ProcodeCG. Berikut ini adalah beberapa video yang saya buat untuk menunjukkan demo / contoh kode dengan board-board di atas.

Dalam dunia hardware, IoT, salah satu cara memulai atau mencoba adalah membuat demo “blinking LED”. Kalau di dunia software, ini adalah “Hello World” versi hardware. Biasanya sih blinking LED-nya hanya satu LED. Kali ini saya mencoba menggunakan beberapa LED biar lebih seru.

Video di bawah ini menunjukkan demo Knight Rider, yaitu LED yang bergerak dari kiri ke kanan dan sebaliknya. Nama ini diambil dari film seri Knight Rider (jaman dahulu dan versi barunya). Dalam film tersebut ada mobil cerdas yang bernama KITT. Kalau dia aktif, maka ada LED yang bergerak-gerak seperti ini.

Dalam video di bawah ini, saya membuat Knight Rider LED juga tetapi dengan menggunakan board Arduino UNO.

Video di bawah adalah demo untuk membuat LED seperti meter yang ada di radio (equalizer). Board yang digunakan adalah DycodeX ESpectro.

Oh ya, kode-kode untuk demo di atas dapat dilihat dan diunduh dari koleksi saya di github.com yaitu di: https://github.com/rahard/BRiot-stuff. Selamat ngoprek.

Arduino dan LDR

Baru mulai mainan Arduino lagi. Kali ini eksperimen masih seputar penggunaan LDR (Light Dependent Resistor) untuk mendeteksi cahaya kemudian menyalakan LDE. Idenya adalah untuk mendeteksi orang yang lewat, kemudian menyalakan lampu (dalam hal ini diwakili oleh LED). Rangkaian menyusul. Ini video hasilnya.

Videonya kurang bagus. Maklum baru pertama kali dan cahayanya kurang. Tapi setidaknya bisa terlihat kalau LDR tertutup oleh jari / tangan, maka LED akan menyala. Sensitivitas dari LDR bisa diatur. Lamanya LED menyala juga bisa diatur. Bisa dilihat dari kodenya di bawah ini.

int LEDPIN = 6;
int LDRPIN = 0;
int lightVal = 0;

void setup()
{
  pinMode(LEDPIN, OUTPUT);
}

void loop()
{
  lightVal = analogRead(LDRPIN);
  if (lightVal > 900) { // sensitivitas LDR
  digitalWrite(LEDPIN, HIGH); // hidupkan LED
  delay(300); // lamanya LED menyala
  } else {
  digitalWrite(LEDPIN, LOW); // matikan LED
  }
}