Sign by Ryyan ruwet -

Bagi kalian para followers selamat datang dan selamat menikmati artikel dalam blog ini dan silahkan bebas mengCopy " GGRRRRAAAAAAATTTIIIISSSS "

Not Indonesian, Please translate here :

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified
by : ryyanruwetwetruwet & ther - wher
Tampilkan NavBar

kode program led8 berjalan, led12 berjalan, led32 H, P, A, seven segmen turbo pascal


Filed under: journal fisika
A. PRAKTIKUM 8 LED DAN 12 LED
1. Led berjalan dari kiri ke kanan kemudian stop.
2. Led berjalan dari kanan ke kiri kemudian stop.
3. Led berjalan dari kiri ke kanan kembali ke kiri kemudian stop.
4. Led berjalan dari kiri ke kanan kembali ke kiri ke kanan dan kembali ke kiri kemudian stop.
Jawab:
Program yang dijalankan untuk menyala kan Led berjalan dari kiri ke kanan kemudian stop, adalah sebagai berikut:
- Kode program untuk 8 LED
program led_8;
uses crt;
var i:byte;
procedure r0;
begin
i:=128;
repeat
port[$378]:=i;
delay(500);
i:=i div 2;
until i=0;
end;
procedure r1;
begin
i:=1;
repeat
port[$378]:=i;
delay(500);
i:=i*2;
until i=0;
end;
begin
r0;
r1;
end.
- Kode program untuk led 12:
program led_12;
uses crt;
var i:byte;
procedure r0;
begin
port[$37a]:=$0b;
delay(1);
i:=1;
repeat
port[$378]:=i;
delay(500);
i:=i*2;
until i=0;
port[$378]:=i;
if i=0 then
port[$37a]:=$0a;
delay(500);
port[$37a]:=$09;
delay(500);
port[$37a]:=$0f;
delay(500);
port[$37a]:=$03;
delay(500);
end;
procedure r1;
begin
port[$37a]:=$0f;
delay(500);
port[$37a]:=$09;
delay(500);
port[$37a]:=$0a;
delay(500);
port[$37a]:=$0b;
i:=128;
repeat
port[$378]:=i;
delay(500);
i:=i div 2;
until i=0;
end;
begin
r0;
r1;
r0;
end.
analisa Program:
Pendefenisian i sebagai byte digunakan sebagai input nilai port parallel, untuk menggantikan nilai integer $xx seperti yang terlihat di baris 8. Nilai i yang didefenisikan sebagai byte dapat mewakili nilai integer, seperti yang terlihat pada tabel berikut:
Tabel 1. Tabel konversi I as byte ke I as integer.
I as byte I as integer Bit/biner I as byte I as integer Bit/biner
0 $00 0000 0000 128 $80 1000 0000
1 $01 0000 0001 64 $40 0100 0000
2 $02 0000 0010 32 $20 0010 0000
4 $04 0000 0100 16 $10 0001 0000
8 $08 0000 1000 8 $08 0000 1000
16 $10 0001 0000 4 $04 0000 0100
32 $20 0010 0000 2 $02 0000 0010
64 $40 0100 0000 1 $01 0000 0001
128 $80 1000 0000 0 $00 0000 0000
Seperti yang terlihat pada kode kode program di atas, program terdiri dari dua prosedur dan satu bagian untuk memanggil prosedur yang akan di jalankan. Prosedur dengan nama r0 ditujukan untuk menghidupkan led berjalan dari kiri ke kanan dan prosedur dengan nama r1 sebaliknya.
Untuk prosedur r0, nilai awal i bernilai 128 (i:=128;) yang bertujuan untuk menghidupkan 1 led paling kanan, seperti pada tabel di atas. Perintah repeat pada rosedur r0 menunjukkan perulangan atau pergantian nilai i dengan operasi pembagian variabel i dengan 2 (i:=i div 2;). Seperti yang kita ketahui, pada sistem perhitungan komputer, jika suatu nilai variabel menghasilkan nilai yang baru maka nilai terakhirlah yang akan disimpan, contoh;
“Jika nilai awal I = 1 lalu dioperasikan dengan operasi perkalian I = I x 2, maka nilai terakhir I bukan 1 lagi, melainkan 2 karena 1 x 2 = 2.”
Sehingga urutan nilai i yang dihasilkan operasi (i:=i div 2;) adalah 128, 64, 32, 8, 4, 2, dan 1. Serta membuat kesan led berjalan dari kiri ke kanan dengan selang waktu 0.5 detik ”delay(500).”
Karena nilai byte terkecil untuk port parallel adalah 0 dan nilai terbesar adalah 255 maka jika operasi menghasilkan nilai I < 0 atau I > 255 maka port akan membaca nilai tersebut sebagai nol. Sehingga jika i = 0 (until i=0;) maka prosedur selesai dijalankan dan diteruskan ke prosedur lain sesuai dengan perintah pemanggilan proedur.
Begitu juga pada prosedur r1, nilai awal i = 1 maka led sebelah kiri yang akan hidup. Diteruskan dengan nilai i berikutnya, yaitu 2, 4, 8, 32, 64, dan 128 (berdasakan operasi I:=I*2;). Hasilnya, led akan terlihat berjalan dari kanan ke kiri dengan selang waktu 0.5 detik ”delay(500).”
Untuk soal A3 kita memberikan printah prosedur r0, r1, dan r0. untuk soal A4 kita dapat memberikan printah prosedur r0, r1, r0, dan r1.
Untuk 12 led, rangkaian tersebut memanfatkan 4 pin pc untuk mengoperasikan 4 led dari 12 led yang ada. Terdapat 4 kode yang merepresentasikan alamat 4 pin pc tersebut, yaitu port[$37a]:=$0a untuk pc0, port[$37a]:=$09 untuk pc1, port[$37a]:=$0f untuk pc2, port[$37a]:=$03 untuk pc3.
Secara sederhana, pin pc tidak dapat mengoperasikan 4 led tersebut secara bergantian tanpa menggunakan perintah delay. Untuk untuk itu ditambahkan perintah delay setelah perintah port[$37a].
Susunan perintah port[$37a] pada tiap prosedur disusun sedemikian rupa agar dapat mengoperasikan 4 led tersebut secara berurut sehingga led terlihat berjalan.
B. PRAKTIKUM 32 LED
Buat huruf H, A, dan P dari 32 led (led matriks 4 X 8)
Jawab.
Kode program untuk praktikum membuat huruf H adalah sebagai berikut:
program led32H;
uses crt;
begin
repeat
port[$378]:=$00; {memberi jalan arus kepada pc0}
port[$37a]:=$0a; {mengalirkan arus ke pc0}
delay(1);
port[$378]:=$f7; {memberi jalan arus kepada pc1 untuk data 4}
port[$37a]:=$09; {mengalirkan arus ke pc1}
delay(1);
port[$378]:=$f7; {memberi jalan arus kepada pc2 untuk data 4}
port[$37a]:=$0f; {mengalirkan arus ke pc2}
delay(1);
port[$378]:=$00; {memberi jalan arus kepada pc3}
port[$37a]:=$03; {mengalirkan arus ke pc3}
delay(1);
until keypressed;
end.
Kode program untuk praktikum membuat huruf A adalah sebagai berikut:
program led32A;
uses crt;
begin
repeat
port[$378]:=$00; {memberi jalan arus kepada pc0}
port[$37a]:=$0a; {mengalirkan arus ke pc0}
delay(1);
port[$378]:=$ee; {memberi jalan arus kepada pc1 utk data 1 & 5}
port[$37a]:=$09; {mengalirkan arus ke pc1}
delay(1);
port[$378]:=$ee; {memberi jalan arus kepada pc2 utk data 1 & 5}
port[$37a]:=$0f; {mengalirkan arus ke pc2}
delay(1);
port[$378]:=$00; {memberi jalan arus kepada pc3}
port[$37a]:=$03; {mengalirkan arus ke pc3}
delay(1);
until keypressed;
end.
Kode program untuk praktikum membuat huruf P adalah sebagai berikut:
program led32P;
uses crt;
begin
repeat
port[$378]:=$00; {memberi jalan arus kepada pc0}
port[$37a]:=$0a; {mengalirkan arus ke pc0}
delay(1);
port[$378]:=$ee; {memberi jalan arus kepada pc1 utk data 1 & 5}
port[$37a]:=$09; {mengalirkan arus ke pc1}
delay(1);
port[$378]:=$ee; {memberi jalan arus kepada pc2 utk data 1& 5}
port[$37a]:=$0f; {mengalirkan arus ke pc2}
delay(1);
port[$378]:=$e0; {memberi jalan arus kepada pc3 utk dat 1 s/d 5}
port[$37a]:=$03; {mengalirkan arus ke pc3}
delay(1);
until keypressed;
end.
Analisa program
Berdasarkan rangkaian 32 led, program yang dibuat untuk menghidupkan seluruh led adalah hanya dengan mengaktifkan saluran pc seperti contoh program berikut:
program led32;
uses crt;
begin
repeat
port[$37a]:=$0a;
delay(1);
port[$37a]:=$09;
delay(1);
port[$37a]:=$0f;
delay(1);
port[$37a]:=$03;
delay(1);
until keypressed;
end.
Program tersebut menghidupkan semua led secara serentak dengan bantuan perintah repeat dan delay(1) yang berarti mengulang eksekusi program dengan selang waktu 1/1000 detik sehingga mata kita tidak dapat melihat perulangan yang terjadi dan memberi kesan led terus menyala tanpa redupan.
Hal ini disebabkan karena saluran pc dikoneksikan ke kaki katoda led dan saluran data dikoneksikan pada kaki anoda led agar arus dapat melewati led dan menyalakan led (bias forward) selagi saluran data berada pada perintah port[$378]:=$00; ataupun data kosong. Namun ketika saluran data diberi nilai, misalnya port[$378]:=$ff; maka akan terjadi bias reserve yang menyebabkan led redup. Hal ini dapat dimanfaatkan untuk mengendalikan pengoperasian led, misalnya menyalakan beberapa led untuk membentuk suatu huruf pada tampilan 32 led.
C. PRAKTIKUM 7 SEGMENT
Membuat teks sebagai berikut “ FIS 2007 “
Komponen 7 segmen berjumlah satu, sehingga kode programnya sebagai berikut:
program fis_2007;
uses crt;
begin
port[$378]:=$71; {mengaktifkan data 1, 5, 6, 7 / a, f, g}
delay(500);
port[$378]:=$06; {mengaktifkan data 2, 3 / b, c}
delay(500);
port[$378]:=$6d; {mengaktifkan data 1, 3, 4, 6, 7 /a, c, d, f, g}
delay(500);
port[$378]:=$5b; {mengaktifkan data 1, 2, 4, 1, 3/ a,b,d,e,g}
delay(500);
port[$378]:=$3f; {mengaktifkan data 1, 2,3,4, 5, 6/a,b,c,d,e,f}
delay(500);
port[$378]:=$00; {data low}
delay(100);
port[$378]:=$3f; {mengaktifkan data 1, 2,3,4, 5, 6/a,b,c,d,e,f }
delay(500);
port[$378]:=$07; {mengaktifkan data 1, 2, 3/a,b,c}
delay(500);
end.
Analisa program:
Berdasarkan rangkaian dasar seven segmen,
hanya digunakan printah untuk mengaktifkan port data saja, yaitu port[$378]:=$xx;. Misalnya untuk membentuk angka 8, kita dapat mengisi data port dengan nilai $7f, untuk membuat angka 5 kita dapat mengisi data port dengan nilai $6D dan seterusnya.
wasalam; semoga bermanfaat :-}
November 6, 2007
Filed under: journal fisika

ketika kita berfikir benar
sudahkah kita berfikir benar
ketika realita mengganggu mimpi kita, akankah kita terima dengan hati terbuka
teruslah berfikir jernih
Filed under: journal fisika
Tugas : Laporan Uji Komponen
Mata Kuliah : Instrumentasi Berbasis Komputer
LED
Gambar 1. Bentuk fisis dan simbol LED
LED adalah singkatan dari light emiting diode atau dalam bahasa indonesia biasa diartikan sebagai dioda yang dapat memancarkan cahaya. Seperti dioda, LED memiliki kutub anoda (+) dan kutub katoda (-) dan bekerja pada tegangan 1,6 Volt. Seperti yang terlihat pada gambar 1. Cahaya yang dipancarkan bervariasi jenisnya deradasarkan bahan pembentuknya. LED yang banyak beredar dipasaran adalah LED cahaya tampak.
Pengujian LED
Pengujian LED bertujuan untuk menentukan kelayakan LED dan menetukan jenis kutubnya.
Prosedur Pengujian
Prosedur pengujian led sebagai berikut:
1. Memilih multimeter yang layak digunakan.
2. Menetukan probe pada multimeter;
a. Untuk probe positif ditandai dengan tanda plus (+)/warna merah.
b. Untuk probe negatif ditandai dengan tanda plus (-)/warna putih atau hitam.
3. Memilih option Ohm Meter pada multimeter.
4. Menghubungkan kutub-kutub LED dengan probe multimeter seperti pada gambar 2.
a. Probe positif multimeter dihubungkan ke kutub yang panjang (anoda) dan probe negatif multimeter dihubungkan ke kutub yang pendek (katoda).
b. Probe positif multimeter dihubungkan ke kutub yang pendek (katoda) dan probe negatif multimeter dihubungkan ke kutub yang panjang (anoda).
5. Mengumpulkan data.
6. Analisa data.
7. Kesimpulan.
Gambar 2. Diagram pengujian
Data Pengujian LED
Dari pengujian di peroleh data sebagai berikut:
1. Ketika probe positif multimeter dihubungkan ke kutub yang panjang (anoda) dan probe negatif multimeter dihubungkan ke kutub yang pendek (katoda), LED tidak menyala.
2. Ketika probe positif multimeter dihubungkan ke kutub yang pendek (katoda) dan probe negatif multimeter dihubungkan ke kutub yang panjang (anoda), LED menyala.
Analisa Data
Dari data yang diperoleh, diketahui bahwa ketika probe positif multimeter dihubungkan ke kutub yang pendek (katoda) dan probe negatif multimeter dihubungkan ke kutub yang panjang (anoda), LED menyala. Sedangkan kutub katoda itu sendiri merupakan kutub negatif. Seharusnya, jika kita lihat dari prinsipnya bahwa bias forward (dioda menyala) terjadi jika kutub anoda led dihubungkan ke kutub positif sumber tegangan.
Dari analisa di atas dapat kita pahami bahwa probe positif multimeter mewakili kutub negatif sumber tegangannya.
Kesimpulan
Dari data dan analisa di atas, dapat kita simpulkan bahwa kutub anoda dan kutub katoda LED adalah seperti pada gambar berikut:
Gambar 3. Kutub-kutub pada LED hasil pengujian
Dan jika Point1b pada prosedur di atas menujukkan led tidak menyala, maka dapat disimpulkan led dalam keadaan rusak.
SEVEN SEGMEN
Seven segmen merupakan sebuah rangkaian led yang dibuat guna merepresentasikan angka desimal serta huruf. Ada dua tipe seven segmen yaitu common cathode dan common anode. Seperti yang digambarkan pada gambar di bawah ini.
Gambar 4. Skema rangkaian Seven Segmen
Sedangkan bentuk fisiknya adalah sebagai berikut:
(a) (b)
Gambar 5. Bentuk fisik dari seven segmen
Dari gambar di atas dapat kita lihat bahwa seven segmen terdiri dari 8 led yaitu led a, led b, led c, led d, led e, led f, led g, dan led dp. Pada gambar 5(b) huruf-huruf seperti a, b, c, d, e, f, g, dp, K dan K menggambarkan pin-pin dari seven segmen. Dan huruh K menunjukkan tipe seven segmen, yaitu Common Kathode.
Pengujian Seven Segmen
Pengujian seven segmen bertujuan untuk menentukan kelayakan dan tipe seven segmen.
Prosedur Pengujian
1. Memilih Multimeter yang layak.
2. Memutar option Ohm Meter.
3. Menandai tiap segmen dengan huruf-huruf seperti a, b, c, d, e, f, g, dp. Seperti pada gambar 6.
4. Mencari pin K atau pin ground pada seven segmen.
5. Menghubungkan satu persatu pin-pin yang ada pada seven segmen dengan probe multimeter. Dan sebagai referensinya pin ground.
6. Mengumpukan data.
7. Analisa data.
8. Kesimpulan.
Gambar 6. Diagram pengujian
Data Pengujian
Tabel 1. Data Pengujian Seven Segmen
Led yang menyala Pin seven segmen terhadap probe positif/Kutub (-) Pin seven segmen terhadap probe negatif/Kutub (+)
a 3 7
8 7
b 3 6
8 6
c 3 4
8 4
d 3 2
8 2
e 3 1
8 1
f 3 9
8 9
g 3 10
8 10
dp 3 5
8 5
Analisa Pengujian
Dari data yang diperoleh, ditunjukkan bahwa pin 8 dan 3 dikoneksikan dengan probe positif multimeter atau kutub negatif smber tegangan. Hal ini menunjukkan bahwa pin 8 dan pin 3 merupakan pin ground.
Data yang lain dapat diinetpretasikan ke dalam gambar 7, yang berarti seven segmen yang diuji bertipe Common Kathode.
Gambar 7. Inetpretasi data pengujian ke dalam sirkuit led
Kesimpulan
Dari data dan analisa di atas, dapat kita simpulkan bahwa seven segmen yang di uji bertipe Common Kathode dan layak untuk dipakai.
KONFIGURASI PIN PADA PORT PARALLEL.
Gambar 8. Pin port parallel female (betina) Tipe DB 25
Port parallel memiliki tiga bagian penting, yaitu: Port data (DP) yaitu dari pin 2 sampai dengan pin 9; Port control (PC) atau port read/write yaitu pin 1, 14, 16, dan pin 17; Port status (PS) atau port read only yaitu pin 10, 11, 12, 13, dan pin 15. Pin-pin berikutnya merupakan pin ground.
Pada tabel berikut ditunjukkan konfigurasi pi-pin port parallel.
Tabel 2. Konfigurasi pin port parallel Tipe DB 25
Pin (D-Type 25) SPP Signal Direction In/out Register Hardware Inverted
1 nStrobe In/Out Control Yes
2 Data 0 Out Data
3 Data 1 Out Data
4 Data 2 Out Data
5 Data 3 Out Data
6 Data 4 Out Data
7 Data 5 Out Data
8 Data 6 Out Data
9 Data 7 Out Data
10 nAck In Status
11 Busy In Status Yes
12 Paper-Out / Paper-End In Status
13 Select In Status
14 nAuto-Linefeed In/Out Control Yes
15 nError / nFault In Status
16 nInitialize In/Out Control
17 nSelect-Printer / nSelect-In In/Out Control Yes
18 25ground
Menggunakan java
Kalau diposting yang terdahulu , Parallel Port Interfacing with Java saya memberikan informasi tentang pemrograman paralel port dengan java, kali ini saya memberikan contoh program sederhana menggunakan java untuk membuat led berjalan.
Paralel Port di komputer terdiri dari beberapa alamat yaitu Data(378h), Status(379h) dan Control(37Ah). Dalam percobaan kali ini saya menggunakan alamat 378h.
Skema rangkaian yang saya pakai adalah sederhana saja, menggunakan led dan resistor saja, lengkapnya seperti gambar dibawah ini :
paralel
IDE  yang saya pakai adalah Netbeans 6.5, saya tidak akan membahas secara detail penggunaan Netbeans, bisa dicari-cari di internet.
Mula-mula buatlah sebuah project baru, dicontoh ini saya menggunakan nama PortParalel,lalu buatlah sebuah java package dengan nama jnpout32. Nama ini jangan diganti karena kalau diganti maka program tidak akan bekerja,karena terkait dengan dll yang kita pakai. Kemudian file yang telah didownload seperti yang saya jelaskan ditulisan sebelumnya, dicopykan pada jnpout32. Ada 2 file yang harus dicopykan yaitu ioPort.java dan pPort.java. Jangan lupa juga untuk mengcopy file jnpout32pkg.dll untuk diletakkan di direktori Windows/System32.
Ada sedikit kesalahan yang saya rasa typo error pada file ioPort32 yang cukup mengganggu, tapi mudah untuk diperbaiki. Tepatnya pada method setDataBit.
case 2:
if (value==0)
currentVal = (short) (currentVal & 0xFB);
//  currentVal = aaaa a0aa
else
currentVal = (short) (currentVal | 0×04);
//  currentVal = aaaa a1aa
break;
case 3:
if (value==1)
currentVal = (short) (currentVal & 0xF7);
//  currentVal = aaaa 0aaa
else
currentVal = (short) (currentVal | 0×08);   //  currentVal = aaaa 1aaa
break;
Pada case3, seharusnya if (value==0), sama seperti pada case 2, jadi bagian ini tinggal diganti saja.
Selanjutnya kita membuat satu file yang namanya ParalelPortTest.java, yang isinya seperti ini :
import jnpout32.*;
public class ParalelPortTest {
static short datum;
static short Addr;
static short pin;
static short value;
static pPort lpt;
public static void main(String[] args) {
lpt = new pPort();
Addr = 0×378;
datum = 0xff;
value = 0;
//        for (;;) {
for(int j=0;j<10;j++){
for (int i = 2; i < 10; i++) {
pin = (short) i;
lpt.setAllDataBits(datum);
lpt.setPin(pin, value);
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
System.out.println(ie.getMessage());
}
}
}
}
}
Sekarang tinggal menjalankan program dengan mengklik run. Kalau semuanya berjalan dengan baik, maka nyala led akan bergerak ke kanan.
ps. hati-hati, hubung singkat dapat merusak motherboard anda!


0 coments:

Posting Komentar

Buku Tamu

ShoutMix chat widget

Most Populer