Halo Fanbot!
Sedang ada project apa hari ini?
Buat kalian pecinta olahraga, pastinya tidak asing dengan permainan bulu tangkis kan?
Bulu tangkis merupakan jenis olahraga yang menggunakan raket untuk menyerang dan bertahan agar kok (bola untuk bulu tangkis) tidak jatuh di wilayah kita. Permainan ini memiliki 5 variasi pemain. Mulai dari tunggal putra, tunggal putri, ganda putra, ganda putri, dan campuran. Lalu apa hubungannya dengan project hari ini?
Nah pada project kita kali ini, kita akan membuat scoring yang dapat ditambahkan dengan menggunakan aplikasi di smartphone. Fungsinya agar kita tidak perlu menghubungkan papan score dengan kabel yang panjang dan tentunya akan lebih praktis. Bagaimana caranya?
Pada project ini, kita akan menggunakan NodeMCU ESP8266 sebagai mikrokontroler yang dapat mengendalikan display dan dapat menerima informasi dari smartphone. NodeMCU ESP8266 merupakan mikrokontroler yang sudah memiliki fasilitas wifi. Sehingga dapat dihubungkan dengan internet untuk bisa melakukan komunikasi. Aplikasi Smartphone yang akan kita gunakan adalah blynk. Aplikasi blynk dapat melakukan komunikasi melalui bluetooth, wifi, dan internet. Nah, untuk memperoleh jarak yang lebih fleksibel, kita akan menggunakan internet. Dari aplikasi Blynk ini, kita dapat mengendalikan display. Bagaimana caranya? Yuk kita simak.
Alat dan Bahan
- Komputer yang terinstall Arduino IDE
- NodeMCU ESP8266 1
- Projectboard 1
- LCD 16×2 1
- I2C LCD 1
- Kabel jumper Secukupnya
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
Rangkaian
Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik. Rapikan letak device dan kabel jumpernya, agar kita lebih mudah untuk mengoreksi jika sistem tidak berjalan dengan baik.
Pengaturan Blynk
Sebelum kita masuk ke program Arduino IDE, kita harus membuat tampilan pada aplikasi Blynk terlebih dahulu. ikuti langkah berikut ini.
buka aplikasi Blynk, kemudian pilih New Project.
Berikan nama untuk aplikasi anda di Project name, setelah itu pilih device yang akan kita gunakan (NodeMCU ESP8266). Pilih mode tampilan untuk aplikasi Blynk kita. Dark untuk mode gelap. Light untuk mode terang. klik Create.
Jika Sudah maka akan muncul tampilan seperti di bawah ini. Klik tanda plus untuk menambahkan Widget Box.
Pilih Button untuk tombol menambahkan score pemain 1, score pemain 2, dan untuk reset (reset menggunakan style button. Anda dapat mengubahnya menjadi button biasa. Sama saja). Tombol inilah yang memiliki tugas untuk mengirimkan data untuk ditampilkan di scoring.
Klik widget button untuk pemain 1. Setelah muncul tampilan seperti berikut ini, tuliskan namanya. Ubah output menjadi V4. Sedangkan pada bagian clock (masih di output). Berikan angka 0 (untuk off) dan 1 (untuk on). Pada pilihan mode, pilihlah Push agar tombol hanya masuk ke On saat ditekan saja.
Lakukan hal yang sama seperti button pemain 1. Namun bedakan outputnya. Pada button pemain 2, gunakan V5, dan pada reset, gunakan V6. Selain itu, sama saja.
Pilih tanda segitiga di kanan atas untuk menjalankan aplikasi.
Tunggu hingga NodeMCU sudah diupload program agar dapat terhubung dengan Blynk.
baca juga: Tutorial IoT Membuat Pengukur Jarak dengan Sensor Ultrasonik dan Blynk
Program
Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Pastikan sudah memasukkan library blynk dan Liquid Crystal agar program dapat berjalan dengan baik.
/* Scoring untuk bulu tangkis */ #define BLYNK_PRINT Serial //Pendeklarasian Library #include <ESP8266WiFi.h>; #include <BlynkSimpleEsp8266.h>; #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); char auth[] = "************"; // masukkan kode autentikasi disini char ssid[] = "************"; //nama wifi char pass[] = "************"; //password String pemain1 = "Gin"; //nama pemain 1 String pemain2 = "Jon"; //nama pemain 2 int button1; int button2; int buttonReset; int score1 = 0; //score untuk pemain 1 int score2 = 0; //score untuk pemain 2 BLYNK_WRITE(V4){ //V4 untuk menambah score pemain 1 di LCD button1 = param.asInt(); if (button1 ==1){ score1++; } } BLYNK_WRITE(V5){ //V5 untuk menambah score pemain 2 di LCD button2 = param.asInt(); if (button2 ==1){ score2++; } } BLYNK_WRITE(V6){ //Mereset nilai menjadi 0 buttonReset = param.asInt(); if (buttonReset ==1){ score1 = 0; score2 = 0; } } void setup(){ //Pengaturan Pin dan Variabel Serial.begin(9600); lcd.init(); lcd.backlight(); Blynk.begin(auth, ssid, pass); } void loop(){ //Perulangan Program Blynk.run(); // menampilkan di LCD lcd.setCursor(5,0); lcd.print(" >< "); lcd.setCursor(0,0); lcd.print(pemain1); lcd.setCursor(10,0); lcd.print(pemain2); lcd.setCursor(3,1); nol(score1); lcd.setCursor(13,1); nol(score2); } void nol(int data){ //memberi nilai 0 jika angka dibawah 10 if (data >= 0 && data < 10){ //0 - 9 Serial.write('0'); // } Serial.print(data); } |
Jangan lupa masukkan kode autentikasi yang sudah dikirimkan oleh blynk ke program arduino IDE. Copy saja dari email anda ke tanda bintang di char auth[] = “**********”;. Selain itu, masukkan juga nama wifi dan password yang anda gunakan.
Upload program di atas ke NodeMCU ESP8266 yang anda gunakan. Lalu cek pada aplikasi blynk anda, apakah koneksi antara NodeMCU ESP8266 dan Blynk sudah terhubung atau belum. Jika belum, coba cek di serial monitor di arduino IDE, apakah blynk sudah terhubung dengan internet atau belum.
baca juga: Tutorial Membuat IoT untuk Mengatur Posisi Hadap Antena TV dengan Blynk
Hasil dari project di atas adalah akan dimunculkan pada LCD berupa nama singkat pemain 1 dan pemain 2, serta tentunya ada score di bawahnya untuk menunjukkan score saat ini. Score bisa kita tambahkan dengan menggunakan aplikasi blynk yang sudah kita buat sebelumnya. Setiap klik, kita akan menambahkan 1 point. Setelah selesai, kita dapat melakukan reset point dengan tombol yang ada pada aplikasi juga.
Bagaimana? Tertarik untuk mencoba membuatnya? Nah kalian dapat mengembangkannya dengan mengganti LCD menjadi 7 segment atau display lainnya ya.
Selamat mencoba.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!