Bel Cerdas Cermat menggunakan ATMega8
Posted by Andik on May 7, 2008
Key word : Serial to USB interface, ATMega8, Current Loop, Visual Basic
Latar Belakang
Ada suatu perlombaan cerdas cermat (modern mode –> on) yang membutuhkan suatu bel beberapa kriteria, yang pertama harus MURAH!! untuk 10 channel atau kelompok, harus dapat mengeluarkan suara sebagai pertanda bahwa bel telah ditekan tetapi harus dapat diketahui urutan bel ditekan (dari yang pertama menekan hingga yang tidak menekan bel alias tidak bisa menjawab pertanyaan). Dari sini bisa dibayangkan seandainya 10 bel konvensional ditekan dalam waktu yang hampir bersamaan pasti acara cerdas cermat akan berubah layaknya konvoi seperti kalau ada acara kampanye partai, soalnya peserta akan memencet bel selama juri/MC belum menentukan siapa yang pertama kali menekan bel, yang kedua siapa, yang ketiga…dan seterusnya. Untuk itu perlu juga disimpan log siapa saja yang menekan bel. Dalam acara akan ditampilkan beberapa pertanyaan dan skor peserta dalam layar proyektor layaknya acara kuis di TV, untuk itu akan dibuat bel yang terkoneksi dengan PC dan dapat menampilkan nama peserta di layar proyektor.
Desain alat
Alat yang dirancang mempunyai diagram blok seperti berikut:
Diperlukan rangkaian 20mA current loop dengan pertimbangan bahwa jarak antara tombol tekan dengan modul ATMega8 dan PC adalah jauh (kurang lebih 20m). Posisi modul dan PC harus berdekatan karena komunikasi serial RS232 tidak menjangkau lebih jauh dari 15,24 m (50feet). Sengaja tidak digunakan rangkaian 20mA Current Loop pada komunikasi serial RS232 ke PC-nya yang sebenarnya justru lebih hemat, tetapi pada sisi tombol bel ke mikrokontroler dikarenakan alasan posisi peletakan bel pada saat acara yang tidak memungkinkan. Rangkaian 20mA Current Loop yang dirancang dapat mengirimkan data (meskipun datanya hanya ‘0’ dan ‘1’ dengan frekuensi yang sangat rendah) dari bel secara simplex (satu arah) dengan baik tanpa ada noise yang berarti. Rangkaiannya seperti berikut.
Sebagai pemroses data untuk dikirimkan ke PC melalui komunikasi serial digunakan mikrokontroler ATMega8 yang dengan konfigurasi berikut.
Jika PC yang digunakan memiliki port serial maka rangkaian bisa dihubungakan ke PC langsung menggunakan kabel serial, tapi jika tidak ada (seperti laptop) bisa digunakan konverter RS232 to USB Cable untuk menghubungkannya. Format data yang diterima sama dengan format RS232.
Perangkat Lunak
Pada sisi mikrokontroler saya buat menggunakan program BASCOM AVR, penggunaannya sanga mudah apalagi jika sudah mempunyai dasar pemrograman menggunakan Basic. Program ini mempunyai tugas untuk mendeteksi Port Mikrokontroler kemudian mengirimkan data yang diolah melalui secara serial dengan perintah “Print”. Karakter “$” adalah karakter Start dan karakater “@” adalah karakter Stop, sedangkan yang diapit oleh keduannya adalah datanya. Ini dimaksudkan agar program pada PC dapat mengetahui dengan mudah mana data yang sebenarnya dikirim. Program lengkapnya seperti berikut.
$regfile = "m8def.dat" $crystal = 12000000 $baud = 9600 Config Portc = Input Config Portd = Input Do If Pind.4 = 1 Then Print "$1@" End If If Pind.5 = 1 Then Print "$2@" End If If Pind.6 = 1 Then Print "$3@" End If If Pind.7 = 1 Then Print "$4@" End If If Pinc.5 = 1 Then Print "$5@" End If If Pinc.4 = 1 Then Print "$a@" End If If Pinc.3 = 1 Then Print "$9@" End If If Pinc.2 = 1 Then Print "$8@" End If If Pinc.1 = 1 Then Print "$7@" End If If Pinc.0 = 1 Then Print "$6@" End If Waitms 1 Loop
Sedangkan perangkat lunak pada sisi PC dibuat menggunakan Visual Basic 6. Program ini bertugas untuk mengolah data yang dikirimkan mikrokontroler untuk kemudian ditampilkan hasinya ke monitor PC atau layar proyektor. Pada Visual Basic kita dapat menggunakan komponen MSComm untuk interface secara serial dengan perangkat diluar.To Be Continued………:)
Download
****** Dapatkan kit Bel Cerdas Cermat murah disini. ******
Artikel terkait:
SL-02 Bel Cerdas Cermat Fastest Push
BelCC 1.1 – Perangkat Lunak Bel Cerdas Cermat
pradithya said
cupu
pradithya said
tapi keren!!!!!
suhendrik said
saya tertarik dengan penjelasannya
juga saya tertarik untuk mempelajari atmega 8535 , bantu saya donk
bagaimana cara nya menghidupkan led sejumlah 12 buah secara bergantian skenarionya begini dech… :
1. ketika arus listrik dimasukkan buzzzer berbunyi selama 20 detik.
2. setelah itu led pertama hidup dan yang lainnya mati .
3. kemudian selang waktu 5 detik led ke 2 hidup dan led yg lainya mati.
4. kemudian selang waktu 5 detik led k 3 hidup dan lainnya mati
5. demikian seterusanya hingga led yang terakhir k 12
setelah itu
system akan shut down
dari masalah dia atas dengan atmega sulit gak ya,,, tolong dong ajarin tahapannya ya…..he..he..he..
terimakasih
andyq3lectra said
Kalo ngomong masalah tahapannya, sepertinya mas Suhendrik udah melewati salah satu tahapannya, yaitu menyusun algoritmanya (langka-langkah penyelesaian masalah). Ini adalah modal besar diawal yang harus dimiliki seorang programmer. Urutannya udah mas jawab sendiri, langkah selanjutnya adalah menerjemahkannya dalam bahasa pemrograman, dalam hal ini untuk program mikrokontroler. Kalo pake ATMega, justru lebih mudah mas…bisa pake C, atau BASCOM (basic) atau MikroPascal tinggal pilih mana yang mas kuasai…mas tinggal mikir logikanya, mo yg sederhana atau yang rumit (biar ga dibilang cupu..he..he..)…atau untuk lebih jelasnya ditunggu artikel berikutnya OK 🙂
chandramde said
Halo…
Saya sudah lama gak main mikrokontroler. Tapi sekarang mau balik lagi. Belajar bareng2 ya…
Rgds,
Chandra MDE
http://telinks.wordpress.com
andyq3lectra said
Wah seneng sekali ada temen belajar…saya juga udah lama ngga main mikrokontroller (baca: belajarnya baru sedikit) 🙂 Thanks mas chandra.
dilta said
melihat penjelasan singkat system di atas, sy sangat tertarik, kebetulan kita sedang ada proyek cerdas cermat tingkat nasional, bisa kah sy dikontak segera di no. 08121309xxx
TQ dilta
andy sw said
haloo bro,
kita bisa sharing kan???
saya lebih bisa menggunkan bahasa C, jadi share bahsa basic nya ya??
makasi…
jusmar ari said
assalamualaikum
bisa Ga minta rangkaianx yang lebih jelas lagi tentang bel listrik cerdas cermat seperti yang kita jelaskan diatas.dan alat-alatnya yang digunakan.
kalo bisa kirim melalui sms dinomor ini (08534150xxxx).
jusmar ari said
assalamualaikum
kalo bisa minta prosedur kerja dari bel listrik cerdas cermat seperti yang telah dijelaskan diatas.
Arifurahman said
Saya sangat tertarik dengan produk jadinya, karena kami akan menggunakannya untuk acara cerdas cermat di SMP Negeri 5 Tanjungpinang Kep. Riau, kalau ada mohon infarmasinya dan berapa harganya…..
Tolong kami butuh sekali
jonaidi said
mana lanjutannya bos???
jonaidi said
boleh minta tutorial cara pembuatan ga???atau misalnya kalo mau pesen alatnya??bisa kirim ke 08573979xxxx
andyq3lectra said
Mas Jonaidi kan sudah ditulis diatas 🙂
taufik said
mas mohon bantuanya,..
minta rangkaian lengkap dan pemrogramanya? sebagai bahan belajar nich.. mohon kirim ke email saya ya mas taufikadi@yahoo.co.id oh ya mas sekalian nanya… kecepatan akses port paralel berapa sekon ya untuk setiap perubahan data pada port paralel misalnya dari 1111 1111 menjadi 1111 1110… maksd saya selisih waktu pembacaanya.. apakah bisa dibaca pada skala mili sekon?
andyq3lectra said
MAs Taufik,
rangkaian sudah saya tampilkan diatas, silakan dinikmati. Kalo paralel port bisa menangani transfer data hingga 50 – 100 Kbyte/s. Jadi tentu saja data yang mas sampaikan (1 byte) dapat dibaca dalam orde milisekon. Bahkan dalam mode EPP (Enhanced Parallel Port) bs sampai 2 MBytes/s. Tapi tentu saja faktor lain juga mempengaruhi seperti kecepatan processor PC, software/program aplikasi yang mas buat juga mempengaruhi.
Ardy Widyarso said
Mas Andi,
Saya membutuhkan beberapa perangkat bel cerdas cermat untuk event lomba.
pada siapa saya mendapatkannya ?
please inform…
andyq3lectra said
Pak Ardy, terima kasih udah mampir ke blog saya. Waduh pak sebenarnya saya belum siap untuk “berdagang” meskipun pengen he..he….Banyak temen-temen yang mau rangkaian saya, tapi pekerjaan saya sekarang masih belum memungkinkan untuk menangani secara serius. Saya tidak tahu kemana saya bisa arahkan bapak, mungkin saya bisa bantu buatkan asalkan konstruksi (spesifikasi) yg diinginkan masih seperti diatas dan ga banyak. Silahkan kirim email ke andyq.electra@gmail.com biar diskusinya lebih nyaman. thanks
rudy said
mas kalo rangkaian untuk membuat bel cerdas cermat yang biasa ada ga???
andyq3lectra said
Maaf mas Rudi, saya belum ada 🙂
aldo_maryz said
Mas, sya mau tanya dong,
saya sdah bisa mengirimkan data dari mikrokontroller ke komputer,
tapi data yang sampai tidak sesuai (malah berupa simbol – simbol)
kira-kira kesalahan saya ada di mana yah mas,
saya pkai xtal 12MHz, dengan baud 9600 data tidak keluar, tapi dengan baud 300 atau 110, data muncul namun berupa simbol
terima kasih yah mas atas balasannya
andyq3lectra said
Mas Aldo,
itu bukan kesalahan, memang mikrokontroler mengirim data ke PC berupa data heksadecimal, namun di PC diterima berupa karakter ASCII, misalnya untuk data 26h akan tampil sebagai karakter “&” ascii, untuk 3Fh = ? ascii, dst…untuk itu mas Aldo musti konversi dulu dari data ASCII ini ke bentuk bilangan Heksadesimal. Hal ini bisa dilakukan di program sisi PC. Saya lampirkan juga tabel konversi ASCII, silakan didownload disini.
Yuli said
asslm… mas bs mntol, sy butuh artikel lgkp cra bwt bel ini. soalx dpt tgs dr dosen.. n hrus sgra dsetor alatx dgn krja brklompok. sygx 1 klompok hx 2 org (cwe smw). jd sy bngung mw bwt bel crdas crmatx gmna? bs mntol krimkn artikel lgkpx via email sy. mhon infox… syukran
Andik said
waalaikumsalam…saya sudah kirim emailnya mbak..syukran 🙂
andmh said
sangat menarik meski saya kesulitan mengikuti. maklum nol dalam hal PLC. jadi yang perlu disiapkan harware & softwarenya apa saja mas? dan dimana bisa mendapatkannya?