Selasa, 07 April 2009

Mobil Robot & Wall Tracing

.
Sekarang ke algoritma.
Sebelum anda jauh melihat listing programnya, biar tidak bingung sebaiknya anda pelajari bahasa C mencakup struktur, command-command, tipe data, operator, membuat fungsi, dll. Tetapi jika anda menguasai bahasa pemrograman lain seperti bahasa Pascal, BasCom, atau assembler maka lihat bagaimana memprogramnya dan logika pemrogramannya lalu bagaimana mengimplementasikan pada bahasa pemrograman yang anda kuasai.

Saya akan memprogram mobil robot untuk mempertahankan jarak mobil robot terhadap dinding dengan jarak referensi 20 cm, bisa menggunakan hanya 1 buah sensor PING atau 2 sensor PING. Jika anda menggunakan hanya 1 sensor PING maka pada arena yg anda buat tidak boleh ada halangan di depan mobil robot. Mobil robot akan diprogram agar dapat berbelok dengan tikungan hingga 180 derajat. Hal penting sebelum ke program utama adalah menentukan nilai PWM yang akan diberikan pada mobil robot untuk kondisi jarak tertentu, tujuannya adalah agar menghasilkan pergerakan mobil robot yang halus, selain itu juga karena karakteristik motor DC yang berbeda-beda. Motor DC yang saya gunakan pasti berbeda dengan yang anda gunakan.

Listing pada Gambar 1 adalah pengujian untuk mengetahui karaktersitik motor DC yang anda gunakan apakah linier atau logaritmik. Jika anda telah mengetahui linier atau logaritmik maka akan mempermudah mencapai hasil yang maksimal nantinya, tetapi jika anda tidak sabaran silahkan langsung ke listing Gambar 2 dan lakukan Trial and Error dengan mengubah nilai PWM terus-menerus hingga didapatkan hasil yang maksimal. Apabila anda beruntung dengan sedikit coba-coba ketemu dah.

Pengujian yang baik dan lebih teliti tentu saja dengan menggunakan alat ukur kecepatan putaran
atau tachometer atau encoder, tetapi saya menganggap anda tidak memilikinya sehingga pengujian seperti di bawah ini (saya juga ga punya si).

Cara pengujian sebagai berikut :
- Program awal ROBOT(Stop) selama 3 detik.
- ROBOT(Maju) selama 3 detik dengan nilai PWM 250.
- ROBOT(Stop) selama 3 detik.
- ROBOT(Maju) selama 3 detik dengan nilai PWM 200.
- ROBOT(Stop) selama 3 detik.
- ROBOT(Maju) selama 3 detik dengan nilai PWM 150.
- ROBOT(Stop) selama 3 detik.
- ROBOT(Maju) selama 3 detik dengan nilai PWM 100.
- ROBOT(Stop) selama 3 detik.
- ROBOT(Maju) selama 3 detik dengan nilai PWM 50.
- Gunakan alas yang licin (lantai keramik) atau menggunakan kertas karton putih.
- Posisikan mobil robot dan beri tanda pada lantai posisi awal mobil robot.
- Setelah mobil robot di program dan sudut sensor PING telah diatur dengan baik, kemudian jalankan.
- Setiap mobil robot bergerak maju kemudian stop, berikan tanda pada lantai dimana posisi mobil Robot berhenti hingga mencapai akhir program.
- Catat perubahan jarak yang terjadi, dari listing diatas anda mendapatkan 5 data jarak.
- Dengan menggunakan rumus perbandingan antar jarak dengan nilai PWM maka dapat disimpulkan apakah motor DC anda Linier atau logaritmik. Jika motor DC anda linier tidak masalah tetapi jika logaritmik baru masalah (tenang ga gede kok).

Oh ya satu lagi, anda ubah nilai PWM pada listing Gambar 1 hingga nilai tersebut minimum, yaitu nilai PWM terkecil yang masih menyebabkan motor DC bergerak (pelaaaaaan banget), catat nilai PWM tersebut karena akan digunakan untuk berbelok 180 derajat.

Untuk mempermudah pemahaman program, saya gunakan perintah IF THEN ELSE saja, mengapa saya menuliskan program IF THEN ELSE seperti itu, silahkan pikirkan sendiri (Wkkk.....).
Nilai PWM dapat anda atur sesuai perhitungan anda berdasarkan karakteristik motor DC anda. Kalo ingin lebih cepat dan halus pergerakan mobil robot gunakan PI-Fuzzy, atau metode yg anda inginkan. Sensor PING berada pada sisi kiri mobil robot, jadi diprogram untuk meraba dinding kiri saja.

Kondisi awal pergerakan mobil robot adalah penting, jika mobil robot diprogram untuk mempertahankan jarak terhadap dinding kiri maka setelah mendeteksi dinding kiri, mobil robot tidak boleh melepas dinding ini, apabila mobil robot "tersesat" dari dinding kiri, buat prosedur cadangan.

Kondisi awal mobil robot hanya ada 2 :
- Tidak terdapat dinding di sisi kiri mobil robot.
- Terdapat dinding di sisi kiri mobil robot.

Lebih baik menganggap kondisi awal tidak ada dinding kiri daripada ada dinding kiri oleh sebab itu kondisi awal tidak ada dinding kiri. Jika tidak ada dinding kiri maka agar mobil robot cepat menemukan dinding kiri, mobil robot harus bergerak lurus dengan PWM 255 sampai tersentuh dinding kiri (atau dinding depan atau kanan --> ada PING depan dan kanan).

Bagaimana jika mobil robot lepas dari dinding kiri dan "tersesat" ?
Listing pada Gambar 2 menyebabkan mobil robot akan berputar-putar (belok kiri) jika dinding kiri memiliki jarak > 30 cm karena nilai PWM motor kiri pelan sekali (bahkan stop) sedangkan nilai PWM motor kanan 255 (maksimum). Gunakan variabel tambahan yaitu unsigned char cnt_kiri (count kiri) yang akan terus bertambah jika dinding kiri jarak > 30 cm. Karena unsigned char maka nilai maksimum cnt_kiri adalah 255. Nilai maksimum cnt_kiri anda tentukan sendiri dan sesuaikan dengan kecepatan motor DC anda, jika terlalu besar nilainya dapat membuat mobil robot akan berputar-putar cukup lama. Saya sarankan anda mengatur nilai maksimum cnt_kiri yang akan menyebabkan mobil robot berputar sebanyak 1 - 1,5 putaran.

Mengapa 1 - 1,5 putaran ?
Mobil robot saat melewati tikungan 180 derajat itu berarti mobil robot telah berputar sebanyak 1/2 putaran dan arena yang dibuat berupa bidang sehingga mobil tidak mungkin berbelok lebih dari 180 derajat, akan tetapi karena menganggap ada faktor X lainnya seperti ada batu atau tanjakan atau yang lain maka dibatasi 1 - 1,5 putaran, lebih dari itu menurut saya terlalu lama.

Nah sudah jadi nih Mobil Robot yang bisa jalan-jalan, klo udah berhasil dan anda mendapatkan pergerakan yang halus, sana pamerin aja trus kacak pinggang dan bilang "Ini Fuzzy ini, pake Sugeno ma Mammdani. Apik to.."

Mobil Robot & IC L298

.
Baca dulu H-Bridge IC.

Rangkaian Schematic

Mobil robot yang akan dibuat menggunakan driver motor DC H-Bridge menggunakan IC L298. Rangkaian schematik yang saya gunakan seperti di bawah ini

Perhatikan pemilihan Port dan konfigurasi yang digunakan, mengapa PortD dan mengapa susunan setiap pin pada PortD untuk driver Motor DC seperti itu. Hal tersebut saya bahas pada topik Mobil Robot & AVR. Jika driver motor DC telah dibuat, sekarang pengujian pergerakan pada mobil robot.

Pengujian Pin-pin PORTD
Apabila menggunakan IC L298, sebenarnya anda tidak perlu mengetahui atau menghapal seluruh konfigurasi pin, yang penting adalah Pin EN12 (Enable 12) dan Pin EN34 (Enable 34). Karena menggunakan PWM dengan rentang nilai 0 - 255 maka untuk mikrokontroler AVR ATmega8535 pasti menggunakan PORTD dan menggunakan pin OCR1B (PORTD.4) dan OCR1A (PORTD.5).

Gambar 2 adalah listing program pengujian pergerakan motor DC pada mobil robot. Pengujian ini bertujuan untuk mengetahui apakah driver motor DC berfungsi sehingga tidak menggunakan PWM. Pengujian yaitu dengan menggerakkan salah satu motor DC agar bergerak maju atau mundur selama selang waktu 3 detik, oleh sebab itu mobil robot dibuat tidak menyentuh lantai dan tetap terkoneksi dengan komputer sambil diprogram. Agar motor DC bergerak maka Pin enable harus berlogika 1, yaitu PD.4 dan PD.5 berlogika 1 dan tidak boleh diubah logikanya.

Langkah-langkah pada program Gambar 2 sebagai berikut :
1. Motor DC di buat berhenti selama 2 detik tujuannya agar mengetahui awal program dimana sehingga jika Motor DC bergerak, dapat diketahui baris mana pada listing yang sedang dieksekusi.
2. PD.0 PD.4 dan PD.5 berlogika 1 yang lain berlogika 0.
3. PD.1 PD.4 dan PD.5 berlogika 1 yang lain berlogika 0.
4. PD.6 PD.4 dan PD.5 berlogika 1 yang lain berlogika 0.
5. PD.7 PD.4 dan PD.5 berlogika 1 yang lain berlogika 0.
6. PD.2 dan PD.3 tidak diuji karena port ini tidak digunakan pada driver motor DC.

Pada langkah 2 - 6 Lihat motor mana yang bergerak dan apakah maju atau mundur.
Beri catatan disamping baris listing program yang sedang dieksekusi.

Pengujian Pergerakan Mobil Robot

Gambar 3 adalah Listing program untuk menguji dan melihat pergerakan serta kecepatan mobil robot saat kecepatan penuh. Tujuannya adalah untuk mengetahui logika-logika yang akan diberikan pada setiap pin PD.0 PD.1 PD.6 dan PD.7 yang akan mengatur gerak robot seperti Maju, Mundur, Belok Kanan, Belok Kiri, Rotasi Kanan, dan Rotasi Kiri. Selain itu juga mengetahui kecepatan Maksimum mobil robot. Pengaturan port sama seperti pada Gambar 2.

Langkah-langkah pada program Gambar 3 sebagai berikut :
1. Menggunakan informasi dari pengujian Gambar 2.
2. Mobil Robot dibuat berhenti selama 2 detik, tujuannya sama.
3. Mobil Robot dibuat bergerak Maju 3 detik. Yaitu motor kanan dan motor kiri maju.
4. Mobil Robot dibuat bergerak Mundur 3 detik. Yaitu Motor Kanan dan motor kiri mundur.
5. Mobil Robot dibuat bergerak Belok Kanan 3 detik. Yaitu motor kanan stop dan motor kiri maju.
6. Mobil Robot dibuat bergerak Belok Kiri 3 detik. Yaitu motor kanan maju dan motor kiri stop.
7. Mobil Robot dibuat bergerak Rotasi Kanan 3 detik. Yaitu motor kanan mundur dan motor kiri maju.
8. Mobil Robot dibuat bergerak Rotasi Kiri 3 detik. Yaitu motor kanan maju dan motor kiri mundur.

Pengujian dengan PWM
Setelah pengujian 3 berhasil, selanjutnya menggunakan PWM.
Dari hasil pengujian 3, buat subrutin atau prosedur baru dengan nama ROBOT(unsigned char gerak) yang isinya hanya mengatur pergerakan mobil robot, jangan lupa bahasa C adalah case sensitive yaitu huruf besar dan huruf kecil dibedakan, manfaatkan hal ini untuk membedakan antara variabel dengan judul prosedur atau hal lainnya. Selain itu penggunaan type variabel juga harus diperhatikan yaitu kapan menggunakan unsigned char, signed char, unsigned int, signed int, dll, karena hal ini berpengaruh pada penggunaan memori AVR yang terbatas, berbeda pada komputer yang menggunakan hardisk dan ram.

Mengapa unsigned char ?
signed char memiliki nilai -128 hingga 127
Unsigned char memiliki nilai 0 hingga 255
signed int memiliki nilai -32768 hingga 32767
Unsigned int memiliki nilai 0 hingga 65535
lebih jelas lihat help -> C Compiler Reference -> Data Type

Data yang dibutuhkan hanya :
- Stop dengan nilai 0
- Maju dengan nilai 1
- Mundur dengan nilai 2
- Bkanan dengan nilai 3
- Bkiri dengan nilai 4
- Rkanan dengan nilai 5
- Rkiri dengan nilai 6
Berarti data yang diperlukan hanya 7 data, jika unsigned char bahkan tersisa 256 - 7 = 249 data yang berarti lebih dari cukup. Pada mikrokontroler nilai 0 - 255 berarti menggunakan 1 buah register saja (1 byte memori).

.... Lanjut ....
Buat project baru dan lakukan konfigurasi seperti gambar 4 pada Code WizardAVR yaitu menggunakan timer 1, dan atur konfigurasi Port D seperti pada Gambar 2. Berdasarkan schematik Gambar 1 serta pengujian 2 dan pengujian 3 maka PD.4 atau OC1B adalah pin PWM yang akan mengatur kecepatan motor kanan sedangkan PD.5 atau OC1A adalah pin yang mengatur kecepatan motor kiri.

Lihat kembali Gambar 4.
Saat ROBOT(Stop) tidak diberikan nilai PWM karena berapapun nilai PWM yang diberikan tetap saja kedua motor DC akan berhenti. Mobil robot akan berhenti selama 2 detik kemudian maju 3 detik dengan PWM 255 (kecepatan penuh) lalu maju pelan 3 detik dengan nilai PWM 150. Tanpa berhenti mobil Robot akan mundur pelan 3 detik dangan nilai PWM 150 yang kemudian menjadi mudur cepat dengan nilai PWM 255 selama 3 detik. Untuk ROBOT(Bkanan) atau robot belok kanan berapapun nilai PWM yang diberikan pada motor kanan tidak berpengaruh karena motor kanan berhenti dan motor kiri yang bergerak begitu pula sebaliknya pada ROBOT(Bkiri) atau robot belok kiri . Untuk ROBOT(Rkanan) dan ROBOT(Rkiri) nilai PWM saya buat berbeda antara kanan dan kiri agar terlihat pergeseran karena perbedaan nilai PWM.

Jika anda ingin menguji 2 buah motor DC yang bertipe sama yaitu apakah motor DC memiliki RPM yang sama dan simetris, begini caranya :
(dengan catatan poros atau as pada kedua roda mobil robot sejajar dan segaris).
- Ukur jarak maksimum antar roda kanan dan roda kiri pada mobil robot.
- Gunakan alas atau lantai yang tidak kasar (lantai keramik) atau kertas karton putih.
- Gambar lingkaran dengan diameter jarak maksimum antar roda.
- Program mobil robot untuk berotasi ke kanan (atau kekiri) dengan kedua PWM bernilai 255.
- Tempatkan mobil robot hingga kedua roda tepat berada didalam lingkaran dan jalankan.
Jika semakin lama mobil robot keluar dari lingkaran maka kedua motor DC tidak simetris.
Apabila anda kesulitan mendapatkan motor DC yang simetris maka usahakan agar perbedaannya tidak besar karena bisa disesuaikan pada algoritma pemrogramannya.

Pada pengujian 4 mungkin anda mengalami hal seperti ini :
Mobil robot berjalan-jalan Maju...Maju...Mundur...Mundur...Stop.... atau Maju...Maju...Stop... atau Maju...Stop... atau Maju...Maju...Mundur...Stop... atau banyak variasi lain.

Mengapa begitu ??
Mungkin anda akan berpikir jika logika pemrogramannya yang salah, kemudian diutak-atik masih sama dan terus-menerus. Coba anda lihat listingnya lagi, perintah stop kemudian maju adalah perintah awal yang diberikan pada mobil robot. Hal ini berarti program tidak sampai selesai dieksekusi, jalan sedikit kemudian kembali ke awal yang berarti mikrokontroler selalu Reset.
Penyebabnya adalah Mikrokontroler kekurangan tegangan atau arus karena digunakan motor DC, apalagi jika motor DC berubah kondisi dari berputar ke kanan kemudian berputar ke kiri dengan nilai PWM 255 (kecepatan maksimum). Oleh sebab itu Power Supply yang diberikan untuk mikrokontroler harus berbeda dengan yang diberikan untuk motor DC.
Misal mikrokontroler baterai kotak 9 Vdc dan motor DC aki kering 24 Vdc atau mikrokontroler baterai kotak 9 Vdc 1 buah dan motor DC baterai kotak 9 Vdc 3 buah jadi ada 4 baterai kotak.

Mobil Robot & Sensor PING

.
Pada mobil robot ini sensor yang akan digunakan adalah sensor Ultrasonik.
Saya sudah biasa menggunakan sensor PING karena ukurannya yang ideal dan memiliki akurasi yang cukup baik. Saya tidak akan berkomentar banyak tentang Sensor Ultrasonik, saya hanya akan membahas hal-hal perlu yang berkaitan dengan pembuatan mobil robot saja.

Silahkan lihat Data Sheet PING atau Gambar 1.

Dari Gambar 1 seharusnya sudah dapat memprogram untuk mengakses PING. Yang perlu diperhatikan adalah sinyal dan waktu yang dibutuhkan pada SIG pin (pin Sinyal).
Langkah-langkah operasi Sensor PING :
- Kondisi awal SIG pin adalah logika 0 minimal 100 us (tidak tercantum).
- Mengaktifkan PING agar mulai pengukuran dengan memberikan logika 1 selama 2 uS - 5 uS saya gunakan 5 uS (optional).
- Tunggu hingga 750 uS (Tholdoff) yaitu saat PING mulai memancarkan sinyal ultrasonik.
- Persiapkan SIG pin sebagai input yang akan membaca jarak dengan cara membuat SIG pin berlogika 1, Apabila SIG pin berubah kondisi dari logika 1 menjadi logika 0 maka itulah jarak terukur.
- Jika tidak terdapat dinding atau tidak ada jarak terukur maka waktu tin-max bernilai 18,5 ms berarti jarak terukur adalah 300 cm.

Ada 2 cara memprogram Sensor PING, yaitu menggunakan Interupsi Timer dan Scanning.
Mana yang terbaik ? Tergantung dari penggunaannya.
Jika anda menggunakan Sensor PING untuk mengukur jarak dengan tingkat presisi hingga milimeter maka gunakan interupsi timer. Apabila anda menggunakan banyak sensor PING dengan tingkat presisi hingga centimeter maka gunakan Scanning.
Saya menggunakan scanning dan menggunakan interupsi timer tidak saya jelaskan.

Sebelum memprogram dengan sistem Scanning maka harus diketahui terlebih dahulu nilai tundaan yang digunakan untuk menscan setiap sensor PING. Kecepatan sinyal suara di udara adalah
344 M/S = 34400 cm/S = 34400 cm/1000000 uS = 1 cm/29,069767441 uS.
Karena Sensor PING menggunakan pantulan maka untuk mengukur jarak 1 cm sama
dengan 2t sehingga
1 cm = 2 x 29,069767441 uS = 58, 139534 uS ~ 58 uS.
Berarti setiap tertunda 58 uS bertambah jarak sebesar 1 cm.

Mobil robot yang baik adalah mobil robot yang selalu memberikan informasi pada programer tentang apa yang terjadi didalam mikrokontroler dalam hal ini memberikan informasi berupa jarak yang diukur oleh sensor PING, oleh sebab itu dibutuhkan Display tambahan berupa LCD 16x2. Programer sering kesulitan mengetahui kesalahan yang terjadi pada programnya jika tidak terdapat umpan balik yang informatif.

Pada mobil robot yang saya buat tidak menggunakan LCD 16x2 sebagai umpan balik (lagi kere), mungkin anda juga tidak ingin menggunakan LCD tambahan. Bagaimana caranya meminimalkan kesalahan pada pengukuran jarak sensor PING ? Akan saya bahas selanjutnya pada gambar 2.

Listing pada Gambar 2 adalah mengukur jarak dengan sensor PING dan menampilkannya pada komputer melalui serial port (COM), lebih informatif dan jelas apalagi jika anda menggunakan sensor PING yang banyak, sebab tampilan LCD memiliki ruang yang terbatas dan programer tambah pusing lihat data yang berubah dengan cepat di ruang yang sempit. Mencatat saja tidak sempat. Jika anda menggunakan modul Mikrokontroler AVR yang dibeli jadi, perhatikan port Rx dan port TX atau PD.0 dan PD.1 apakah telah sesuai ?

Buat project baru, pada CodeWizzardAVR atur konfigurasi serial seperti Gambar 2 selain itu atur seluruh Port B menjadi Output, mengapa saya memilih PortB, Hal tersebut saya bahas pada topik Mobil Robot & AVR. Sensor PING depan di PB.0, sensor PING kanan PB.1, dan sensor PING kiri PB.2.

Misal jarak terukur depan 20, kanan 15, dan kiri 30, maka tampilan pada komputer adalah :
Cek PING
Depan
20
Kanan
15
Kiri
30

Jika berhasil ditampilkan berarti mengakses sensor PING sukses.
Jarak terukur maksimum dibatasi hanya sampai 99 cm, hal ini karena mobil robot akan meraba salah satu dinding dengan jarak referensi 20 cm dan maksimum 30 cm sehingga lebih dari 30 cm dianggap jauh tak terhingga. Apabila ingin dibatasi hingga 50 cm saja lebih baik lagi karena mengurangi waktu scanning sensor PING yang dibutuhkan.

Coba anda membaca jarak dinding diatas 45 cm akan terjadi kesalahan pembacaan jarak, misal jarak sesungguhnya 55 cm maka jarak terukur kurang dari 55 cm, hal ini adalah kelemahan sistem scanning. Telah didefinisikan bahwa 58 uS = 1 cm padahal jika anda menggunakan mikrokontroler AT89S51 dengan kristal 12 MHz maka 1 siklus mesin (1 cycle) = 1 uS berarti 58 siklus = 58 uS = 1 cm. Jika menggunakan bahasa Assembler, banyaknya siklus bisa dihitung (agak ribet tapi) sehingga bisa meminimal kesalahan, akan tetapi bahasa C jika di ubah ke bahasa mesin akan menjadi tambah panjang bahkan lebih panjang dibanding jika anda menulis sendiri dalam bahasa assembler apalagi dalam proses looping, hal ini menyebabkan waktu pengukuran tidak tepat 58 uS.
Selain itu pada Gambar 2 digunakan 3 sensor PING, jika lebih banyak lagi bisa mengurangi tingkat akurasinya. Akan tetapi untuk jarak tertentu pada sistem scanning masih bisa mendekati akurasi yang baik. Saya mencoba, menampilkannya, dan mendapatkan nilai 4 cm - 44 cm.

Hal penting lainnya pada pengujian sensor PING adalah mengatur sudut kemiringan sensor PING terhadap dinding yang akan diukur. Oleh sebab itu pada pengujian ini saya menyarankan anda membuat sensor PING dapat diubah-ubah sudutnya secara fleksibel dengan membuat pondasi sensor PING dapat diputar-putar.

Cara pengujian sensor PING dari Gambar 2 untuk sensor PING samping (sensor PING depan tidak perlu diubah sudutnya) yaitu :
- Pasang sensor PING pada mobil robot dan longgarkan bautnya agar bisa diputar.
- Posisikan mobil robot sejajar dengan dinding samping dengan jarak 20 cm.
- Sensor PING samping dibuat tegak lurus terhadap dinding.
- Setelah di program dan dijalankan, putar secara perlahan sensor PING setiap 1 detik sambil memperhatikan tampilan data pada komputer.
- Jika tampilan pada komputer 20 cm maka terus putar sensor PING hingga nilai tersebut berubah menjadi >= 20 cm.
- Apabila jarak terukur >= 20 cm maka itu adalah sudut maksimum sensor PING yang diperbolehkan untuk menghindari kesalahan pembacaan jarak.

Sudut sensor PING terhadap dinding harus diperhatikan, apalagi jika anda hanya menggunakan sedikit sensor PING.
Oh ya, cukup dengan hanya 1 sensor PING saja, mobil robot dapat berjalan secara halus dan bagus dengan meraba dinding selama tidak ada dinding didepan mobil robot.
Mobil robot yang saya paparkan disini minimal sensor PING adalah 2, tetapi jika anda kesulitan mendapatkan sensor PING cukup 1 saja.

Ada hal lain yang penting mengenai sensor PING.
Sensor PING membutuhkan supply 5 Vdc dengan arus 30 mA - 35 mA, tetapi saat sinyal suara ultrasonik dipancarkan dibutuhkan arus yang lebih besar (kurang tahu). Jika arus ini tidak terpenuhi akan mempengaruhi pembacaan jarak pada sensor PING. Untuk mengetahui apakah PING kekurangan supply yaitu dengan melihat LED indikatornya, jika cahayanya redup atau kurang terang dibanding sebelumnya maka sensor PING kekurangan supply. Oleh sebab itu karena alasan ini dan alasan lain, scanning setiap sensor PING jangan terlalu cepat, misalkan anda membaca jarak mobil robot terhadap dinding setiap 50 mS atau 100 mS.

Mobil Robot & AVR ATmega8535

.
Banyak jenis dan tipe mikrokontroler, semua disesuaikan dengan kebutuhan perancangan.
Jika dulu anda menguasai MCS51 dengan bahasa assembler atau bahkan bahasa C dengan keil C, maka saya sarankan untuk mempelajari jenis mikrokontroler tipe lain. Cari tipe mikrokontroler yang memiliki fitur lengkap dan fleksibilitas tinggi. Jika anda menguasai DSP (Digital Signal Processing) maka gunakan mikroprocessor DSP, menguasai display dan Grafis maka gunakan mikroprocessor grafis, banyak lagi (apa yaa ?).

Saat ini anda akan merancang mobil robot yang menggunakan PWM dan sensor PING saja, anggap anda punya angan-angan mobil robotnya nanti ditambah fungsi mendeteksi perbedaan warna, mendeteksi perubahan suhu, menggunakan sensor inframerah, dapat dikendalikan dengan JoyStick analog, mendeteksi cahaya lilin, dll, maka penggunaan setiap pin pada mikrokontroler haruslah seefisien mungkin, sebab jika tidak mobil robot akan dibongkar kembali karena pin mikrokontroler yang dibutuhkan atau penting telah terpakai. Apabila anda menggunakan kabel jumper yaa lain lagi, tapi kabel jumper yang banyak membuat bingung,
ada kerusakan akan susah diperbaiki, dan mobil robot seperti rongsokan (katanya si seni).

Prioritas pin setiap mikrokontroler disusun berdasarkan fitur yang dimiliki oleh pin-pin
mikrokontroler. Disini agar lebih mudah dipelajari saya gunakan AVR ATmega8535 (bisanya ini si). Dengan fitur yang cukup lengkap untuk diaplikasikan pada mobil robot dan rangkaian kendali. Lihat Data Sheet ATmega8535.

Prioritas yang dapat disusun dari gambar 1 antara lain :
- Fungsi Input dan Output
- Fungsi ADC
- Fungsi USART
- Fungsi PWM
- Fungsi Interupsi eksternal
- Fungsi komparator analog
- Fungsi Serial Interface I2C
- ...

Gunakan terlebih dahulu pin-pin yang tidak memiliki fungsi khusus atau banyak jumlahnya atau pin itu harus digunakan karena wajib.
- PD.0 dan PD.1 gunakan untuk komunikasi serial USART.
- PD.2 dan PD.3 gunakan sebagai interupsi eksternal.
- PD.4 dan PD.5 gunakan sebagai PWM pengatur kecepatan motor DC.
- PB.6 PB.7 PB.8 PC.2 PC.3 PC.4 PC.5 gunakan sebagai Input dan Output biasa.
- PC.0 dan PC.1 gunakan sebagai interface I2C, misal anda menggunakan sensor kelembaban dengan interface I2C atau menggunakan Serial RTC I2C atau Serial EEPROM I2C tambahan.
- PB.0 - PB.7 gunakan sebagai ADC 10 bit akan tetapi jika terpaksa dapat digunakan beberapa pin.
- Pin-pin lain yang anda tidak ketahui fungsinya dapat anda gunakan sesuai keinginan apabila rancangan mobil robot anda sudah Final.

Saya menggunakan PortB untuk mengakses sensor PING, dan seluruh PortD untuk mengakses Motor DC (kecuali PD.2 dan PD.3) alasannya :
Untuk PortD karena saya menggunakan kabel pelangi 10 baris dan jika PD.0 dan PD.1 tidak saya gunakan maka harus mengambil dari port lain yang berarti ada jumper yang tidak perlu sedangkan nantinya pin interupsi PD.2 dan PD.3 nanti akan dipakai sebagai interupsi eksternal, selain itu mobil robot bergerak terus dan tidak perlu komunikasi serial dengan komputer.
Untuk PortB karenaaaaa...... udah terlanjur si. Seharusnya PortC dulu yang saya gunakan sampai habis, tetapi karena tidak masalah ya lanjut aja.

Alasan anda memilih sebuah port terserah anda yang jelas sesuaikan dengan fungsi-fungsi yang anda ingin aplikasikan.

Mungkin cukup ini saja yang dibahas pada ROBOT dan AVR, untuk mikrokontroler tipe lain tidak saya bahas dan maaf karena tidak bisa.

H-Bridge IC

.
Baca dulu INTRODUCTION H-BRIDGE.

Membuat H-Bridge menggunakan IC sering diaplikasikan pada mobil robot karena ukuran yang kecil, mudah penggunaannya, kompatibel dengan port mikrokontroler, dan dapat diimplementasikan menggunakan PWM dengan frekuensi yang tinggi.
Pada 1 buah IC telah dapat mengendalikan 2 buah motor DC sehingga IC lebih tepat penggunaannya untuk aplikasi mobil robot yang akan saya paparkan nantinya.
Saya hanya akan membahas H-Bridge menggunakan IC L293 dan L298.

IC L293

Ada 2 tipe IC L293 yang saya ketahui yaitu L293 dan L293D, perbedaanya yaitu
a. L293 arus maksimum mencapai 1 A sedangkan L293D arus maksimum mencapai 600 mA
b. L293 tidak memiliki dioda internal sedangkan L293D memiliki dioda internal.

Dari data diatas jika anda mengendalikan motor DC dengan arus kurang dari 600 mA maka gunakan L293D karena telah memiliki dioda internal yang berarti tidak perlu menambahkan rangkaian dioda tambahan. Tetapi jika arus lebih dari 600 mA maka gunakan L293 dan harus ditambahkan dioda eksternal yang akan melindungi IC dari kerusakan.
Saya hanya akan membahas IC L293 karena prinsipnya sama dengan L293D tetapi arusnya lebih besar.

Rangkaian schematik pada Gambar 1 adalah rangkaian separuh dari IC L293 yang mengendalikan 1 buah motor DC dengan rangkaian H-Bridge. Pengaturan arah pergerakan motor DC dengan mengimplemetasikan logika pada pin-pin IC L293 seperti pada tabel gambar 1.

Rangkaian Schematik pada gambar 2 adalah rangkaian pengendalian 2 buah motor DC yaitu M1 dan M2. Implementasi pergerakan motor tersebut seperti tampak pada tabel gambar 2.
Jangan lupa spesifikasi pemilihan dioda harus memiliki waktu Recovery yang lebih cepat daripada waktu switching IC. Untuk IC L293 waktu transisinya (Transition Time, Low to high level output and high to low level output) adalah 300 nS sehingga Fast Recovery Diode trr <= 300 nS. Saya gunakan dioda tipe 1N4942 dengan waktu recovery hingga 150 nS.

IC L298

Rangkaian schematik pada Gambar 3 adalah rangkaian separuh dari IC L298 yang mengendalikan 1 buah motor DC dengan rangkaian H-Bridge. Pengaturan arah pergerakan motor DC dengan mengimplemetasikan logika pada pin-pin IC L298 seperti pada tabel gambar 3. Pengaturan gerak motor DC akan dibahas pada ROBOT----------.

Jika anda memperhatikan pada datasheet L298 maka terdapat sebuah resistor sense (RS) yang dipasang sebelum ground. Resistor ini berfungsi untuk "meraba" (sense) arus yang mengalir pada H-Bridge sebagai umpan balik pada kontroler, oleh sebab itu resistor ini (RS) bersifat optional yaitu boleh dipasang boleh tidak.
Jika anda memasang RS maka nilai resistor ini tidak boleh mengurangi arus yang mengalir pada H-Bridge hingga arus pada motor DC berkurang yang berakibat kecepatan motor DC berkurang bahkan motor DC tidak bergerak sama sekali.
Saya tidak memasang RS karena tidak membutuhkan umpan balik tersebut.

Jangan lupa spesifikasi pemilihan dioda harus memiliki waktu Recovery yang lebih cepat daripada waktu switching IC. Untuk IC L298 waktu transisinya (Transition Time, Low to high level output and high to low level output) adalah 200 nS sehingga Fast Recovery Diode trr <= 200 nS. Saya gunakan dioda tipe 1N4942 dengan waktu recovery hingga 150 nS

Senin, 06 April 2009

H-Bridge Transistor & Relay

.
Baca dulu INTRODUCTION H-BRIDGE.
Baca dulu H-BRIDGE RELAY.
Baca dulu H-BRIDGE TRANSISTOR.

Relay berupa saklar mekanis dapat dilalui arus dan tegangan besar akan tetapi tidak dapat mengguna PWM sedangkan Transistor dapat menggunakan PWM akan tetapi arus dan tegangan terbatas. Karena alasan tertentu atau kebutuhan tertentu (saya juga kurang tahu alasan apa) maka kombinasi relay dan transistor dapat dilakukan untuk membuat H-Bridge.
Gambar 1 adalah rangkaian kombinasi relay dan transistor pada H-Bridge, sisi kiri terdiri dari transistor PNP dan NPN sedangkan sisi kanan berupa 1 buah relay. Pada rangkaian schematiknya, penggunaan jenis dan tipe transistor sesuai dengan kebutuhan berdasarkan spesifikasi motor DC yang akan dikendalikan. Pengendalian relay cukup dengan logika 0 atau 1 dan pada transistor dapat diaplikasikan PWM dengan frekuensi PWM maksimum sebesar frekuensi transistor.

Pada rangkaian ini harus menggunakan 3 pin pada port mikrokontroler yaitu 1 untuk transistor NPN, 1 untuk transistor PNP, dan 1 untuk relay. Berbeda dengan sebelumnya yang bisa disederhanakan hingga hanya 2 pin saja. PWM di aplikasikan pada transistor PNP atau transistor NPN sedangkan relay berlogika 1 atau 0 dengan kondisi defaultnya (NC) harus kontak ke Ground.

H-Bridge Transistor

.
Baca dulu INTRODUCTION H-BRIDGE.

H-Bridge menggunakan transistor umum digunakan pada mobil robot, selain fleksibel dan ukuruan yang lebih kecil dari relay juga karena arus dan kecepatan switching bisa bervariasi tergantung dari jenis transistor yang digunakan. Oleh sebab itu langkah awal sebelum membuat H-Bridge dengan transistor yaitu dengan mengetahui spesifikasi transistor yang dibutuhkan.

Saya mencari 4 hal pada transistor sebelum digunakan untuk H-Bridge:
a. Tegangan kerja maksimum transistor.
b. Arus yang mengalir dari Colektor ke Emitor.
c. Tegangan dan arus minimum pada basis untuk mengaktifkan transistor.
d. Frekuensi switching transistor.

Rangkaian H-bridge pada gambar 1 adalah rangkaian dasar H-Bridge menggunakan transistor jenis NPN dan PNP dengan transistor PNP diatas dan NPN di bawah, hal ini berkaitan dengan karakteristik transistor tersebut. Saya pernah mencoba menggunakan transistor NPN seluruhnya dengan menganggap bahwa transistor sebagai saklar saja, secara logika sesuai dan berfungsi tetapi kenyataannya motor DC tidak bergerak sama sekali karena saya tidak memperhatikan karakteristik transistor tersebut.

Sedangkan pada gambar 2, menggunakan transistor yang bertingkat yaitu menggunakan transistor untuk memicu transistor lainnya.
Perbedaan rangkaian gambar 1 dan gambar 2 yaitu tegangan dan atau arus yang akan dialirkan ke motor DC sehingga hal ini mempengaruhi jenis transistor yang akan digunakan.

Misal digunakan motor DC bertegangan 12 Vdc dengan arus 500 mA, jenis transistor yang digunakan adalah BC517 (NPN Darlington) dan BC516 (PNP Darlington) setelah dibuat rangkaian seperti gambar 1 kemudian cobalah. BC516 dan BC517 adalah transistor yang dapat aktif jika tegangan pada basis diberikan 5 volt dengan arus 20 mA, sehingga tegangan dan arus output pada mikrokontroler dapat memicu transistor ini tanpa rangkaian tambahan.

Sekarang misal digunakan motor DC 24 Vdc dengan arus 1,5 A, jenis transistor yang digunakan adalah TIP120 (NPN Darlington) dan TIP125 (PNP Darlington). Kedua jenis transistor ini dapat dipicu dengan tegangan 5 Vdc akan tetapi tidak dapat dipicu oleh arus yang dihasilkan port mikrokontroler, sehingga dibutuhkan transistor yang dapat dipicu oleh port mikrokontroler kemudian transistor ini yang selanjutnya memicu transistor TIP tersebut.
Pada gambar 2, digunakan transistor BC547 dan BC557 sebagai pemicu transistor TIP.
Sebenarnya untuk transistor jenis TIP ini, dengan menggunakan resistor PullUp 10 Kohm telah dapat mengaktifkan transistor jenis ini, arus tambahan diperoleh dari VCC.

Seperti yang saya paparkan pada bagian INTRODUCTION H-BRIDGE,
agar motor DC berputar ke kanan maka transistor Q1 dan Q4 ON sedangkan Q2 dan Q3 OFF dan agar motor DC berputar ke kiri maka transistor Q1 dan Q4 OFF sedangkan Q2 dan Q3 ON.
Untuk menghemat penggunaan port pada mikrokontroler dan mempermudah pada pemrograman, maka Basis transistor Q1 dan Q4, Q2 dan Q3 dapat digabung, dengan catatan pembagian arus yang akan mengalir pada setiap kaki Basis tersebut cukup untuk memicu setiap transistor.

4 buah dioda digunakan untuk melindungi tegangan dan arus yang dihasilkan oleh kumparan pada motor DC, dioda ini hukumnya wajib sebab jika tanpa dioda transistor akan rusak. Pemilihan jenis dan type dioda ini biasanya kurang diperhatikan padahal fungsinya sangat penting.

Jika merancang pengendalian motor DC yang hanya ON dan OFF maka untuk dioda cukup melihat arus maksimum yang dapat dilalui pada dioda, untuk motor DC kecil dioda tipe 1N4002 sudah cukup. Sedangkan jika pengendalian motor DC menggunakan PWM maka harus memilih tipe Fast Diode atau dioda kecepatan tinggi.
Alasannya adalah, saat menggunakan PWM maka transistor akan selalu berubah kondisi ON OFF dengan cepat sehingga motor DC pun akan ON OFF dengan cepat, tegangan dan arus balik yang dihasilkan motor DC pun akan cepat pula sesuai frekuensi PWM.
Oleh sebab itu dibutuhkan dioda yang waktu aktifnya cepat agar dapat melindungi transistor tersebut (fast recovery), sehingga dioda tipe 1N4942 (150 ns) digunakan. Karena fungsi dioda ini sebagai pengaman maka frekuensi aktif dioda harus lebih cepat daripada frekuensi switching transistor.

Mungkin anda pernah membuat H-Bridge motor DC yang ketika anda uji coba untuk bergerak ke kanan dan kekiri tanpa PWM berhasil dan stabil tetapi ketika menggunakan PWM tidak berfungsi, ada 2 hal penyebabnya :
A. Transistor rusak karena dioda memiliki frekuensi aktif yang lebih kecil dibanding frekuensi switching transistor dan frekuensi PWM lebih cepat dari frekuensi dioda.
Selama frekuensi PWM lebih kecil dari frekuensi aktif dioda maka masih aman.
B. Transistor berfungsi tetapi PWM tidak berfungsi, maksudnya ketika anda memberikan nilai PWM 255 dengan PWM 100 bahkan kurang, akan tetapi tidak terdapat perubahan pada kecepatan motor DC. Hal ini disebabkan karena frekuensi PWM lebih cepat dari frekuensi switching transistor sehingga transistor tidak dapat mengikuti kecepatan PWM.

H-Bridge Relay

.
Baca dulu INTRODUCTION H-BRIDGE.

Driver motor DC menggunakan relay sangat baik digunakan untuk menggedalikan mesin-mesin besar yang membutuhkan arus dan tegangan tinggi, tetapi syaratnya sistem membutuhkan respon waktu ON OFF yang tidak cepat dan tidak sering berubah kondisi dalam selang waktu tertentu.
Driver motor menggunakan relay tidak bisa dikendalikan menggunakan PWM yang akan ON OFF dengan frekuensi yang cepat, hal ini berdasarkan spesifikasi relay tersebut yang mempengaruhi pada ketahanan relay itu sendiri karena akan sering menyebabkan bunga api.
Kelemahan lain dari relay adalah relay menggunakan medan elektromagnetik untuk menarik saklar mekanis menjadi aktif sehingga dibutuhkan arus yang cukup besar agar saklar aktif dan juga arus ini harus diberikan terus menerus untuk menjaga saklar tetap ON, jika diaplikasikan pada mobil robot yang menggunakan baterai atau aki kering maka akan cepat menghabiskan power supply tersebut.

Ada juga SSR (Solid State Relay) yang dapat dilalui tegangan dan arus besar, tetapi saya belum pernah mencoba membuat H-Bridge dengan SSR sehingga tidak bisa komentar. Saya hanya pernah mengendalikan 8 buah Lampu 220 Vac yang berbeda (pijar, neon, dll) melalui port paralel menggunakan SSR dan umpan balik berupa optoisolator.

Pada gambar bagian INTRODUCTION H-BRIDGE telah menjelaskan rangkaian membuat H-Bridge menggunakan saklar dan hal sama berlaku pada relay karena relay berupa saklar elektromagnetis.
Masalahnya adalah bagaimana membuat Relay ON-OFF jika dikendalikan dari mikrokontroler yang tegangan outputnya 5 Volt dengan arus kecil.
- Mikrokontroler MCS51 Port 0 = 26 mA dan port lain 15 mA.
- Mikrokontroler AVR = 40 mA.












Rangkaian pada gambar 1 (kiri) dan 2 (kanan) memperlihatkan mikrokontroler mengendalikan pensaklaran pada transistor dan transistor mengendalikan pensaklaran Relay. Transistor ini berfungsi sebagai penguat daya, yaitu menambah tegangan (sesuai kebutuhan relay) dan arus agar dapat mengendalikan Relay.

Gambar 2 (kanan) menggunakan rangkaian transistor Darlington, kenapa?
Misal relay yang akan dikendalikan relay 12 Volt kemudian anda merancang seperti gambar 1, anda yakin rancangan dan program telah benar (setelah dicoba dengan relay lain) akan tetapi relay tidak ON-OFF. Hal ini bisa disebabkan karena arus yang mengalir pada kumparan relay tidak cukup untuk menghasilkan medan magnet yang akan menarik kontaktor.
Untuk menghasilkan arus yang lebih besar dapat dengan menaikkan arus pada power supply atau dengan manggunakan rangkaian transistor bertingkat atau rangkaian transistor Darlington dengan memanfaatkan prinsip penjumlahan arus pada percabangan.

Kumparan pada relay yang menghasilkan elektromagnetis menghasilkan tegangan dan arus yang dapat merusak transistor, oleh sebab itu dibutuhkan dioda pengaman yang akan mencegah tegangan dan arus tersebut mengalir menuju transistor. Dioda yang digunakan harus dapat dilalui arus yang sebanding dengan arus yang akan dialirkan pada relay agar tidak rusak.

Introduction H-Bridge

.
Bagi pembuat mobil robot yang pertama kali Ujung tombak dari mobil robot adalah pergerakan yang menggerakkan mobil robot.
Jika mobil robot sudah bisa jalan dan belum memiliki Logika pemrogramman atau nabrak sana sini, langsung dipamerkan ke temen-temen yang lain sambil kacak pinggang, serasa profesor.
(kadang-kadang perlu biar semangat belajar terus dan temen yang lain tertarik belajar jg).

Pada bagian ini sebaiknya anda serius karena Driver motor DC memang yang utama, sering rusak, dan sering merusak sistem elektronika lainnya. Jika anda belum bisa membuat Driver motor DC yang bagus dan stabil maka jgn membuat robot yang lebih kompleks.
Robot yang kompleks biasanya pusing di algoritma pemrograman dibanding pada rangkaian elektronika.

Maksudnya serius yaitu butuh kesabaran, mencari informasi yang banyak, memahami konsep rangkaian, jika terjadi kerusakan jgn lgs buat baru tapi cari penyebab kerusakannya dan analisa.

Pemilihan motor DC terserah anda tapi saya sarankan torsi besar kecepatan cukup dan membutuhkan supply yang cukup (12 Vdc atau 24 Vdc).

Perancangan H-Bridge atau driver Motor DC bisa dilakukan dengan 4 cara:
1. Menggunakan Relay DC.
2. Menggunakan Transistor.
3. Kombinasi Relay dan Transistor.
4. Menggunakan IC.

Dari keempat cara diatas masing-masing memiliki kelebihan dan kekurangan dan perancang harus dapat memilih dan menggunakan salah satu secara tepat berdasarkan rancangannya.
Saya akan memaparkan prinsip dasar dari H-Bridge.

Misalkan kita membuat H-Bridge menggunakan 4 buah saklar toggle biasa seperti gambar 1 dan pengaturan On-OFF saklar secara manual. Agar motor DC dapat berputar maka salah satu terminal harus diberikan SUPPLY dan terminal lain GND atau dengan kata lain harus ada 2 saklar yang ON dan 2 saklar lain harus OFF. Aliran arus dan tegangan terlihat seperti pada gambar 1.
Jika motor DC ingin diputar ke KANAN maka terminal 1 dan 4 ON sedangkan 2 dan 3 OFF, sebaliknya Jika motor DC ingin diputar ke KIRI maka terminal 1 dan 4 OFF sedangkan 2 dan 3 ON.

Berbeda dgn gambar 2 yang hanya menggunakan 2 saklar tetapi prinsipnya sama.
Jika motor ingin berhenti maka saklar 1 kondisi A dan saklar 2 kondisi C atau saklar 1 kondisi B dan saklar 2 kondisi D (kedua terminal motor tidak memiliki beda potensial).
Jika motor ingin berputar kekanan saklar 1 kondisi A dan saklar 2 kondisi D. Jika motor ingin berputar kekiri saklar 1 kondisi B dan saklar 2 kondisi C.

Dari gambaran ini sebenarnya H-Bridge hanya mengatur polaritas yang akan diberikan pada motor DC agar dapat berputar 2 arah (bolak-balik).

Untuk aplikasi tertentu seperti mengendalikan motor yang berarus dan bertegangan besar,
agar tidak merusak rangkaian kontroler maka rangkaian motor DC dan kontroler harus terpisah
(supply dan ground terpisah) menggunakan komponen seperti Optoisolator atau relay.

Oh iya hampir lupa H-Bridge dapat digunakan untuk mengendalikan motor stepper Bipolar
tapi tidak saya bahas lebih jauh.

Mekanik Wall Tracing

.
Perancangan mekanik Mobil robot bisa dibilang gampang-gampang susah.
Tentu saja, karena bidang yang saya fokus adalah Elektro dan tidak maksimal pada mekanik, dan jika saya melihat teman-teman dari teknik Mesin membuat mekaniknya, seluruh jempol yang ada saya acungkan. (Kalo bisa kelingking menyamar jadi jempol.)

Jika anda ingin membuat mekanik robot yang kompleks atau fungsi mekanik robot yang anda yakin bisa buat 70 % sebaiknya serahkan pada ahlinya. Pasti banyak revisinya, apalagi jika membutuhkan presisi tinggi dan biaya tinggi.

Untuk Robot yang akan saya paparkan pada blog ini adalah mobil robot yang bisa dibuat dengan selembar acrilic atau bahan logam dengan mekanik sederhana sehingga dapat dibuat sendiri atau dibeli di toko mainan.

Jika anda baru pertama kali membuat mobil robot, anda yang memprogram, dan hampir semua anda yg kerjakan, maka saya hanya bisa menyarankan untuk motor DC tegangan maksimum 24 Vdc yang torsi tinggi dengan kecepatan yang cukup (optional).
Tujuannya agar logika program pada mobil robot bisa terlihat dan anda paham kesalahan pada program anda nantinya. Hal ini berlaku hampir pada semua program yang anda buat dan tidak hanya pada pergerakan mobil robot.

Untuk mekanik saya tidak bisa koment banyak, yang jelas bisa mengetahui teorinya dan rancangan dasar mekanik sudah cukup. Selanjutnya serahkan pada ahlinya dan sebaiknya anda ahli dibidang anda sendiri dalam hal ini Elektronika Digital (Robotika).

Wellcome

Hallo.....
Ketemu lagi setelah sekian lama ku tak tampak.
Maaf buat temen-temen yg menunggu informasi tetapi belum saya berikan atau saya informasikan. Saya lagi sibuk sesuatu kemarin dalam jangka waktu yg cukup lama.

Untuk menebus kesalahan tsb, saya membuat blog ini lg berdasarkan informasi yang ditanyakan dan yang bisa saya jawab. Jadi jika tidak ada berarti saya tidak bisa memberikan informasi karena suatu hal, harap maklum.

Blog EYB (Explore Your Brain) ini saya memaparkan berbagai pengalaman Too Payz mengenai mikrokontroller dan rangkaian elektronika dengan sistematis, berurutan, dan cukup lengkap, dengan harapan biar byk yang baca dan hanya sekedar share-share saja.

Anda minimal mengetahui pemrograman bahasa C menggunakan CodeVision AVR dan strukturnya karena saya tidak membahasnya, tetapi langsung pada pemrograman. Tentu saja anda juga harus menguasai beberapa dasar-dasar elektronika digital.

Berbeda dgn blog-blog sebelumnya, bahasa yang saya gunakan lebih formal, jelas, dan mendekati EYD (Ejaan Yang Disempurnakan) bahasa Indonesia agar tampak lebih serius dan berwibawa (wkkkk.....).

Jika anda mengutip dari Blog saya untuk keperluan apapun sebagai penghargaan buat saya sertakan alamat web ini dan nama PayZtronics pada referensi anda. (Ok Bossss...).
Jika anda ingin memberikan penghargaan lebih, cukup dengan mendoakan PayZ agar doa yang PayZ ucapkan terkabul.
Jika anda ingin memberikan penghargaan lebih lagi maka hubungi saya, tar nomor rekening siap diberikan (asiiikkk).
Kalo mau lebih lagi....???? apa yaaaaa...??

Thanks.... ;)
n Enjoy It

Topik yang Populer