vb - arduino - pengenalan input output (1)

13
Pengenalan Input Output, Tipe Sinyal dan Data Ada 2 tipe alat yang terhubung dengan Arduino, yaitu alat Input dan alat Output. Alat Input akan mengirimkan sinyal ke Arduino, contohnya adalah tombol, saklar, limit switch, reed switch, dll. Sedangkan alat Output akan menerima sinyal dari Arduino, contohnya adalah LED, buzzer, relai, dll. Semua jenis sensor adalah alat Input, sedangkan semua jenis aktuator adalah alat Output. Ada 2 tipe sinyal, yaitu Digital dan Analog. Digital berarti hanya 2 nilai, yaitu 5V dan 0V saja. Sedangkan Analog berarti lebih dari 2 nilai, yaitu semua nilai dari 0V hingga 5V. Ada banyak tipe Data di VB, yaitu Boolean (2 kondisi, True dan False), Byte, String, Integer, Long, dst. Untuk komunikasi serial dengan mikrokontroler, maka tipe data yang digunakan di VB adalah String, dikarenakan format String atau ASCII mudah untuk diolah dan diambil pada bagian tertentu. Sedangkan tipe data yang digunakan untuk komunikasi di Mikrokonroler adalah Byte, sesuai dengan konfigurasi serial, yang biasanya diatur pada saluran data 8 bit (9600, no parity, 8 bit data, 1 bit stop) Maka untuk menghasilkan Data Digital, biasanya digunakan sebuah karakter, bisa huruf a, b, c dstnya yang seukuran dengan 1 byte data. Sedangkan untuk menghasilkan Data Analog, bisa digunakan angka. Bila nilainya kurang dari 256, maka digunakan 1 byte data, bila lebih dari 256 namun kurang dari 65536, maka digunakan 2 byte data, dstnya.

Upload: ardian-ramadita-sugara

Post on 26-Oct-2015

246 views

Category:

Documents


3 download

TRANSCRIPT

Pengenalan Input Output, Tipe Sinyal dan DataAda 2 tipe alat yang terhubung dengan Arduino, yaitu alat Input dan alat Output.

Alat Input akan mengirimkan sinyal ke Arduino, contohnya adalah tombol, saklar, limit switch, reed switch, dll.

Sedangkan alat Output akan menerima sinyal dari Arduino, contohnya adalah LED, buzzer, relai, dll.

Semua jenis sensor adalah alat Input, sedangkan semua jenis aktuator adalah alat Output.

Ada 2 tipe sinyal, yaitu Digital dan Analog.

Digital berarti hanya 2 nilai, yaitu 5V dan 0V saja.

Sedangkan Analog berarti lebih dari 2 nilai, yaitu semua nilai dari 0V hingga 5V.

Ada banyak tipe Data di VB, yaitu Boolean (2 kondisi, True dan False), Byte, String, Integer, Long, dst.

Untuk komunikasi serial dengan mikrokontroler, maka tipe data yang digunakan di VB adalah String, dikarenakan format String atau ASCII mudah untuk diolah dan diambil pada bagian tertentu.

Sedangkan tipe data yang digunakan untuk komunikasi di Mikrokonroler adalah Byte, sesuai dengan konfigurasi serial, yang biasanya diatur pada saluran data 8 bit (9600, no parity, 8 bit data, 1 bit stop)

Maka untuk menghasilkan Data Digital, biasanya digunakan sebuah karakter, bisa huruf a, b, c dstnya yang seukuran dengan 1 byte data. Sedangkan untuk menghasilkan Data Analog, bisa digunakan angka. Bila nilainya kurang dari 256, maka digunakan 1 byte data, bila lebih dari 256 namun kurang dari 65536, maka digunakan 2 byte data, dstnya.

Interface #1: Kirim dan Terima sinyal atau data DigitalDi sini akan diberikan contoh bagaimana mengirimkan dan menerima sinyal Digital pada mikrokontroler dan data Digital pada komputer dengan program komputer.Di sisi mikrokontroler, sinyal digital Input diwakili oleh tombol, dan sinyal digital Output diwakili oleh LED.Di sisi komputer, yaitu diengan program VB6, data digital Input diwakili oleh objek Command Button dan data digital Output diwakili oleh objek Shape yang berbentuk lingkaran. 

Langkah pembuatan:1. Hubungkan Arduino dengan komputer melalui port USB.

2. Periksa saluran COM yang digunakan (buka Device Manager untuk mengetahuinya).

3. Susun rangkaian Input Output Arduino menggunakan Tombol dan LED, di mana Tombol terhubung dengan kaki D2, dan LED terhubung dengan kaki D9.

4. Lakukan pemrograman pada Arduino, kemudian Compile dan Upload program.

5. Lakukan pemrograman Visual Basic, jalankan program tersebut dan selesai. 

Berikut gambar skematik rangkaian Input Output Arduino. (Saya menggunakan Arduino Mini, atau juga dikenal sebagai Boarduino, karena lebih murah dengan kemampuan yang sama seperti Duemilanove - lihat Indorobotika.com):

Berikut program pada Arduino:int kakitombol=2;int kakiled=9;void setup(){Serial.begin(9600);pinMode(kakitombol,INPUT);pinMode(kakiled,OUTPUT);}void loop(){if(Serial.available()){int terimadata=Serial.read();if(terimadata=='a'){digitalWrite(kakiled,HIGH);}else{digitalWrite(kakiled,LOW);}}int statustombol=digitalRead(kakitombol);if (statustombol==HIGH){Serial.print('a');}

else{Serial.print('b');}delay(100);}

Berikut program pada VB6:Private Sub Command1_Click()Dim statusLED As StringIf Option1 = True ThenstatusLED = "b"ElsestatusLED = "a"End IfMSComm1.Output = statusLEDEnd Sub

Private Sub Form_Load()MSComm1.RThreshold = 1MSComm1.InputLen = 1MSComm1.Settings = "9600,n,8,1"MSComm1.CommPort = 6MSComm1.PortOpen = TrueMSComm1.DTREnable = FalseEnd Sub

Private Sub Form_Unload(Cancel As Integer)MSComm1.PortOpen = FalseEnd Sub

Private Sub MSComm1_OnComm()If MSComm1.CommEvent = comEvReceive ThenLabel1.Caption = MSComm1.InputIf Label1.Caption = "a" ThenShape1.FillColor = vbYellowElseShape1.FillColor = vbRedEnd IfEnd IfEnd Sub

Keterangan Objek yang digunakan:: 1 Form

2 Option Button

1 Command Button

1 Label

1 Shape

1 Mscomm (diperoleh dari Project / Components / Controls / Microsoft Comm Control 6.0)

Interface #2 Kirim dan Terima Sinyal atau Data AnalogDi sini akan diberikan contoh bagaimana mengirimkan dan menerima sinyal Analog pada mikrokontroler dan data Analog pada program komputer.Di sisi mikrokontroler, sinyal Input Analog diwakili oleh LDR, dan sinyal Output Analog diwakili oleh LED (brightness).Di sisi komputer, dengan program VB6, data Input Analog diwakili oleh objek Slider, dan data Output Analog diwakili oleh Picture Box.

Berikut langkah pembuatannya:1. Hubungkan Arduino dengan komputer melalui port USB.

2. Periksa saluran COM yang digunakan (buka Device Manager untuk mengetahuinya).

3. Susun rangkaian Input Output Arduino menggunakan LDR dan LED, di mana LDR terhubung dengan kaki A0, dan LED terhubung dengan kaki D10.

4. Lakukan pemrograman pada Arduino, kemudian Compile dan Upload program.

5. Lakukan pemrograman Visual Basic, jalankan program tersebut dan selesai.

Berikut gambar skematik rangkaian Input Output Arduino. (Saya menggunakan Arduino Mini, atau juga dikenal sebagai Boarduino, karena lebih murah dengan kemampuan yang sama seperti Duemilanove - lihat Indorobotika.com):

Berikut program Arduino (dengan software Arduino):int pinled=10;

void setup() {Serial.begin(9600);pinMode(pinled,OUTPUT);}

void loop() { if(Serial.available()){int terimadata=Serial.read();analogWrite(pinled,terimadata);}int analogValue = analogRead(0); int datamsb=highByte(analogValue);int datalsb=lowByte(analogValue);Serial.print(datamsb,BYTE);Serial.print(datalsb,BYTE);delay(100);}

Berikut program VB6:Private Sub Form_Load()Slider1.Max = 255Slider1.Min = 0Slider1.TickFrequency = 10Slider1.LargeChange = 10MSComm1.RThreshold = 2MSComm1.InputLen = 2MSComm1.Settings = "9600,n,8,1"MSComm1.CommPort = 6MSComm1.PortOpen = TrueMSComm1.DTREnable = FalseEnd Sub

Private Sub Form_Unload(Cancel As Integer)MSComm1.PortOpen = FalseEnd Sub

Private Sub Slider1_Change()MSComm1.Output = Chr$(Slider1.Value)End Sub

Private Sub MSComm1_OnComm()Dim sData As StringDim highbyte As LongDim lowbyte As LongDim word As Long

If MSComm1.CommEvent = comEvReceive Then sData = MSComm1.Input highbyte = Asc(Mid$(sData, 1, 1)) lowbyte = Asc(Mid$(sData, 2, 1)) word = (highbyte * &H100) Or lowbyte Label1.Caption = CStr(word)End IfEnd Sub

Keterangan Objek yang digunakan:: 1 Form

1 Label

1 Slider (diperoleh dari Project / Components / Controls / Microsoft Windows Common Controls 6.0)

1 Mscomm (diperoleh dari Project / Components / Controls / Microsoft Comm Control 6.0)

Interface #3: Menggabungkan Digital dan AnalogDi sini akan diberikan contoh bagaimana mengirimkan dan menerima sinyal Digital dan Analog pada mikrokontroler dan data Digital dan Analog pada program komputer.Di sisi mikrokontroler: Sinyal Input Digital diwakili oleh Tombol

Sinyal Input Analog diwakili oleh LDR

Snyal Output Digital diwakili oleh LED (on-off)

Sinyal Output Analog diwakili oleh LED (brightness).

Di sisi komputer, dengan program VB6: Data Input Digital dinyatakan oleh objek Command Button

Data Input Analog dinyatakan oleh objek Slider

Data Output Digital dinyatakan oleh objek Shape

Data Output Analog dinyatakan oleh objek Picture Box.

Berikut langkah pembuatannya:1. Hubungkan Arduino dengan komputer melalui port USB.

2. Periksa saluran COM yang digunakan (buka Device Manager untuk mengetahuinya).

3. Susun rangkaian Input Output Arduino menggunakan Tombol, LDR dan 2 buah LED, di mana Tombol terhubung dengan kaki D2, LDR terhubung dengan kaki A0, dan LED pertama dan kedua berturut-turut terhubung dengan kaki D9 dan D10.

4. Lakukan pemrograman pada Arduino, kemudian Compile dan Upload program.

5. Lakukan pemrograman Visual Basic, jalankan program tersebut dan selesai.

Berikut gambar skematik rangkaian Input Output Arduino. (Saya menggunakan Arduino Mini, atau juga dikenal sebagai Boarduino, karena lebih murah dengan kemampuan yang sama seperti Duemilanove - lihat Indorobotika.com):

Berikut program Arduino (dengan software Arduino):int kakitombol=2;int kakiled=9;int pinled=10;

void setup() {

Serial.begin(9600);pinMode(kakitombol,INPUT);pinMode(kakiled,OUTPUT);pinMode(pinled,OUTPUT);}

void loop() { if(Serial.available()){int terimadata=Serial.read();if (terimadata=='a'){digitalWrite(kakiled,HIGH);}else if (terimadata=='b'){digitalWrite(kakiled,LOW);}else{analogWrite(pinled,terimadata);}}int statustombol=digitalRead(kakitombol);if(statustombol==HIGH){Serial.print('a');}else{Serial.print('b');}int analogValue = analogRead(0); int datamsb=highByte(analogValue);int datalsb=lowByte(analogValue);Serial.print(datamsb,BYTE);Serial.print(datalsb,BYTE);delay(100);}

Berikut program VB6:Private Sub drawscale(var As Long)Picture1.ClsPicture1.Line (0, 0)-(var, Picture1.ScaleHeight), vb3shadow, BFEnd Sub

Private Sub Command1_Click()Dim statusled As StringIf Option1 = True Thenstatusled = "b"Elsestatusled = "a"End IfMSComm1.Output = statusledEnd Sub

Private Sub Form_Load()Slider1.Max = 255Slider1.Min = 0Slider1.TickFrequency = 10Slider1.LargeChange = 10MSComm1.RThreshold = 3MSComm1.InputLen = 3MSComm1.Settings = "9600,n,8,1"MSComm1.CommPort = 6MSComm1.PortOpen = TrueMSComm1.DTREnable = False

Picture1.ScaleWidth = 1000Picture1.AutoRedraw = TrueEnd Sub

Private Sub Form_Unload(Cancel As Integer)MSComm1.PortOpen = FalseEnd Sub

Private Sub Slider1_Change()MSComm1.Output = Chr$(Slider1.Value)Label3.Caption = Slider1.ValueEnd Sub

Private Sub MSComm1_OnComm()Dim sData As StringDim highbyte As LongDim lowbyte As LongDim word As LongDim tombol As StringIf MSComm1.CommEvent = comEvReceive Then sData = MSComm1.Input tombol = Mid$(sData, 1, 1) highbyte = Asc(Mid$(sData, 2, 1)) lowbyte = Asc(Mid$(sData, 3, 1)) word = (highbyte * &H100) Or lowbyte Label1.Caption = CStr(word) drawscale word Label2.Caption = tombol If tombol = "a" Then Shape1.FillColor = vbYellow Else Shape1.FillColor = vbRed End IfEnd IfEnd Sub

Keterangan Objek yang digunakan::

1 Form

1 Mscomm (diperoleh dari Project / Components / Controls / Microsoft Comm Control 6.0)

1 Shape

3 Label

1 Picture Box

1 Slider (diperoleh dari Project / Components / Controls / Microsoft Windows Common Controls 6.0)

2 Option Button

1 Command Button