Anda di halaman 1dari 8

JOBSHEET

Project Running Text dengan P10

Mata diklat : Project dan Kewirausahaan


Kelas/Semester : XI/3
Penilaian : Team work
Jenis Tugas : Tugas Terstruktur
Waktu pelaksanaan : 270 menit (6 JP)

No Nama Nilai Keterangan


1 1. 2.
2
3 3. 4.
4
5 5. 6.
6

A. Pengantar
Display Panel P10 merupakan sebuah display berisi kumpulan led-led yang disusun secara matrix.
Fungsinya untuk menampilkan informasi berupa teks maupun gambar yang dapat diatur tampilannya
sesuai kebutuhan. Tentunya sudah sering kan melihat teks-teks berjalan di sepanjang jalan? Nah itu
merupakan salah satunya bisa menggunakan P10 LED Matrix ini.

B. Skenario
Bagaimana Cara Menggunakannya pada Arduino?
Sebenarnya cukup mudah dan simple, setelah anda mempunyai P10 selanjutnya hanya menambahkan
sebuah komponen yaitu DMD Connector. Konektor ini berfungsi untuk mengghubungkan P10 dan
Arduino, lebih lengkapnya kita bahas di bawah ini.

Komponen :
1. Arduino Uno;
2. P10 Led Matrix (32x16);
3. Kabel DMD;
4. Kabel USB tipe B (kabel printer);
5. Adaptor 5V 1A.

C. Langkah kerja
Skematik dan Perakitan
Susunlah komponen diatas seperti rangkaian berikut:

Gb.1. Rangkaian Komunikasi P10 dengan Arduino

Pemasangan kabel DMD jangan sampai terbalik, silahkan lihat pada gambar di atas terdapat tanda
panah. Itu merupakan tanda dari kabel DMD dimaksudkan agar tidak terbalik. Lihatlah gambar berikut:

Gb.2. Connection Pin DMD

Gb.3. PinOut Kabel DMD

Gb.4. Pin pada Display Panel P10


Library
Library yang dibutuhkan dalam tutorial kali ini adalah sebagai berikut:
 DMD - Download
 TimerOne - Download
Masukan Library diatas di File instalasi Arduino IDE.

Program (sketch)
Setelah memahami Skematik dan sudah memasukan library yang dibutuhkan, langkah selanjutnya adalah
memasukkan program dibawah ini:

#include <SPI.h> //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h> //
#include <TimerOne.h> //
#include "SystemFont5x7.h"
#include "Arial_black_16.h"

//Fire up the DMD library as dmd


#define DISPLAYS_ACROSS 1
#define DISPLAYS_DOWN 1
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);

/*--------------------------------------------------------------------------------------
Interrupt handler for Timer1 (TimerOne) driven DMD refresh scanning, this gets
called at the period set in Timer1.initialize();
--------------------------------------------------------------------------------------*/
void ScanDMD()
{
dmd.scanDisplayBySPI();
}

/*--------------------------------------------------------------------------------------
setup
Called by the Arduino architecture before the main loop begins
--------------------------------------------------------------------------------------*/
void setup(void)
{

//initialize TimerOne's interrupt/CPU usage used to scan and refresh the display
Timer1.initialize( 5000 ); //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see
flicker.
Timer1.attachInterrupt( ScanDMD ); //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI()

//clear/init the DMD pixels held in RAM


dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on)

/*--------------------------------------------------------------------------------------
loop
Arduino architecture main loop
--------------------------------------------------------------------------------------*/
void loop(void)
{
byte b;
// 10 x 14 font clock, including demo of OR and NOR modes for pixels so that the flashing colon can be overlayed
dmd.clearScreen( true );
dmd.selectFont(Arial_Black_16);
dmd.drawChar( 0, 3, '2', GRAPHICS_NORMAL );
dmd.drawChar( 7, 3, '3', GRAPHICS_NORMAL );
dmd.drawChar( 17, 3, '4', GRAPHICS_NORMAL );
dmd.drawChar( 25, 3, '5', GRAPHICS_NORMAL );
dmd.drawChar( 15, 3, ':', GRAPHICS_OR ); // clock colon overlay on
delay( 1000 );
dmd.drawChar( 15, 3, ':', GRAPHICS_NOR ); // clock colon overlay off
delay( 1000 );
dmd.drawChar( 15, 3, ':', GRAPHICS_OR ); // clock colon overlay on
delay( 1000 );
dmd.drawChar( 15, 3, ':', GRAPHICS_NOR ); // clock colon overlay off
delay( 1000 );
dmd.drawChar( 15, 3, ':', GRAPHICS_OR ); // clock colon overlay on
delay( 1000 );

dmd.drawMarquee("Scrolling Text",14,(32*DISPLAYS_ACROSS)-1,0);
long start=millis();
long timer=start;
boolean ret=false;
while(!ret){
if ((timer+30) < millis()) {
ret=dmd.stepMarquee(-1,0);
timer=millis();
}
}
// half the pixels on
dmd.drawTestPattern( PATTERN_ALT_0 );
delay( 1000 );

// the other half on


dmd.drawTestPattern( PATTERN_ALT_1 );
delay( 1000 );

// display some text


dmd.clearScreen( true );
dmd.selectFont(System5x7);
for (byte x=0;x<DISPLAYS_ACROSS;x++) {
for (byte y=0;y<DISPLAYS_DOWN;y++) {
dmd.drawString( 2+(32*x), 1+(16*y), "freet", 5, GRAPHICS_NORMAL );
dmd.drawString( 2+(32*x), 9+(16*y), "ronic", 5, GRAPHICS_NORMAL );
}
}
delay( 2000 );

// draw a border rectangle around the outside of the display


dmd.clearScreen( true );
dmd.drawBox( 0, 0, (32*DISPLAYS_ACROSS)-1, (16*DISPLAYS_DOWN)-1, GRAPHICS_NORMAL );
delay( 1000 );

for (byte y=0;y<DISPLAYS_DOWN;y++) {


for (byte x=0;x<DISPLAYS_ACROSS;x++) {
// draw an X
int ix=32*x;
int iy=16*y;
dmd.drawLine( 0+ix, 0+iy, 11+ix, 15+iy, GRAPHICS_NORMAL );
dmd.drawLine( 0+ix, 15+iy, 11+ix, 0+iy, GRAPHICS_NORMAL );
delay( 1000 );

// draw a circle
dmd.drawCircle( 16+ix, 8+iy, 5, GRAPHICS_NORMAL );
delay( 1000 );

// draw a filled box


dmd.drawFilledBox( 24+ix, 3+iy, 29+ix, 13+iy, GRAPHICS_NORMAL );
delay( 1000 );
}
}

// stripe chaser
for( b = 0 ; b < 20 ; b++ )
{
dmd.drawTestPattern( (b&1)+PATTERN_STRIPE_0 );
delay( 200 );
}
delay( 200 );
}

Program diatas didapat dari Arduino IDE, klik File > Examples > DMD > dmd_demo
Setelah berhasil terupload, makan panel display p10 akan menampilkan Animasi dan Running
Text seperti pada gambar berikut:

Gb.5. Hasil Test 1 Panel Display P10 Sukses

Jika kecerahan pada Panel Displaynya kurang karena hanya menggunakan power input dari Arduino,
anda bisa menambahkan Power Input 5 Volt DC yang bisa didapat dari adaptor Hp seperti berikut:

Gb.6. Adaptor tambahan


Catatan: Pastikan sumber tegangan 5 volt DC dan tidak terbalik...!
Jika ingin merubah Text, cari kode berikut:

dmd.drawMarquee("Scrolling Text",14,(32*DISPLAYS_ACROSS)-1,0);
Ubahlah "Scrolling Text" diatas sesuai keinginan... atau silahkan ketik koding dibawah ini:

// File Library
#include <SPI.h>
#include <DMD.h>
#include <TimerOne.h>
#include <Arial_Black_16_ISO_8859_1.h>

// Deklarasi Fungsi
#define DISPLAYS_ACROSS 1
#define DISPLAYS_DOWN 1

DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);

void ScanDMD()
{
dmd.scanDisplayBySPI();
}

void setup(){

// Setup DMD
delay(1000);
Serial.begin(9600);
Timer1.initialize( 1500 );
Timer1.attachInterrupt( ScanDMD );
dmd.clearScreen( true );
}

void DrawMHD(){

// Running Text
dmd.clearScreen( true );
dmd.selectFont(Arial_Black_16_ISO_8859_1);
dmd.drawMarquee("SMK Pelita Ciampea 2 - TJKT",27,(32*DISPLAYS_ACROSS)-1,0);
long start=millis();
long timer=start;
boolean ret=false;
while(!ret){
if ((timer+40) < millis()) {
ret=dmd.stepMarquee(-1,0);
timer=millis();
}
}
}

void loop(){
dmd.clearScreen(true);
DrawMHD();
dmd.clearScreen(true);
}

--- Practices Make Perfect ---


LEMBAR PENILAIAN

UNIT SEKOLAH : SMK GOLDEN


PROGRAM KEAHLIAN : TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI
PELAJARAN : PROJECT DAN KEWIRAUSAHAAN
PROJECT : RUNNING TEXT P10
ALOKASI WAKTU : 270 MENIT (6 JP)
BENTUK SOAL : PENUGASAN

NAMA SISWA : __________________________ KELAS : ______________

PENCAPAIAN KOMPETENSI
KOMPONEN/SUBKOMPONEN
NO. YA
PENILAIAN TIDAK
70-79 80-89 90-100
1 2 3 4 5 6
I PERSIAPAN KERJA
I.1 Hadir Tepat Waktu

I.2 Kerapihan

I.3 Kebersihan

SKOR KOMPONEN :
II PROSES (SISTEMATIKA DAN CARA KERJA)
II.1 Menentukan pemilihan alat dan
bahan
II.2 Melakukan perakitan dan koding

SKOR KOMPONEN :
III HASIL KERJA
III.1 Dapat menentukan pemilihan alat
dan bahan yang akan digunakan
III.2 Dapat merakit dan koding dengan
benar
SKOR KOMPONEN :
IV SIKAP KERJA
IV.1 Penggunaan Alat

IV.2 Keselamatan Kerja

SKOR KOMPONEN :
V WAKTU
V.1 Waktu Penyelesaian Praktik

SKOR KOMPONEN :

NILAI AKHIR (NA)

FASILITATOR : ____________________________
JURNAL PRAKTIKUM

Nama Siswa :

Kelas :

Hari / Tanggal :

Mata Pelajaran :

Materi Pokok :

A. Alat dan Bahan


…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
B. Proses Kerja
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………
C. Hasil
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………
D. Kesimpulan
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………

Bogor,…………………….

Praktikan,

Anda mungkin juga menyukai