YOwww kali ini kita akan bermain komunikasi RS232 antara microcontroller dengan PC, bikin si MCU (microcontroller) biar bisa “ngobrol” ama si PC.
Pertama kita harus tahu kalau MCU level tegangannya TTL 5volt, agar mcu bisa “ngobrol” ama PC, kita menggunakan converter tegangan TTL ke level tegangan RS232.
Converter yang saya gunakan disini adalah MAX232, yang sudah ada di board SmartAVR system so tinggal bikin program aja deh ak…
Langsung aja bikin file baru di BASCOM AVR: FILE--->NEW atau CTRL+N
Tulis program berikut,
CONTOH RS232-1:
$regfile = "m16def.dat" $crystal = 11059200 $baud = 9600 Do Print "connection ok" Waitms 1000 Loop End
Buka Terminal Emulator, klik TOOLS--->TERMINAL EMULATOR atau tekan CTRL+T
Hubungkan kabel RS232 dari mcu ke port serial RS232 PC, port ini berbentuk DB9.
Jika berhasil pada Terminal Emulator akan muncul tulisan “connection ok”.
Program pada CONTOH RS232-1, digunakan untuk mengirim tulisan “connection ok” ke PC. Karena ada waitms 1000 = delay 1detik, maka tulisan “connection ok” dikirim tiap 1 detik.
Error yang biasa terjadi karena salah setting Terminal EMulator. Berikut ini setting yang saya gunakan:
Com Port: port serial yang digunakan, disini saya gunakan port COM2 (lihat di device manager, com port yang tersedia di PC anda)
Baudrate: kecepatan transfer data antara mcu dengan PC. Pada mcu nilai baudrate di set pada baris program $baud = 9600
Jika tadi yang “ngomong” hanya si MCU sedangkan si PC cuman dengerin, sekarang kita akan buat program agar si MCU dan si PC bisa ngobrol 2 arah.
Contoh RS232-2:
$regfile = "m16def.dat" $crystal = 11059200 $baud = 9600 Dim Angka As Integer Input "masukin angka lalu tekan Enter..." , Angka Print "yg loe ketik angka: " ; Angka Do Input "ketik lagi, jangan lupa d Enter..." , Angka Print "yg loe ketik angka: " ; Angka Loop End
Tampilan Terminal Emulator saat program dah running di MCU
Dari program CONTOH2, yang perlu dibahas mungkin baris yang ada kata “input”
Input "masukin angka lalu tekan Enter..." , Angka Print "yg loe ketik angka: " ; Angka
Command “Input” berarti MCU akan memasukkan nilai yang masuk lewat serial RS232, dalam contoh ini nilai yg masuk adalah angka-angka yang diketik di Terminal Emulator. Nilai yang diketik dianggap valid saat ENTER ditekan.
Nilainya masuk kemana????
Angka-angka yang diketik akan masuk ke variabel “Angka”, variabel ini terlebih dahulu di”daftar”kan diawal program yaitu
Dim Angka As Integer
Untuk latian silahkan di utak atik baris-baris program diatas. Hapus/ganti salah satu huruf atau tanda baca(koma, petik, titikkoma) untuk lebih memahami fungsi masing2 code program
Peralatan yang digunakan dalam latian ini:
- Smart AVR System
- USB Downloader
- USBtoRS232 (konverter port USB menjadi port RS232 karena saya pake laptop yang nggak ada port serial RS232 nya)
buka terminal emulator kog malah muncul could not open COM1 ?????
saya juga pgn tw knpa koneksi db9 tidak dapat, terus apa ada skema rangkaian khusus buat RS232
@mr x & Mamain: PC/Laptop anda sudah ada COM portnya(port serial) ato belum?? coba lihat di Device Manager--> Ports(COM & LPT), jika tidak ada gunakan USB2RS232 converter.
Contoh rangkian ATMEGA yang sudah dilengkapi dengan max232 kunjungi http://www.avrku.com/2011/03/anti-noise-atmega8-circuit.html
mas kalo mau send sms pake mikrokontroler apa perlu rangkaian max232 ?? hape sy SE T610
kalo saya ingin mengirimkan sms dari mikronya gmana nih mas?? saya pake modul gsm pake at command. mohon bantuannya.
http://www.avrku.com/2011/06/bascom-avr-mega16wavecom-fastrack.html
mas,,, ada program buat sms pake at89s52 n hpnya hp siemens....tolong mas pencerahannya...
yang pake bascom 8051 y mas... cz saya ragu ma pengiriman data, error pa gak....
mas, kalau koneksi rs232 dari mikro ke pc dan di pc interface VB yg terkoneksi dg database gmna ya?