Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial. Tampilkan semua postingan

Minggu, 04 April 2010

Bikin Tombol Dan Fungsi Menu dengan CVAVR

Ya berhubung masih newbie,, jadinya tutorialnya yang ringan2 saja ya,, harap maklum kerjaan saya Cuma tidur, makan n maen trus.. hehhehehe..
Sekarang saya akan membahas tentang caranya bikin program menu… Kayak HP tu kan kalo mau masuk ke menu utama tinggal pencet tombol yang ada di tengah2 atas itu.. Kecil-kecil hitam manis menarik hati… Loh kok malah ngaco….. hehehhe..
Pertama-tama kita buat dulu rangkaian elektroniknya… Bahan-bahan yang dibutuhkan adalah Push Button bukan push toggles lho… Tau kan bedanya.. Kalu yang toggles bila dipencet sekali ga akan balik ke posisi semula karena adanya suatu penahan atau kancing dan bila dipencet sekali lagi baru balik ke posisi awal,, ya kayak saklar listrik gt lah… Namun kalo push button langsung balik ke posisi awal karena diberi semacam suspensi atau pir. Jumlahnya sesuai yang kita inginkan aja ya.. Tapi ga bisa banyak2 karena satu tombol hanya untuk satu PIN di mikro.. Beda lagi ntar kalo pake keypad.. 8pin aja bisa untuk 16 tombol (menggunakan teknik multiplekser.. {waduh kok inggrisnya njawi,, maklum masih k-gok bahasa inggris n jawa tulen nih}.Belum akan dibahas dulu tentang keyapad, akan dibahas kalau sudah waktuny, kalau ada watu buat bkin artikelnya.. hehehehe).
Supaya programnya ntar ketahuan apakah berjalan sesuai keinginan kita,maka kita tambah indicator. Biar gampang pake LCD 16x2 saja karena pembahasan LCD sudah saya ada di blog ini,, jadi akan mudah dalam latihan tombol menu…
Selanjutnya langsung aja ke pembahasan,, pertama-tama siapin dulu hardwarenya dan softwarenya(cvavr). Untuk hadware kita langsung aja bikin skematiknya seperti gambar berikut :

Tu kan pus button atau switch kaki 4 berjumlah 3 buah,,, dari 4 buah itu yang dipakai Cuma 2 saja,, karena fungsi dari 2 kaki sama dengan pasangannya,, wiring nya salah satu dihubungkan dengan PIN di mikro dan salah satu di VCC atau GND ( apabila VCC berarrti aktif High dan bila GND merupakan aktif Low),, saya sarankan memakai aktif Low karena mikro mempunyai karakteristik lebih cepat memproses logika 0. Dalam skematik tersebut saya juga menggunakan aktif LOW.

Apabila semua sudah siap tinggal sambungin saja ke pin di mikro kemudian tinggal coding.. sama seperti sebelum-sebelumnya :
1. Pertama masuk ke CVAVR dan memulai new project


2. Atur miro apa yang digunakan dan berapa clock yang diguanakan


3. Kemudian inisialisasi LCD masuk ke PORT apa..


4. Dan bikin fungsi PIN yang dihubungkan dengan push button dengan fungsi inputan, karena ntar fungsi pushbutton sebagai pemberi logika (inputan) ke dalam mikronya.. Dan jangan lupa fungsi inputan tersebut diganti dengan P atau pull up karena kita menggunakan push button bukannya T sebagai toggles . seperti gambar berikut :


5. Apabila sudah ke menu file dan pilih generate, save, and exit.. Dan memulai coding
Codingnya sebagai berikut :
Biar mudah kita bikin saja state-state untuk memudahkan pembuatan fungsi menu.
Pertama bikin coding utama seperti ini :



Untuk penjelasan LCD saya anggap sudah bisa jadi saya lewati saja,, langsung aja ke fungsi Menu nya.
Saya rasa program Menu nya sangat mudah dipahami, pasti kalian sudah bisa memahaminya.. Apabila tombol satu dipencet maka akan masuk ke state yang disebutkan dalam program, dan seterusnya.
Karena inisilaisasi variable dalam program masih belum ada maka kita bikin inisialisasinya :
a. tombol satu,dua,dan tiga (melihat dari hadware yang dibuat, kalo saya menggunakan PINC0-2)


b. fungsi dalam state

c. State itu sendiri
Unsigned char state

d. Dan header delay
#include

Selamat Mencoba






READ MORE - Bikin Tombol Dan Fungsi Menu dengan CVAVR
READ MORE - Bikin Tombol Dan Fungsi Menu dengan CVAVR

Minggu, 28 Maret 2010

Akses LCD 16x2

Dalam kamus besar bahasa ke wikepedian, arti dari LCD (Liquid Crystal Display atau dapat di bahasa Indonesia-kan sebagai tampilan Kristal Cair )adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama.
LCD bisa memunculkan gambar atau tulisan (berwarna juga bisa dong) dikarenakan terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik cahaya, namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi.
Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.
Dalam menampilkan karakter untuk membantu menginformasikan proses dan control yang terjadi dalam suatu program robot kita sering menggunakan LCD juga. Yang sering digunakan dan paling murah (kira2 50rb kalo beli di glodog) adalah LCD dengan banyak karakter 16x2. Maksudnya semacam fungsi tabel di ms office. 16 menyatakan kolom dan 2 menyatakan baris.
Bila kita beli di pasaran, LCD 16x2 masih kosongan, maksudnya kosongan yaitu butuh driver lagi supaya bisa dikoneksikan dengan system minimum dalam suatu mikrokontroler. Driver yang disebutkan berisi rangkaian pengaman, pengatur tingkat kecerahan backligt maupun data, serta untuk mempermudah pemasangan di mikrokontroler (portable-red). Nih gambar nya :

Dari datasheet akan kita peroleh informasi-informasi seperti ini :
Fungsi pin yang terdapat pada LCD ditunjukkan seperti pada Tabel 1

Konfigurasi pin dari LCD ditunjukkan pada Gambar dibawah ini

Modul LCD memiliki karakteristik sebagai berikut:
• Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.
• Setiap huruf terdiri dari 5x7 dot-matrix cursor.
• Terdapat 192 macam karakter.
• Terdapat 80 x 8 bit display RAM (maksimal 80 karakter).
• Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.
• Dibangun dengan osilator lokal.
• Satu sumber tegangan 5 volt.
• Otomatis reset saat tegangan dihidupkan.
• Bekerja pada suhu 0oC sampai 55oC.

Bila mau bikin modulnya maka gambar rangkaiannya sebagai berikut :

JP 1 merupakan konektor jantan atau pinhead male (kalo saya seringnya menanmain dengan sisir, ya dari bentuk mirip dengan sisir sih) yang dhubungan langsung dengan LCD, dan JP2 merupakan pin head male yang nantinya akan dihubungkan ke Pin di system minimum suatu mikrokontroler. So pasti pake kabel yang ujung dari kabel itu dipasang pin head yang female. D2 merupakan dioada, fungsinya sebagai pengaman LCD saja kalo-kalo kebalik dalam pemasangan kutub positif negatifnya. R3 dan R4 merupakan potensio (trimpot) yang funsinya sebagai pengatur level kecerahan data dan backligt yang tadi dibahas diawal.
Nih gambar dibawah tu yang disebut pin head.. Yang hitam female, dan yang besi putih(tembaga) male.


Apabila modul sudah jadi tinggal pemrograman ke mikrokontroler. Saya menggunakan CVAVR dalam pemrogramannya. Langkah-langkahnya :
1. Buka program CVAVR trus New Project


2. Pilih jenis Chip yang kamu pake dan clock yang kamu gunakan.


3. Pilih Tab LCD trus pilih LCD PORT berapa yang kamu sambungkan ke modul LCD mu


4. Masuk ke tab file(posisi di pojok kiri atas) pilih generate,save,and exit.. Dan simpanlah di suatu folder. Berhubung file yang disimpan ada tiga, jangan lupa dikasih nama yang sama.
5. Tinggal menggunakan bahasa pemrograman C biasanya.. Kalo belum bisa belajar dulu ya.. Ane juga ga begitu bisa kok.. hahahhaha…
Contoh yang mudahnya aja :
lcd_gotoxy(k,b); yaitu menunjukan lokasi karakter yang muncul di LCD itu ntar lokasi k(kolom) berapa dan b(baris) berapa
lcd_putsf("xxxxxxxxxx"); yaitu untuk menampilkan karakter yang sama dengan apa yang kita tuliskan dalam tanda petik tersebut..

Sekian
READ MORE - Akses LCD 16x2
READ MORE - Akses LCD 16x2

Kamis, 25 Maret 2010

Cara Nyablon PCB

Cara nyablon PCB yang murah meriah dengan menggunakan kertas transparan atau memakai kalender bekas, selain biayanya sangat murah, hasilnya juga tidak kalah menarik dan rapi dibanding dengan cara menggunakan media Transfer Paper (original) yang harganya lumayan mahal atau Sablon dll yang barangkali akan lebih rumit.Sebagian besar kawan-kawan mungkin sudah tidak asing lagi dengan metode ini, namun bagi yang lain tidak ada salahnya untuk dijadikan sebagai alternatif.
Tips ini saya dapatkan dari senior2 ane dikampus dan sudah saya coba beberapa model, termasuk double layer juga sangat memungkinkan dan ternyata tidak terlalu jelek hasilnya.
Bahan-bahan dan peralatan yang harus disiapkan adalah :
1. Printer Laser Jet (harus Tinta Toner) jika tidak ada bisa pakai mesin Foto Copy Laser.
2. Kertas bekas Kalender dinding yang masih baik (tidak kusut/lecek) atau kertas transparan
3. Papan PCB (yang janagn yang tipis2 amet)
4. Kertas Ampelas halus
5. Setrika listrik
6. Ferric Cloride (FeCl)
7. Bor PCB
8. Kikir (halus)
9. Pisau (Cutter)
10. Penggaris (stainless steel)
11. Spidol kecil permanent (yang lancip ujungnya)
12. Komputer + Software PCB
Langkah-langkahnya sebagai berikut :
• Gambar saya buat dengan software bisa menggunakan eagle,protel maupun orchad, selanjutnya di print di kertas kalender atau kertas transparan.
• Jangan lupa kertas bekas Kalender yang bakal dipakai untuk ngeprint tentunya disisi yang masih kosong, usahakan kertas kalender dipilih yang masih bersih.
• Jika ga punya print laser maka print dulu ke kertas biasa ntar baru difotocopy ke kertas kalender ataupun kertas bekas Mencetak langsung dengan Printer akan lebih baik hasilnya.
• Setelah ter-print ke kertas kalender dan memastikan tidak ada trace yang putus, guntinglah gambar PCB tersebut kira-kira 2-3mm diluar garis gambar.
• Potong PCB dengan pisau Cutter seukuran gambar PCB yang baru saja di-print, lalu kikir bagian tepi PCB agar tidak menonjol..sampai permukaanya rata dan tidak tajam.
• Ampelas seluruh permukaan PCB sambil dibasahi dengan air, lakukan proses pengampelasan dengan cara memutar searah jarum jam sampai bersih, lalu keringkan.
Lakukan pemolesan dengan kertas ampelas dengan gerakan searah jarum jam, sambil disiram air sampai permukaan PCB bersih.
Usahakan bekas goresan ampelas tidak begitu nampak yang menandakan pemolesan berjalan
dengan “baik”.
1. Untuk pemakaian kertas kalender (hasil lumayan namun lebih lama) :
Pertama panaskan dulu etrika, jgn putar sampai penuh,,,Posisikan gambar PCB diatas papan PCB, trace PCB (tinta Toner) menghadap ke papan PCB (tembaga)...
Posisi gambar menghadap ke PCB, dan usahakan permukaan meja setrika rata Kertas kalender ditutup dgn kertas polos atau kertas biasa, agar Text yg ada di kalender tidak menempel ke permukaan Setrika... Tekan Setrika agak kuat diatas kertas kalender yang sudah dilapisi dgn kertas tadi ampe kira-kira 30 detik sampai gambar menempel ke papan PCB dan lakukan penggosokan secara merata ke permukaan yg lain... Waktu yang diperlukan selama proses setrika +/- 3 menit, jangan sampai lebih dari 4 menit karena jika terlalu lama biasanya gambar akan melebar/pudar... Setelah kertas kalender menempel ke PCB lalu dinginkan papan PCB dengan cara diangin- anginkan, jangan sekali-kali langsung direndam ke air atau diblow dengan udara
dingin / AC, gambar (toner) bisa terkelupas sewaktu masuk pada proses selanjutnya,,,, Jika sudah benar-benar dingin, rendam papan PCB ke dalam air selama +/- 15 s/d 30 menit, tergantung dari tebal/tipisnya kertas kalender, hingga kertas kalender nampak jadi bubur kertas... Kupas kertas kalender pelan-pelan dengan tangan sampai bersih, lalu,,,,,
sedikit-demi sedikit bersihkan sisa-sisa kertas yang masih nempel dengan bantuan
Sikat Gigi bekas, terutama kertas yang nempel pada bagian lubang/pads komponen dan diantara traces sampai bersih... Jika terdapat trace yang terkelupas/putus, gunakan Spidol permanent untuk
membantu menyambungnya... Pad / trace yang terkelupas, digambar ulang dgn spidol
2. Kertas Transparan (lebih cepat coy)
Panaskan Strika boleh samapai ful... tempelken kertas transparan pada PCB dengan tepat...
Tekan Strika agak kuat ke mika (g usah dilapisi kertas ga pa2, tetapi biar strika ga cepet rusak perlu dilapisi kertas lagi) diamkan ampe lima menit,, kemudian gesek-gesek gosok-gosok permukaan kertas ampe tangan kita pegal-pegal.. so pasti capek..... Cek pinggir-pinggir kertas apakah sablon sudah nempel di PCB.. Kalo udah maka diamkan lagi setrika diatas kertas transparan ampe hampir setengah jam.. Dan langsung rendam PCB ke dalam air ampe dingin.. setelah itu perlahan-perlahan copot kertas transparannya dari PCB.. Bila ada beberapa yang masih terputus maka sambungkan secara manual dengan spidol permanen tadi..
Langkah selanjutnya untuk kedua cara tersebut :
• Masukkan Ferric Cloride secukupnya ke dalam “nampan plastic” yg tidak dipakai atau
tupperware made in indonesia,, biar produk Indonesia laku lah.. hahahah, Ferric Cloride paling tidak 1 (bungkus), dan masukkan air panas/hangat secukupnya, sampai seluruhnya lebur dengan air, jangan lupa penutup hidung (masker) dan sarung tangan plastic/karet biar aman.. Tapi kalau mau kutekan warna emas juga boleh kok nyelupin tangannya ke dalam FeCl.. hehehe
• Masukkan papan PCB kedalam larutan Ferric Cloride tadi, dan agar prosesnya lebih
cepat, bantu dengan cara mengocok-kocok nampan, awass tumpah…
• Sambil diamati jika papan PCB sudah seluruhnya lebur, maksudnya tembaga yang tidak tertutup oleh gambar/toner, maka angkat papan PCB dan bersihkan dengan air yang mengalir (air kran).
• Untuk membersihkan gambar/toner, gosokan ampelas pelan-pelan sambil disiram air kran sampai benar-benar bersih.
• Periksa kembali apakah terdapat trace yang putus.
• Bor papan PCB dengan mata Bor ukuran 0,8mm s/d 1mm.
• Bersihkan papan PCB, lalu mulailah menyolder.
• Setelah komponen tersolder seluruhnya, lakukan pengetesan, jika semuanya sudah berfungsi dengan baik, segera lakukan penyemprotan papan PCB dengan Lacquer produk PYLOX Clear128 atau produk “rj” (Acrylic Epoxy Spray Paint). Tujuanya agar papan PCB tidak mudah Oxidasi dan tampak mengkilap terus, syukur2 kalau ada PCB Varnis sebelum di Lacquer, hasilnya akan lebih menarik.
• Proses pengeringan selama +/- 10menit… mulailah merakit dan SELESAI sudah.
• Waktu yang dibutuhkan mulai dari proses Nge-Print sampai selesai Pelarutan (Etching)+/- 30 menit.
READ MORE - Cara Nyablon PCB
READ MORE - Cara Nyablon PCB

Cara Akses Motor DC dengan Mikrokontroler ATMEGA dan CVAVR 2.03.09

Ni tutorial pertama saya,, ya mohon maaf kalo penjelasannya masih belum begitu rinci,, tapi moga-moga saja yang baca bisa paham.. Saya hanya sekedar sharing pengalaman aja..
Pertama-tama siapakan dulu semua alat dan bahan.. dimulai dari alat,, siapakan pisau, kompor,minyak, loh kok malah mau masak…. Eh maap,jadi keinget kerjaan saya kalo malam, kalo pas ganti nama nia.. hahahahha…..
Yup yup serius, untuk persiapan hardware Cuma butuh motor DC, yup ga ada motor DC ga ada yang diujicobakan lah, kabel-kabel besarta konektornya..
Untuk elektronikanya kita butuh Sismin ATMEGA(untuk latihan yang murah bisa make ATMEGA8), driver motor(saya saranin untuk latihan pake yang murah-murah saja seperti menggunakan IC L293D), tombol Menu(menggunakan Push Button), dan LCD. Apabila menginginkan rangkaian schematic nya saya ada, tetapi saya menggunakan eagle buka pake protel ataupun orchad.. Dan schematic yang saya buat masih amburadul.. harap maklum lah.. hehehe…
Apabila sudah jadi tinggal memulai coding saja, namun jangan lupa suplay motor nya juga dikasih. Untuk yang dasar-dasar nya bisa baca datsheet ATMEGA8535 dan H-Bridge(driver motor.red) untuk mengetahui karakteristik masing-masing komponen.
Secara umumnya saja seperti ini, sebagai contoh kita menggunakan ATMEGA8535 dan H-Bridge L293D

Gambar dibawah menunjukan kaki-kaki dari ATMEGA 8535



Dan ini kaki-kaki dari IC L293D


EN merupakan lambang dari Enable ini harus dihubungkan dengan kaki dari mikrokontroler yang berfungsi sebagai PWM atau OC dalam gambar ATMEGA 8535 diatas(Penjelasan tentang PWM saya sarankan lebih awal harus paham dulu dan tentang prinsip dasar dari H-Bridge juga sama, karena sangat penting untuk akses motor).
Dalam IC tersebut lambang Vcc1 berarti untuk suplay IC (rate 5 volt), dan Vcc2 untuk supply motor nya, dan GND untuk Ground. IC L293D bisa untuk dua motor sekaligus.
Lambang A dalam IC L293D merupakan lambang untuk inputan logika yang kita beri dari Mikrokontroler sebagai otaknya, dan lambang Y merupakan keluaran yang berupa tegangan untuk dihubungkan dengan motor DC.
Untuk dua motor sekaligus, 1Y dan 2Y untuk inputan motor DC pertama, dan 3Y dan 4Y untuk inputan motor 2.
Karena ada dua motor jadi kita bisa mencoba untuk mebuat robot sederhana.
Sekarang cara untuk memprogram, mula-mula buka CVAVR nya terlebih dahulu.




Dari gambar diatas kita bisa memilih Chip apa yang kita gunakan, dan clock berapa yang kita gunakan (Clock dan Chip harus sesuai dengan Sismin yang anda gunakan). Karena saya memilih OC yang digunakan adalah OC1A dan 0C1B maka pada tab Ports, PORT D kita ubah sebagai keluaran (OUT). Selanjutnya kita atur Timer seperti ini :


Mode biasanya saya gunakan 10 bit supaya jalan robot lebih halus, dan clock value 62.5000kHZ biar H-Bridge ga jebol.
Selanjutnya atur PORT mana yang digunakan sebagai LCD.
Setelah diatur semuanya, tinggal klik File lalu Generate,save and exit. Dan tinggal coding.. Sebagai saran kalau bisa dibuat fungsi untuk satu per satu motor kemudian untuk dua motor sekaligus.
Pertama panggil dulu library untuk delay dan stdio


Tinggal dicoba-coba nomor satu itu Motor kanan atau Kiri, begitu juga dengan nomor dua. Dihardware saya sudah saya cek dan untuk nomor 1 merupakan motor kiri dan nomor 2 untuk motor kanan.Jangan lupa tulisan : void motor (unsigned char nomor,unsigned char gerak, unsigned int pwm) dicopikan diatas dengan diakhiri tanda titik koma(;).
Kemudian gabungannya :


Kemudian untuk mencoba PWM motor kanan dan Kiri tinggal bikin listing di program utama :



Untuk bagian header jangan lupa dengan kelengkapannya seperti :


Berarti kaki salah satu Push button dihubungkan ke PinB.0-4 dan kaki yang lain dihubungkan Ke-Ground.
Apabila program didowndload,dan tombol2 ditekan akan mengakibatkan salah satu motro bertambah kecepatanya, dan apabila tombol4 ditekan maka motor yang lain juga akan bertmabah.. Sekian dari saya, apabila banyak kesalahan mohon maap..
READ MORE - Cara Akses Motor DC dengan Mikrokontroler ATMEGA dan CVAVR 2.03.09
READ MORE - Cara Akses Motor DC dengan Mikrokontroler ATMEGA dan CVAVR 2.03.09