Aquasprite Theme Demo

Pengukur Suhu Berbasis Port Parallel

Posted by . on Oct 5, 2009 , under | comments (0)




Proyek kali ini ialah Pengukur Suhu Berbasis port paralel menggunakan sensor LM 35, kit ADC dan port parallel.Berikut Blok diagram:





SENSOR SUHU
LM 35 ialah sensor temperatur paling banyak digunakan untuk praktek, karena selain harganya cukup murah, linearitasnya lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi ±¼°C pada temperatur ruangan dan ±¾°C pada kisaran -55 to +150°C. LM35 dimaksudkan untuk beroperasi pada -55° hingga +150°C, sedangkan LM35C pada -40°C hingga +110°C, dan LM35D pada kisran 0-100°C. LM35D juga tersedia pada paket 8 kaki dan paket TO-220. Sensor LM35 umunya akan naik sebesar 10mV setiap kenaikan 1°C (300mV pada 30 °C).



                                                                                  Gambar Sensor LM 35



   Gambar Kit ADC 0804


  Tabel  Nama pin dari konektor parallel port  DB 25 dan Centronics 


Jika anda ingin pengendali dalam Visual Basic .Net 2005, Anda dapat menggunakan file inpout32.dll sebagai penyedia fungsi untuk akses I/O. Pastikan jika Sistem Operasi Anda menggunakan Windows 95 keatas, gunakan program Userport untuk memberikan izin akses hardware PC. Program dibawah ini dapat mengendalikan port parallel, atau port ISA sesuai alamat port yang diset (378H atau 300H), menggunakan perintah :

Variabel_penampung = inp(&H”alamat”) //menerima input
out(&H”alamat”, sumber_data) // mengeluarkan data

Port parallel umumnya mempunyai alamat 378H, sedangkan Port ISA dimulai dari alamat 300H. Jika kita ingin mengontrol port paralel menggunakan windows 98 ke bawah, maka tidak perlu ada program tambahan, tetapi jika windows 2000 keatas, gunakan program userport yang akan memberi izin mengakses port secara langsung. Caranya dengan mengkopi file userport.sys ke folder c:\windows\system32\drivers.

Setelah itu aktifkan program userport sebagai berikut :

Gambar;   Menjalankan Program Userport

Contoh Program:

VB.Net :

Public Class Parallel
Inherits System.Windows.Forms.Form
Private Declare Function inp Lib "inpout32.dll" Alias "Inp32" (ByVal portaddress As Integer) As Integer
Private Declare Sub out Lib "inpout32.dll" Alias "Out32" (ByVal portaddress As Integer, ByVal value As Integer)
….
Private Sub btnTV_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTV.Click
out(&H378, 1) 'hidupkan TV
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
out(&H378, 2) 'hidupkan PC
End Sub


Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
out(&H378, 4) 'hidupkan AC
End Sub



Contoh C++:
//Program kontrol alat melalui port paralel
//Jika menggunakan windows 2000 keatas
//Gunakan program Userport untuk memberikan izin akses port
//nilai desimal dari 0-255
//1,2,4,8,16,32,64,128 ialah nilai desimal dari salah satu pin
#include
#include
#include
#include
#define PORT 0x378 //alamat port paralel
void main()
{


char key=0;
clrscr();
cout<<"\n\t\tPROGRAM PENGONTROL ALAT MELALUI PORT PARALEL"<
cout<<"\t\tDibuat oleh e-Technology Center 2006"<
cout<<"\t\tTekan 1-8 untuk mengaktifkan alat"<
cout<<"\t\tTekan x untuk keluar dari aplikasi"<
cout<<"\t\t==================================================\n\n"<
while (key!='x' && key!='X')
{
gotoxy(2,8);
key=getch();
switch(key){
case '1':
outportb(PORT,1);
gotoxy(2,10);
cout<<"\nLampu 1 hidup"<
break;
case '2':
outportb(PORT,2);
gotoxy(2,10);
cout<<"\nLampu 2 hidup"<
break;
case '3':
outportb(PORT,4);
gotoxy(2,10);
cout<<"\nLampu 3 hidup"<
break;
case '4':
outportb(PORT,8);
gotoxy(2,10);
cout<<"\nLampu 4 hidup"<
break;
case '5':
outportb(PORT,16);
gotoxy(2,10);
cout<<"\nLampu 5 hidup"<
break;
case '6':
outportb(PORT,32);
gotoxy(2,10);
cout<<"\nLampu 6 hidup"<
break;
case '7':
outportb(PORT,64);
gotoxy(2,10);
cout<<"\nLampu 7 hidup"<
break;
case '8':
outportb(PORT,128);
gotoxy(2,10);
cout<<"\nLampu 8 hidup"<
break;
}
}
}


Berikut contoh kode menggunakan VB .Net 2005
DEMOSUHU.VB
Public Class Form1
Private Declare Function inp Lib "inpout32.dll" Alias "Inp32" (ByVal portaddress As Integer) As Integer
Private Declare Sub out Lib "inpout32.dll" Alias "Out32" (ByVal portaddress As Integer, ByVal value As Integer)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'terima data input
TextBox1.Text = inp(&H378)
End Sub
End Class




SELAMAT BERIONOVASI.......!!!