Tutorial Project Internet of Things : Membuat Papan Scoring Sepak Bola Menggunakan Telegram

Indobot Update

Halo Fanbot!

Halo para pecinta sepak bola!

Sepak bola merupakan pertandingan olahraga yang paling populer di dunia. Petandingan 11 lawan 11 ini memiliki tujuan utamanya yaitu mencetak gol di gawang lawan. Tentunya dengan berbagai peraturan yang ditetapkan dan diawasi oleh wasit agar tidak ada kecurangan dan pelanggaran tiap timnya.

Nah pada project kali ini, kita akan membuat papan scoring sepak bola dengan kendali menggunakan telegram.

Telegram merupakan aplikasi yang sudah sangat sering kita gunakan. Biasanya telegram ini berfungsi untuk komunikasi secara personal maupun grup. Selain itu, Telegram juga dapat digunakan untuk melakukan berbagi file dalam ukuran yang lumayan besar. Lalu bagaimana Telegram ini bisa berfungsi untuk mengendalikan tampilan pada papan scoring sepak bola?

Telegram sudah memiliki bot yang dapat dikembangkan sebagai monitoring dan kontrolling dengan sistem IoT dengan device mikrokontroler. Mikrokontroler yang digunakan pada project ini adalah nodeMCU ESP8266. Jadi nanti kita akan menghubungkan NodeMCU ESP8266 dengan telegram, agar telegram dapat mengatur score dari kedua pemain. Display akan dimunculkan dengan program di NodeMCU ESP8266.

Bagaimana cara membuatnya? yuk kita simak.

Alat dan juga Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino IDE
  2. NodeMCU ESP8266 1
  3. LCD 16×2 1
  4. I2C LCD 1
  5. Projectboard 1
  6. Kabel jumper Secukupnya

 

Belajar Elektronika, Arduino, dan juga 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 semua device agar lebih mudah memperbaikinya semisal terjadi kesalahan.

baca juga: Tutorial Project Internet of Things : Setting Running Text Masjid Hanya dari Rumah menggunakan Telegram

Program

Tahap selanjutnya adalah penulisan program pada Arduino IDE. Perhatikan keterangan (comment) untuk memahami program dengan baik. Jangan lupa untuk memasukkan terlebih dahulu library Liquidcrystal, CTBot dan Arduino Json.

 

//Program Pengaturan Score dengan Telegram
#include "CTBot.h" //Pendeklarasian Library
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); 
CTBot myBot;
TBMessage msg;

String ssid = "*********";    //nama ssid wifi kalian
String pass = "*********";  //password wifi kalian
String token = "XXXX";    //token bot baru kalian
const int id = XXXX;      //id telegram kalian

String tim1 = "tim1"; //nama Tim 1
String tim2 = "tim2"; //nama tim 2
int score1 = 0; //score untuk pemain 1
int score2 = 0; //score untuk pemain 2

void setup()
{
  Serial.begin(9600);
  lcd.init();                      // initialize the lcd 
  // Print a message to the LCD.
  lcd.backlight();
  Serial.println("Starting TelegramBot...");
  myBot.wifiConnect(ssid, pass);
  myBot.setTelegramToken(token);
  if (myBot.testConnection()) {
    Serial.println("Koneksi Bagus");
  } else {
    Serial.println("Koneksi Jelek");
  }
    myBot.sendMessage(msg.sender.id, (String)"Telegram Bot untuk Papan Score Sepakbola" +
        "\nScore tim 1, kirim >>> gol1"+
        "\nScore tim 2, kirim >>> gol2"+
        "\nRevisi Score 1, kirim >>> rev1"+
        "\nRevisi Score 2, kirim >>> rev2"+
        "\nReset, kirim>>> reset"
        );
}


void loop()
{
    // menampilkan di LCD
  lcd.setCursor(5,0);
  lcd.print(" >< ");
  lcd.setCursor(0,0);
  lcd.print(tim1);
  lcd.setCursor(10,0);
  lcd.print(tim2);
  lcd.setCursor(3,1);
  nol(score1);
  lcd.setCursor(13,1);
  nol(score2);

  if (myBot.getNewMessage(msg)) {
    if (msg.text.equalsIgnoreCase("gol1")){
      score1++;
      myBot.sendMessage(msg.sender.id, (String)"Score Saat ini: \n" +
      tim1 +" = "+ score1 + "\n" + 
      tim2 + " = " + score2);
    }
    else if (msg.text.equalsIgnoreCase("gol2")){
      score2++;
      myBot.sendMessage(msg.sender.id, (String)"Score Saat ini: \n" +
      tim1 +" = "+ score1 + "\n" + 
      tim2 + " = " + score2);
    }
    else if (msg.text.equalsIgnoreCase("rev1")){
      score1--;
      myBot.sendMessage(msg.sender.id, (String)"Score Saat ini: \n" +
      tim1 " = "+ score1 + "\n" + 
      tim2 + " = " + score2);
    }
    else if (msg.text.equalsIgnoreCase("rev2")){
      score2--;
      myBot.sendMessage(msg.sender.id, (String)"Score Saat ini: \n" +
      tim1 +" = "+ score1 + "\n" + 
      tim2 + " = " + score2);
    }
    else if (msg.text.equalsIgnoreCase("reset")){
      score1 = 0; score2 = 0;
      myBot.sendMessage(msg.sender.id, (String)"Score Saat ini: \n" +
      tim1 +" = "+ score1 + "\n" + 
      tim2 + " = " + score2);
    }
    else {
      myBot.sendMessage(msg.sender.id, (String)"Telegram Bot untuk Papan Score Sepakbola" +
        "\nScore tim 1, kirim >>> gol1"+
        "\nScore tim 2, kirim >>> gol2"+
        "\nRevisi Score 1, kirim >>> rev1"+
        "\nRevisi Score 2, kirim >>> rev2"+
        "\nReset, kirim>>> reset"
        );
    }
    }
delay(500);
}

Untuk mendapatkan Token Bot dan ID telegram, anda dapat mengunjungi LINK INI.

Masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di String ssid = “**********”;

String pass = “**********”; 

String token = “XXXXX”;

const int id = XXXXXX;

Upload program di atas, kemudian kita dapat mulai mencobanya dengan di awali ke telegram bot milik kita dan klik start.

baca juga: Tutorial Project Internet of Things : Papan Scoring Bulu Tangkis dengan Blynk

Hasil dari project ini adalah kita dapat menambahkan score di tampilan LCD hanya dengan mengirimkan pesan di telegram. Caranya sesuai dengan teks awal yang dikirimkan ke telegram.

Score tim 1, kirim >>> gol1

Score tim 2, kirim >>> gol2

Namun jika kita melakukan kesalahan, kita bisa mengulangnya dengan mengurangi score. Caranya dengan mengirimkan pesan seperti ini. Sesuai dengan score tim mana yang salah. 

Revisi Score 1, kirim >>> rev1

Revisi Score 2, kirim >>> rev2

Jika sudah selesai, maka kita bisa reset semuanya menjadi score 0:0.

Reset, kirim>>> reset

Nah. Bagaimana? ingin mencobanya? Coba aja. Jangan lupa untuk terus dikembangkan dengan menambahkan fitur lainnya, seperti fitur mengganti nama tim atau yang lainnya.

Selamat mencoba.

 

*Note: Jika ada kendala dalam pengoperasian project di atas, silakan hubungi Minbot agar dapat segera kami perbaiki. Terima kasih.

Mau belajar elektronika dasar? Arduino? atau bahkan Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp