Universitas Gadjah Mada Menara Ilmu Mikrokontroller
Universitas Gadjah Mada
  • Home
  • Kabar Terkini
  • Artikel
    • Teknologi Mikrokontroler
    • Sensor
    • Pemrograman
    • Penelitian
  • Profil
  • Forum
  • Beranda
  • Pemrograman
  • Program Dot Matrix

Program Dot Matrix

  • Pemrograman
  • 2 October 2018, 14.22
  • Oleh: roghib.muh
  • 0

Dot matrix adalah kumpulan LED yang tersusun secara baris matrix sehingga memiliki posisi x dan y. dengan adanya posisi fix ini maka LED dapat dikontrol nyalanya dengan melakukan pengontrolan posisi pin x dan y. dot matrix dapat menampilkan tampilan dengan variasi lebih banyak tergantung dari jumlah LED pada dot matrix tersebut. Dot matrix terdapat pada integrated output dan dapat digunakan dengan menghubungkan pin ke Arduino.

1. Kebutuhan

  • Arduino Board
  • Dot Matrix 8×8
  • Kabel

2. Skematik

Gambar 1. skematik isi dari dot matrix,

nomor kolom dan baris serta nomor pin yang terletak pada angka yang di dalam, misal ingin menyalakan kolom 1 dan baris 1 maka berikan tegangan HIGH pada pin 13 dan berikan tegangan LOW pada pin 9 dot matrix.

Gambar 2. hubungan dot marix dengan pin Arduino,

perlu diperhatikan urutan pin dot matrix dengan urutan pin Arduino karena akan sangat menentukan posisi LED saat program dijalankan

3. Program

// deklarasi array posisi pin dot matrix disesuaikan dengan pin Arduino (nilai -1 adalah dummy agar array dimulai dari angka 1)

int pins[17]= {–1, A5, A4, A3, A2, 10, 11, 12, 13, 9, 8, 7, 6, 5, 4, 3, 2};

// deklarasi array kolom disesuaikan dengan posisi pin dot matrix

int cols[8] = {pins[13], pins[3], pins[4], pins[10], pins[6], pins[11], pins[15], pins[16]};

// deklarasi array baris disesuaikan dengan posisi pin dot matrix

int rows[8] = {pins[9], pins[14], pins[8], pins[12], pins[1], pins[7], pins[2], pins[5]};

void setup()
{

  // set pin sebagai output 

  for(int i = 1; i <= 16; i++)
  {

   pinMode(pins[i], OUTPUT);

  }

  // set kolom menghasilkan output LOW

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(cols[i – 1], LOW);

  }

  // set baris menghasilkan output LOW

  for (int i = 1; i <= 8; i++)
  {

   digitalWrite(rows[i – 1], LOW);

  }

}

void loop()
{

  //perulangan untuk menyalakan kolom berurutan dari 1-8

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(cols[i – 1], HIGH);

   delay(100);

  }

  //perulangan untuk mematikan baris berurutan dari 1-8

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(rows[i – 1], HIGH);

   delay(100);

  }

  clear();    //set kolom dan baris menjadi LOW

  //set baris menjadi HIGH agar semua lampu mati

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(rows[i – 1], HIGH);

  }

  //perulangan untuk membuat animasi corner kolom dan baris menyala bersama

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(cols[i – 1], HIGH);

   digitalWrite(rows[i – 1], LOW);

   delay(100);

  }

  clear();//set kolom dan baris menjadi LOW

  //set baris menjadi HIGH agar semua lampu mati

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(rows[i – 1], HIGH);

  }

  //perulangan untuk animasi titik LED yang berjalan dari pojok ke pojok

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(cols[i – 1], HIGH);

   digitalWrite(rows[i – 1], LOW);

   delay(100);

   digitalWrite(rows[i – 1], HIGH);

   digitalWrite(cols[i – 1], LOW);

  }

  clear();

}

// rutin yang dijalankan saat dipanggil

void clear()
{

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(cols[i – 1], LOW);

  }

  for(int i = 1; i <= 8; i++)
  {

   digitalWrite(rows[i – 1], LOW);

  }


}

4. Video

Leave A Comment Cancel reply

Your email address will not be published. Required fields are marked *

*

Universitas Gadjah Mada

Menara Ilmu Mikrokontroler FMIPA
Universitas Gadjah Mada
Kontak :
roghib.muh@ugm.ac.id
+62 856-4781-7270

© Universitas Gadjah Mada

KEBIJAKAN PRIVASI/PRIVACY POLICY

[EN] We use cookies to help our viewer get the best experience on our website. -- [ID] Kami menggunakan cookie untuk membantu pengunjung kami mendapatkan pengalaman terbaik di situs web kami.I Agree / Saya Setuju