mini32 - standard format

210

Upload: imam-indra-gumelar

Post on 07-Jul-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 1/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 2/275

PENDAHULUAN

Pada era sekarang ini mikroelektronika sangat berkembang pesat, IC dan prosesor-

prosesor mini sudah banyak dipasaran dan mudah untuk didapatkan. Hal ini yang

mengakibatkan mikrokontroler sangat murah karena hampir semua peralatan elektronika yang kita lihat sehari-hari menggunakan teknologi ini, seperti jam digital, pintu otomatis

 yang ada di mall-mall, palang pintu parkir, lampu merah, counter down (angka yang ada

pada lampu merah) dan masih banyak yang lain.

 Jika anda melihat benda atau alat yang seperti kami sebutkan diatas pasti anda

berfikir “bagaimana ya cara membuat alat seperti itu??, wah…pasti susah dan ribet banget!!!” memang sebenarnya untuk merancang sebuah system yang menggunakan

mikrokontroler membutuhkan dasar teori tentang mikrokontroler, pengetahuan elektronika

dan pemrograman yang sangat mendasar dan kompleks, dan itu bukan hal yang mudah dan

dapat anda pahami dalam waktu yang singkat.

Namun anda tidak perlu bingung harus memulai dari mana untuk belajar

mikrokontroler. dengan adanya kit ini segala kegundahan dan rasa takut anda pada

mikrontroler akan teratasi. Kit ini memang ditunjukkan untuk anda yang benar-benar

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 3/275

awam dalam hal mikroelektronika dan pemrograman. Disini anda akan mempraktekkan

secara langsung tanpa harus terlebih dahulu membaca dasar-dasar teori yang bisa membuat

anda semakin bingung. Dan anda bisa langsung melihat hasil kerja anda secara real tanpa

harus menggunakan simulasi dan “membayangkan” bagaimana hasilnya.

Dalam kit ini, selain anda belajar mikrokontroler dan pemroraman juga akanmenjelaskan bagaimana cara membuat PCB dengan standart pabrikan internasional dan

sekali lagi untuk membuat PCB dengan satndart pabrikan internasional tidaklah serumit

dan sesusah yang anda bayangkan. Dan sebenarnya sangat mudah dan tidak membutuhkan

waktu yang cukup lama, bahakan hanya membutuhkan waktu + 30 menit saja. Pembuatan

PCB ini akan dijelaskan pada bagian suplemen buku yang ada pada bab-bab terakhir.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 4/275

Berkenalan dengan Mini32

Mini 32 merupakan suatu development

board yang digunakan sebagai controller untuk

berbagai aplikasi interface, diantaranya

pngendalian LED, seven-segment, dot matrix,

LCD dsb. Kelebihan utama mini 32

development board ini adalah tidak

membutuhkan downloader/programmer untuk

mendownload program dari computer ke chip

Atmega 32, cukup dengan menggunakan kabel

USB mini B yang harganya jauh lebih murah

dibandingkan jika anda harus membeli sebuah

downloader.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 5/275

Sekilas Tentang Mini-32

Apa sih mikrokontroller yang digunakan dalam Mini 32 ini ?

Bagian ini akan menjawab dan menjelaskan tentang chip mikrokontroller yang

digunakan pada mini 32.

Mini 32 ini menggunakan

mikrokontroller ATMEL Atmega32

sebagai prosesor yang merupakan salah

satu jenis mikrokontroller keluaran AVR

 yang menganut arsitektur RISC (ReduceInstruction Set Compute).

AVR memiliki keunggulan

dibandingkan mikrokontroler yang lain.

AVR memiliki kemampuan eksekusi

program yang sangat cepat karenasebagian besar instruksi hanya

dieksekusi dalam 1 siklus clock.

Selain itu mikrokontroller

ATMEL Atmega32 ini memiliki fitur

 yang lengkap diantaranya ADC

internal, EEPROM internal,

 Timer/Counter, Watchdog timer,

PWM, Port I/O, Komparator dll.

Dengan adanya fitur yang sangat

lengkap ini ATMEL Atmega32L dapat

didesain dan deprogram untuk

berbagai aplikasi elektronika.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 6/275

Berikut akan dijelaskan beberapa fitur yang ada pada ATMEL Atmega32 :

1. Merupakan mikrokontroler AVR 18 yang mempunyai kemampuan yang tinggi

dengan kebutuhan daya yang rendah.

2. Mempunyai 32 buah register.

3. fitur pheripheral

- Real time counter dengan osilator terpisah

- 4 buah chanel PWM

- Pemrograman serial USART 

4. I.nput/Output

- mempunyai 32 pin I/O

- mempunyai 40 pin PDIP

5. hanya membutuhkan 2,7 – 5,5 V sebagai sumber tegangan/power.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 7/275

Bagaimana Development Board ini disusun.

Development board ini disusun bagi Anda yang ingin

belajar mikokontroller khususnya mikrokontroller Atmega32.

Development board ini disusun secara sistematis dan

interaktif, dimana Anda dapat belajar sekaligus

mempraktekkan secara langsung apa yang sedang Anda

pelajari. Development board ini dapat dengan mudah di pelajari

khusunya bagi Anda yang masih awam atau masih pemula

dalam hal mikrokontroller karena dalam paket development

board di sertakan modul/kit yang akan Anda pelajari disetiap

bab nya. Modul/Kit yang disertakan berupa aplikasi dasar

tentang materi-materi yang Anda pelajari, dan tentunya bisa

Anda kembangkan menjadi sebuah alat atau sistem sesuai

dengan kebutuhan Anda.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 8/275

Apa itu code vision

Code vision adalah sebuah aplikasi yangdigunakan untuk membantu dalampemrograman mikrokontroler yang bekerjadalam lingkungan pengembangan perangkatlunak yang terintegrasi (integrated developmentEnvironment/IDE), code vision dilengkapidengan source code editor, compiler, linker,

dan dapat memanggil AVR studio untukdebuggernya.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 9/275

Bahasa pemrograman code vision

Bahasa pemrograman yang digunakan pada code vision yaitu menggunakan bahasa

pemrograman low level language (assembly) dan high level language (C, Basic, Java, PHP

dsb). Namun dalam buku ini kita akan menggunakan bahasa pemrograman high level yaitu

C, karena selain mudah untuk dipahami struktur penulisannya juga lebih ringkas dibanding

menggunakan bahasa assembler.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 10/275

Installasi code vision

Langkah awal sebelum kita mencoba untuk menggunakan mini 32 Development

System yang telah kita dapat dan kita aplikasikan menggunakan LED,Seven-Segment,LCD

dsb terlebih dahulu kita harus menginstal codevision yang terdapat pada cd source, code

vision berfungsi sebagai editor serta compiler untuk mikrokontroler AVR seperti yang

digunakan pada development board kita yaitu atmega32L langkahnya sebagai berikut :

1. Masukkan CD kedalam CD drive

2. Buka windows explorer

3. Pilih CD/DVD Drive

4. Buka folder code vision,double klik file dengan nama CodeVision v2.03.4.exe

Setelah kita men-doble klik file tersebut maka proses installasipun akan berjalan, proses

installasi code vision sebagai berikut :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 11/275

Gambar 1.2

Kotak dialog continue setup

Klik next

Gambar 1.1

Memilih bahasa installasi

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 12/275

Gambar 1.4

Memilih letak Shortcuts

Gambar 1.3

Memilih letak Folder Installasi

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 13/275

Gambar 1.6

Proses extracting file sekaligus proses

installasi

Gambar 1.5

Informasi mengenai letak installasi,

klik install

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 14/275

Gambar 1.7

Proses installasi telah selesai

Klik finish

Restart komputer anda

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 15/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 16/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 17/275

LED (Light Emitting Diodes  )

ight Emitting Diodes  atau lebih sering disebut LED adalah komponen semikonduktor

 yang mampu merubah energi listrik menjadi cahaya. Sekarang ini hampir semua alat

atau instrumen menggunakan LED sebagai salah satu komponennya. LED bentuknya kecil

dan harganya murah sehingga sangat sederhana untuk digunakan. LED bisa memancarkan

cahaya yang berbeda bergantung pada senyawa kimia di dalam komponen

semikonduktornya.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 18/275

Keuntungan :

1. LED memancarkan cahaya

 yang lebih terang per 

wattnya daripada bola lampu

 pijar.

2. Lebih mudah dan hemat 

untuk menghasilkan

 pancaran cahaya berwarna.3. Dapat menyala dengan

cepat.

Kerugian :

Tengangannya sangat sensitive.

 LED harus diberikan tegangan yang

lebih rendah dari batas maksimumnya

dan dialirkan arus dibawah nilai

batasnya. Dapat juga dirangkai seridengan resistornya.

Si b l LED

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 19/275

Simbol LED

Simbol yang biasa digunakan sebagai simbol LED adalah simbol dioda standar tetapi

dengan sepasang anak panah keluar yang menunjukkan bahwa dioda tersebut

memancarkan cahaya.

Gambar 2.1 Simbol LED

Ada beberapa perbedaan kecil antara beberapa simbol standar LED, ada simbol yang

terkadang dihitamkan ada juga yang tidak dihitamkan. Sering juga ditemui simbol LED

dengan lingkaran yang mengelilinginya, terkadang lingkaran tersebut dihitamkan, terkadang

 juga tidak.

M l Pi LED

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 20/275

Mengenal Pin LED

Beberapa orang terkadang masih bingung membedakan antara mana dioda dan mana

katoda dari sebuah LED.

Gambar 2.2 Pin LED

Seperti yang bisa dilihat, sisi katoda memiliki potongan datar pada  fiber glassnya .

Dapat dilihat pula bahwa sisi katoda lebih kecil dibandingkan dengan anodanya, tapi jangan

tertipu pada syarat ini terutama pada LED bekas karena anda tidak tahu apakah kaki – kaki

LED tersebut pernah dipotong atai tidak . Kita tahu bahwa banyak sekali jenis LED yang

lain, lebih amannya lihat saja datasheet nya atau mudahnya silahkan uji sebelum disolder

Rangkaian Dasar LED

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 21/275

Rangkaian Dasar LED

Gambar 2.3 Rangkaian Led.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 22/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 23/275

Blinking LED/LED kedip.

Aplikasi dasar tentang led yang pertama yaitu Blink LED atau LED yang nyala secara

berkedip. Disini kita akan mempraktekkan bagaimana cara untuk menghidupkan LED

dengan variasi yaitu blink (berkedip). Sebelumnya kita harus membuat sebuah rangkaian led

sederhana. Alat dan bahan sebagai berikut :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 24/275

Alat dan Bahan :

1. Led 5mm sebanyak 5 buah. 6. Kabel IDE

2. Resistor 220 ohm sebanyak 5 buah. 7. Soket IDE

sebanyak 16 buah.

3. PCB 5x10 cm. 8. Black housing

sebanyak 16 buah.

4. Solder. 9. Konektor IDE

single 8 pin.

5. Tenol.

Setelah semua alat dan bahan terkumpul. Susun/rangkai led dan resistor pada PCB

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 25/275

Setelah semua alat dan bahan terkumpul. Susun/rangkai led dan resistor pada PCB

sesuai dengan gambar skematik datas. Berikut contoh rangkaian led yang sudah jadi :

Gambar 2.4 Tampak depan.

Selanjutnya kita akan menghubungkan rangkaian led yang telah kita buat sebelumnya ke

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 26/275

Se jut y t e g ubu g g ed y g te t bu t sebe u y e

mini 32 dengan menggunakan kabel.

Langkahnya sebagai berikut:

1. Hubungkan rangkaian LED dengan Port D pada mini 32.

2. Hubungkan mini 32 ke komputer dengan kabel USB mini B.

3. Buka code vision dan atur konfigurasi chip,clock serta Port keluarannya. Seperti

penjelasan dibawah ini :

Kita dapat menjalankan aplikasi ini melalui menu startall

programcodevisionCAVRCodeVision C compiler, atau juga dapat melalui desktop denganmendouble klik shortcut codevision.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 27/275

Gambar 2.5 berikut adalah tampilan awal codevision

Untuk memulai projek baru /new project kita pilih menu filenew maka akan muncul kotak

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 28/275

p j / p j p

dialog seperti dibawah ini :

Gambar 2.6membuat projek baru

Pilih project kemudian klik OK, kemudian akan muncul kotak dialog konfirmasi kita pilih

 yes

Gambar 2.7 konfirmasi projek baru menggunakan codewizardAVR

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 29/275

Kemudian akan muncul kotak dialog konfigurasi mengenai chip serta pin yang akan kita

gunakan

Gambar 2.8 konfigurasi CHIP dan PORT 

Pada menu chip, chip yang kita gunakan pada mini 32 adalah ATmega32 dengan nilai

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 30/275

clock 7.372000, kemudian kita setting port yang akan kita gunakan sebagai

output/keluaran yang kemudian disambungkan pada rangkaian LED, sebenarnya kita dapat

menggunakan salah satu dari keempat port diatas, namun pada kesematan kali ini kita

hanya akan menggunakan port D sebagai output dan kita sambungkan dengan rangkaian

LED. Maka kita setting port D sebagai output dengan memilih sub menu port D kemudian

klik “In” pada bit ke-0 sampai dengan bit ke-7,maka secara otomatis akan berubah menjadi

“out”

Gambar 2.9 langkah penyimpanan konfigurasi

Setelah kita setting chip, clock serta port yang kita gunakan, langkah selanjutnya

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 31/275

adalah menyimpan konfigurasi tersebut melalui filesave as, kemudian beri nama file, file

 yang pertama bereksistensi .cwp, file .cwp kita beri nama “led_blink.cwp” .kemudian pilih

Generate,Save and Exit, seperti langkah sebelumnya kita beri nama file .c ini dengan nama

file “led_blink.c” dan file .prj dengan nama “led_blink.prj”

Gambar 2.10 kode program yang pertama kali

Kotak dialog diatas merupakan lembar kerja dimana kita akan menulis program.

Contoh Program

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 32/275

#include <mega32.h>

#include <delay.h>

void main(void) // fungsi utama

{ // Loop pembuka fungsi utama

PORTD=0xFF; // konfigurasi Port D aktif low 

DDRD=0xFF; // konfigurasi port D sebagai output

while (1)

{ // Loop pembuka while

PORTD=0xFF; // led nyala semua

delay_ms(1000); // tunda satu detik

PORTD=0x00; // led mati semua

delay_ms(1000); // tunda satu detik

} // Loop pembuka while

} // Loop penutup fungsi utama

Program akan berulang terus menerus karena syarat whie (1), dan akan menghasilkan nilai benar, maka pernyataan yang ada didalam kalang while akan dijalankan berulang dan led 

tampak hidup dan mati secara berulang-ulang(blink/kedip) .

Save file yang sudah anda ketik dengan memilih menu FileSave atau klik icon disket

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 33/275

pada tollbar. Pilih menu project kemudian pilih build all, kemudian akan muncul kotak

dialog sebagai berikut :

Gambar 2.11 compiller information

Kotak dalog tersebut berisi tentang semua informasi program yang telah kita buat sebelumnya, jika sudah muncul informasi no warning dan no errors berarti program yang telah kita buat siap untuk 

didownload kedalam mini 32.

Led berjalan (shift)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 34/275

Pada praktik LED yang ke- 2 ini, kita akan mencoba menghidupkan led berjalan/geser

kanan. Seluruh proses installasi perangkat kerasny sama dengan praktik blink led, yang

membedakan hanyalah pada programnya saja

Berkut adalah script program led berjalan :

#include <mega32.h>

#include <delay.h>

int Lampu; //Deklarasi tipe data

void main(void) //Fungsi utama

{

DDRD=0xFF; // Pengaturan Pin Sebagai Output

Lampu=1; // Inisialisasi variable lampuwhile (1)

{

PORTD= ~Lampu; // Nilai Lampu = Port Output

Lampu = Lampu << 1 ; // Nilai Lampu digeser kekiri 1 bit

if (Lampu>128)

{Lampu=1;

}

delay_ms(500); // Waktu tunda

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 35/275

}

}

Setelah anda menulis program pada code vision kemudian simpan dengan nama

led_shift. Setelah dipastikan tidak ada error dan warning (bisa dilihat pada kotak dialog

information setelah program di build all), kemudian download program ke mini 32 dan lihat

hasilnya.

Binary counter

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 36/275

Pada praktik LED yang ke- 3 ini, kita akan mencoba menghidupkan led binary counter.

Seluruh proses installasi perangkat kerasnya sama dengan praktik led sebelumnya, yang

membedakan hanyalah pada programnya saja

Berkut adalah script program led berjalan :

#include <mega32.h>

#include <delay.h>

int Sign; // Deklarasi tipe data

void main(void) // Fungsi Utama

{Sign=0; //Inisialisasi nilai Sign=0

DDRD=0xFF; // Port D dikonfigurasikan sebagai output

PORTD= ~Sign; // Semua keluaran Port D akan sesuai/sama dengan

nilai Sign

delay_ms(1000); //Tunda 1 detik

while (1)

{Sign ++; // Nilai Sign akan bertambah 1

PORTD= ~Sign;   // Semua keluaran Port D akan sesuai/sama dengan nilai Sign

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 37/275

delay_ms(1000); //Tunda 1 detik

if (Sign==255)

{

Sign=0; // Nilai Sign diubah kembali ke posisi nol

}}

}

Setelah anda menulis program pada code vision kemudian simpan dengan nama

led_bc. Setelah dipastikan tidak ada error dan warning ( bisa dilihat pada kotak dialog

information setelah program di build all), kemudian download program ke mini 32 dan lihat

hasilnya.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 38/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 39/275

Pengenalan Seven Segment.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 40/275

Seven Segment adalah suatu segmen - segmen yang digunakan menampilkan angka.

Seven segment ini tersusun atas 7 batang LED yang disusun membentuk angka 8 dengan

menggunakan huruf a-f yang disebut DOT MATRIKS. Setiap segmen ini terdiri dari 1 atau 2

Light Emitting Diode ( LED ).

Gambar 3.1 Skema seven segment.

Jenis- jenis Seven Segment

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 41/275

Common Anoda

Disini, semua anoda dari diode disatukan secara parallel dan semua itu

dihubungkan ke VCC dan kemudian LED dihubungkan melalui tahanan pembatas

arus keluar dari penggerak. Karena dihubungkan ke VCC, maka Common Anoda ini

berada pada kondisi Aktif High.

Common Katoda

Disini semua katoda disatukan secara parallel dan dihubungkan ke Ground.

Karena seluruh katoda dihubungkan ke Ground, maka Common Katoda ini berada

pada kondisi Aktif Low.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 42/275

Gambar 3.2 Seven Segment Common Anoda dan Common Katoda.

berikut adalah tampilan dari seven segment

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 43/275

Gambar 3.3 Tampilan seven segment.

setelah melihat hasil dari tampilan seven segment diatas pasti timbul pertanyaan,

bagaimana caranya supaya seven segment bisa menampilkan tampilan seperti yang ada

pada gambar diatas. Disini kita akan menjawab pertanyaan itu.

Di awal tadi kita sudah tahu apa sebenarnya seven segment itu, tiap-tiap segment

yang ada pada seven segment dibentuk oleh sebuah led dimana led tersebut akan menyala

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 44/275

 yang ada pada seven segment dibentuk oleh sebuah led, dimana led tersebut akan menyala

 jika diberi tegangan antara 3,5 sampai dengan 5 Volt. Untuk menampilkan sebuah angka

ataupun huruf pada penampil seven segment tentunya dibutuhkan beberapa led yang harus

menyala, misal untuk menampilkan angka 0, maka led yang harus menyala/ON adalah

A,B,C,D,E,F. Sedangkan led G dalam keadaan mati/OFF

Setelah membaca penjelasan mengenai pengenalan dasar seven segment diatas,

selanjutnya kita akan menggambar rangkaian dasar sevent segment yang nantinya akan

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 45/275

selanjutnya kita akan menggambar rangkaian dasar sevent segment yang nantinya akan

dibuat PCB serta modulnya dan setelah itu dihubungkan dengan mini 32 kemudian

diprogram.

Alat dan bahan :

1. Seven segment 1 buah. 6. Konektor IDE single 8 pin.

2. PCB 8x6 cm. 7. Tenol.

3. Resistor 220 Ohm 8 buah. 8. Solder.

4. Resistor 1 Kohm 1 buah.

5. Transistor C9012 1 buah.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 46/275

Gambar 3.4 Rangkaian Seven Segment.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 47/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 48/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 49/275

Menampilkan angka dari 0,1,2,3....dst

Contoh program uji segment

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 50/275

p g j g

#include<mega32.h>

#include<delay.h>

void main(void)

{

DDRC = 0b11111111;

While(1);

{

PORTC = 0b11111110;

}

}

Test segmen 1

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 51/275

#include<mega32.h>

#include<delay.h>

void main(void)

{

DDRC = 0xFF; //port C di fungsikan sebagai output

While(1);

{

PORTC = 0b11111101;

}

}

Test segmen 2

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 52/275

#include<mega32.h>

#include<delay.h>

void main(void)

{

DDRC = 0b11111111; //port C di fungsikan sebagai output

While(1);

{

PORTC = 0b11111011;

}

}

Test segmen 3

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 53/275

#include<mega32.h>

#include<delay.h>

void main(void)

{

DDRC = 0b11111111; //port C di fungsikan sebagai output

While(1);

{

PORTC = 0b11110111;

}

}

Contoh program counter up

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 54/275

#include<mega32.h>

#include<delay.h>

Unsigned char Angka; //variabel Angka dengan tipe data unsigned char 

void main(void)

{

DDRC = 0b11111111;

Angka=0b11111001;

PORTC=Angka;

Delay_ms(1000);

Angka=0b10100100;

PORTC=Angka;

Delay_ms(1000);

Angka=0b11001111;

PORTC=Angka;

Delay_ms(1000);}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 55/275

Contoh program counter down

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 56/275

#include<mega32.h>

#include<delay.h>

Unsigned char Angka; //variabel Angka dengan tipe data unsigned char 

void main(void)

{

DDRC = 0b11111111;

Angka=0b11001111;

PORTC=Angka;

Delay_ms(1000);

Angka=0b10100100;PORTC=Angka;

Delay_ms(1000);

Angka=0b11111001;

PORTC=Angka;

Delay_ms(1000);

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 57/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 58/275

Mungkin sebagian dari anda asing mendengar istilah dot matrik dan timbul

pertanyaan, apa sih dot matrix itu??. Dot matrix merupakan salah satu penampil yang pada

d t d i l d (d t) di b b t k b i d k l ( t i ) H i

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 59/275

dasarnya tersusun dari led (dot) yang disusun berbentuk baris dan kolom(matrix). Hampir

sama dengan seven segment dan hanya susunan led/segment yang berbeda.

sebenarnya ada beberapa jenis dot matrix, namun pada keempatan kali ini kita hanya

akan membahas dot matrix 8x8 dan 16x16. Dot matrix 8x8 artinya dot matrix yang

mempunyai dot sebanyak 8 baris medatar dan 8 baris menurun. Begitu juga untuk dot

matrix 16x16.

Dot matrix lebih fleksibel dibandingkan dengan penampil-penampil yang lain seperti

led dan seven segment, selain dapat menampilkan angka dan huruf dot matrix juga dapat

untuk menampilkan gambar dan karakter/emoticon. Tapi proses scaning/penampilan

tampilan agak sedikit susah. Jika pada seven segment, anda hanya perlu menghidupkan 8

buah led yang sudah tersusun, namun pada dot matrix anda harus menentukan tiap baris

dan kolomnya.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 60/275

Gambar 4.1 skema dot matrix.

Sebagai contoh jka anda ingin menampilkan angka 1 pada dot matrix 8x8 maka

susunan dot yang menyala sebagai berikut :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 61/275

BARIS

K

O

O

M

0 1 2 3 4 5 6 7

0 0 0 0 1 0 0 0 0

1 0 0 1 1 0 0 0 0

2 0 0 0 1 0 0 0 0

3 0 0 0 1 0 0 0 0

4 0 0 0 1 0 0 0 0

5 0 0 0 1 0 0 0 0

6 0 0 0 1 0 0 0 0

7 0 0 1 1 1 0 0 0

Setelah membaca sedikit pengenalan dan penjelasan mengenai dot matrix, kemudian

kita buat modul dot matrix sederhana yang nantinya akan kita hubungkan dengan mini 32

dan kita program

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 62/275

dan kita program.

Alat dan Bahan :

1. Dot Matrix 5x7 1 buah (warna terserah)

2. Konektor IDC 12 pin.

3. Soket IDC 12 buah.

4. Black housing 12 buah.

5. Kabel IDC.

6. PCB 5x5 cm.

7. Solder.

8. Tenol.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 63/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 64/275

Contoh program penulisan karakter pada dot matrix

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 65/275

#include <mega32.h>

#include<delay.h>

Void main(main)

{

DDRA=0xFF; //Port A di fungsikan sebagai output.

DDRC=0xFF; //Port C di fungsikan sebagai output.

While(1);

{

PORTA=0b11111110;

PORTC=0b11111111;

delay_ms(1);

PORTC=0b00000000;

delay_ms(10);

PORTA=0b11111101;

PORTC=0b11111111;

delay ms(1);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 66/275

delay_ms(1);

PORTC=0b0000100;

delay_ms(10);

PORTA=0b11111011;

PORTC=0b00000100;

delay_ms(1);

PORTC=0b00000000;

delay_ms(10);

PORTA=0b11110111;

PORTC=0b00000100;

delay_ms(1);

PORTC=0b00000000;

delay_ms(10);

PORTA=0b11101111;

PORTC=0b00000100;

delay_ms(1);

PORTC=0b00000000;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 67/275

;

delay_ms(10);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 68/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 69/275

Liquid Cristal Display (LCD)

Liquid Crystal Display (LCD)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 70/275

Gambar 4.1 LCD 16x2.

q y p y ( )

merupakan sebuah teknologi layar

digital yang menghasilkan citra pada

sebuah permukaan yang rata (flat)

dengan memberi sinar pada kristal cair

dan filter berwarna, yang mempunyai

struktur molekul polar, diapit antara

dua elektroda yang transparan. Bila

medan listrik diberikan, molekul

menyesuaikan posisinya pada medan,

membentuk susunan kristalin yang

mempolarisasi cahaya yang melaluinya.

LCD (Liquid Crystal Display)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 71/275

LCD (Liquid Crystal Display)

merupakan komponen display yang

dapat menampilkan karakter huruf,

angka, simbol yang dikemas dalam

16 karakter display sebanyak 2 baris.

Dalam penggunaannya LCD dapat

diprogram dengan 4 bit dan 8 bit

data, tergantung kebutuhannya.

Dalam pemogramannya, LCD

ditentukan dengan pengalamatan

pada karakter LCD.

LCD berfungsi menampilkan

suatu nilai hasil sensor, menampilkan

teks, atau menampilkan menu pada

aplikasi mikrokontroler. LCD ini

merupakan modul LCD dengan

tampilan 16 x 2 baris dengan

konsumsi daya rendah. Modul

tersebut dilengkapi dengan

mikrokontroler yang didesain khusus

untuk mengendalikan LCD.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 72/275

Gambar 4.2 LCD Grafik 128x64

Sedang modul graphics

LCD 128x64 ini hampir

sama dengan LCD kolom

16x2, hanya saja pada

LCD grafik ini sudah

dapat menampilakan

gambar/grafik dengan

dimensi 128x64.

Nokia 5510 LCD modul didasarkan pada PCD8544 48x48 piksel pengontrol LCD

matrix ini adalah LCD grafik dimana dapat menampilkan gambar, logo dan membuat game

sederhana. LCD ini menggunakan mikrokontroler Atmel 8-bit.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 73/275

Gb. LCD Nokia 5510

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 74/275

Pembuatan rangkaian sederhana LCD 2x16.

l d h

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 75/275

Alat dan Bahan :

1. Modul LCD 2x16 1 buah.

2. Konektor IDC single 20 pin.3. Soket IDC 40 buah.

4. Black housing 40 buah.

5. Kabel IDC.

6. PCB 10x5 cm.

7. Potensio meter 10 Kohm.

8. Solder.

9. Tenol.

Berikut adalah gambar desingnnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 76/275

 Jika anda dalam pembuatan PCB menggunakan teknik sablon maupun UV berikut adalah

gambar filmnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 77/275

Berikut gambar contoh rangkaian sederhana LCD yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 78/275

Pembuatan Rangkaian Dasar LCD 128x64

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 79/275

Alat dan bahan :

1. Modul LCD 128x64

2. Konektor IDC single 20 pin.

3. Soket IDC 40 buah.

4. Black housing 40 buah.

5. Kabel IDC.

6. PCB 10x10cm.

7. Solder.

8. Tenol.

Berikut adalah gambar designnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 80/275

 Jika dalam proses pembuatan PCB menggunakan teknik UV berikut filmnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 81/275

Berikut gambar contoh hasil pembuatan rangkaian LCD 128x64 yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 82/275

Pembuatan rangkaian sederhana LCD Nokia 5510.

Alat dan bahan :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 83/275

Alat dan bahan :

1. Modul LCD nokia 5510.

2. Konektor IDC single 8

pin.

3. Kabel IDC.

4. Soket IDC 16 buah.

5. Black housing 16 buah.

6. Kapasitor 1µf.7. Solder.

8. Tenol.

Berikut adalah gambar desingnnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 84/275

 Jika dalam proses pembuatan PCB menggunakan teknik UV berikut ini filmnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 85/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 86/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 87/275

Contoh program menampilkan karakter pada LCD 2x16

#include <mega32.h>

#asm

equ lcd port=0x15 ;PORTC //Port C di fungsikan sebagai output ke LCD

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 88/275

.equ __lcd_port=0x15 ;PORTC //Port C di fungsikan sebagai output ke LCD.

#endasm

#include <lcd.h>

void main(void)

{

lcd_init(16);

lcd_gotoxy(0,0); //Kursor ditempatakan pada baris ke 0 dan kolom ke 0.

lcd_putsf("BELAJAR MINI 32!");

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 89/275

Contoh Program penulisan karakter pada LCD 128x64

//*Aplikasi Dasar Graphic LCD 128x64*//

Menampilkan Tulisan dan Character

#include <mega32.h>

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 90/275

#include <mega32.h>

#include <delay.h>

#include <stdlib.h>

#include <stdio.h>

#include <glcd_128x64.h>

void main(void)

{

delay_ms(1000);

init_lcd();

off(); // glcd

on(); // glcd

SetStartLine(0);

glcd_clear();

lcd_printf(30,1,"POWER ON");

delay_ms(50):

delay_ms(2000);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 91/275

WDTCR=0x0F; // watchdog

show(at[0],1);

delay_ms(2000);

glcd_clear();

while (1)

{

lcd_printf(4,2,"Graphics LCD");

delay_ms(2000);

glcd_clear();

lcd_printf2(4,5,"SELAMAT MENCOBA");

delay_ms(2000);

glcd_clear();

};

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 92/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 93/275

Contoh Penulisan Program Pada LCD Nokia 5510

Kode Program Sub Rutin LCD.C

#define SCK PORTA.0

#define SDI PORTA.1

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 94/275

#define D_C PORTA.2

#define SCE PORTA.3

#define RES PORTA.4

#define BL PORTA.5

#define LCD_X 84

#define LCD_Y 48

#define HIGH 1

#define LOW 0

#include <font5x7.c>

/*****************************************************/

void send_data_lcd(char byte)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 95/275

{

unsigned char i;

for (i=0;i<8;i++)

{

if (byte&0x80) SDI=1; else SDI=0;

byte<<=1;

SCK=1;

SCK=0;

}

}

/*****************************************************/

void write_command(char byte_command)

{

D_C=0;

SCE=0;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 96/275

send_data_lcd(byte_command);

SCE=1;

}

/*****************************************************/

void write_data(unsigned char byte_data)

{

D_C=1;

SCE=0;

send_data_lcd(byte_data);

SCE=1;

}

/**********************************************************************************

***/

void send_lcd_data(flash unsigned char values[], unsigned int amount)

{

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 97/275

{

unsigned int counter;

for (counter=0; counter < amount;counter++)

{

write_data(values[counter]);

}

}

void goto_x_y(unsigned int x, unsigned int y)

{

write_command(0x40|(y&0x07)); // Y axis initialisation: 0100 0yyy

write_command(0x80|(x&0x7f)); // X axis initialisation: 1xxx xxxx

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 98/275

}

/*****************************************************/

void lcd_clear(void)

{

unsigned int ddram;

goto_x_y(0,0); // 84*6=504 clear LCD

for (ddram=504;ddram>0;ddram--)

{

write_data(0x00);

}}

void LCD_init(void)

{

DDRA=0b11111111; // Port A

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 99/275

D_C=0;

SCE=0;

RES=0; delay_ms(100); RES=1;

write_command(0x21); // set extins extended instruction

set

write_command(0x90); // (0xc2Vop v1: 0xc8 (for 3V)//

v2: 0xa0 (for 3V) // v3: 0xc2 (2v6-5v)

write_command(0x20); // horizontal mode from left to

right, X axe are incremented automatically ,

// 0x22 for vertical addressing

,back on normal instruction set too

write_command(0x0c); // mod control normal change

lcd_clear(); // reset DDRAM, otherwise the lcd

is blurred with random pixels

}

/**********************************************************************************

***/

void lcd_printf(unsigned char x, unsigned char y, flash unsigned char *Str,...)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 100/275

p ( g , g y, g ,

{

unsigned char n,w;

unsigned int yy;

goto_x_y(x,y);

for (n = 0;Str[n]!=0;n++)

{

yy=(*(Str+n)-32);

w=wide5x7[yy];

yy*=5;

send_lcd_data(&font5x7[yy],w);

write_data(0);

}

}

Kode Program Sub Rutin font5x7.C

/************************************************************************

*Driver for Graphic LCD Display

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 101/275

************************************************************************/

flash unsigned char font5x7[] = {

0x00, 0x00, 0x00, 0x00, 0x00, // (space)

0x5F, 0x00, 0x00, 0x00, 0x00, // !

0x07, 0x00, 0x07, 0x00, 0x00, // "

0x14, 0x7F, 0x14, 0x7F, 0x14, // #

0x24, 0x2A, 0x7F, 0x2A, 0x12, // $

0x23, 0x13, 0x08, 0x64, 0x62, // %

0x36, 0x49, 0x55, 0x22, 0x50, // &

0x05, 0x03, 0x00, 0x00, 0x00, // '

0x1C, 0x22, 0x41, 0x00, 0x00, // (

0x41, 0x22, 0x1C, 0x00, 0x00, // )

0x08, 0x2A, 0x1C, 0x2A, 0x08, // *

0x08, 0x08, 0x3E, 0x08, 0x08, // +

0x50, 0x30, 0x00, 0x00, 0x00, // ,

0x08, 0x08, 0x08, 0x08, 0x08, // -

0 30 0 30 0 00 0 00 0 00 //

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 102/275

0x30, 0x30, 0x00, 0x00, 0x00, // .

0x20, 0x10, 0x08, 0x04, 0x02, // /

0x3E, 0x51, 0x49, 0x45, 0x3E, // 0

0x00, 0x42, 0x7F, 0x40, 0x00, // 1

0x42, 0x61, 0x51, 0x49, 0x46, // 2

0x21, 0x41, 0x45, 0x4B, 0x31, // 3

0x18, 0x14, 0x12, 0x7F, 0x10, // 4

0x27, 0x45, 0x45, 0x45, 0x39, // 5

0x3C, 0x4A, 0x49, 0x49, 0x30, // 6

0x01, 0x71, 0x09, 0x05, 0x03, // 7

0x36, 0x49, 0x49, 0x49, 0x36, // 8

0x06, 0x49, 0x49, 0x29, 0x1E, // 9

0x00, 0x36, 0x36, 0x00, 0x00, // :

0x56, 0x36, 0x00, 0x00, 0x00, // ;

0x08, 0x14, 0x22, 0x41, 0x00, // <

0x14, 0x14, 0x14, 0x14, 0x14, // =

0 41 0 22 0 14 0 08 0 00 // >

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 103/275

0x41, 0x22, 0x14, 0x08, 0x00, // >

0x02, 0x01, 0x51, 0x09, 0x06, // ?

0x7F, 0x7F, 0x7F, 0x7F, 0x7F, // @ 0x32, 0x49, 0x79, 0x41, 0x3E,// @

0x7E, 0x11, 0x11, 0x11, 0x7E, // A

0x7F, 0x49, 0x49, 0x49, 0x36, // B

0x3E, 0x41, 0x41, 0x41, 0x22, // C

0x7F, 0x41, 0x41, 0x22, 0x1C, // D

0x7F, 0x49, 0x49, 0x49, 0x41, // E

0x7F, 0x09, 0x09, 0x01, 0x01, // F

0x3E, 0x41, 0x41, 0x51, 0x32, // G

0x7F, 0x08, 0x08, 0x08, 0x7F, // H

0x41, 0x7F, 0x41, 0x00, 0x00, // I

0x20, 0x40, 0x41, 0x3F, 0x01,// J

0x7F, 0x08, 0x14, 0x22, 0x41,// K

0x7F, 0x40, 0x40, 0x40, 0x40,// L

0x7F, 0x02, 0x04, 0x02, 0x7F,// M

0x7F 0x04 0x08 0x10 0x7F // N

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 104/275

0x7F, 0x04, 0x08, 0x10, 0x7F,// N

0x3E, 0x41, 0x41, 0x41, 0x3E,// O

0x7F, 0x09, 0x09, 0x09, 0x06,// P

0x3E, 0x41, 0x51, 0x21, 0x5E,// Q

0x7F, 0x09, 0x19, 0x29, 0x46,// R

0x46, 0x49, 0x49, 0x49, 0x31,// S

0x01, 0x01, 0x7F, 0x01, 0x01,// T

0x3F, 0x40, 0x40, 0x40, 0x3F,// U

0x1F, 0x20, 0x40, 0x20, 0x1F,// V

0x7F, 0x20, 0x18, 0x20, 0x7F,// W

0x63, 0x14, 0x08, 0x14, 0x63,// X

0x03, 0x04, 0x78, 0x04, 0x03,// Y

0x61, 0x51, 0x49, 0x45, 0x43,// Z

0x7F, 0x41, 0x41, 0x00, 0x00, // [

0x02, 0x04, 0x08, 0x10, 0x20,// "\"

0x41, 0x41, 0x7F, 0x00, 0x00,// ]

0x04 0x02 0x01 0x02 0x04 // ^

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 105/275

0x04, 0x02, 0x01, 0x02, 0x04,//

0x40, 0x40, 0x40, 0x40, 0x40,// _ 

0x01, 0x02, 0x04, 0x00, 0x00, // `

0x20, 0x54, 0x54, 0x78, 0x00, // a

0x7F, 0x44, 0x44, 0x38, 0x00, // b

0x38, 0x44, 0x44, 0x44, 0x00, // c

0x38, 0x44, 0x44, 0x7F, 0x00, // d

0x38, 0x54, 0x54, 0x58, 0x00, // e

0x08, 0x7E, 0x09, 0x01, 0x00, // f

0x08, 0x54, 0x54, 0x3C, 0x00, // g

0x7F, 0x04, 0x04, 0x78, 0x00, // h

0x7D, 0x00, 0x00, 0x00, 0x00, // i

0x20, 0x40, 0x44, 0x3D, 0x00, // j

0x7F, 0x10, 0x28, 0x44, 0x00, // k

0x7F, 0x00, 0x00, 0x00, 0x00, // l

0x7C, 0x04, 0x18, 0x04, 0x78, // m

0x7C 0x04 0x04 0x78 0x00 // n

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 106/275

0x7C, 0x04, 0x04, 0x78, 0x00, // n

0x38, 0x44, 0x44, 0x38, 0x00, // o

0x7C, 0x14, 0x14, 0x08, 0x00, // p

0x08, 0x14, 0x14, 0x7C, 0x00, // q

0x7C, 0x08, 0x04, 0x04, 0x00, // r

0x48, 0x54, 0x54, 0x20, 0x00, // s

0x04, 0x3F, 0x44, 0x40, 0x00, // t

0x3C, 0x40, 0x40, 0x3C, 0x00, // u

0x1C, 0x20, 0x40, 0x20, 0x1C,// v

0x3C, 0x40, 0x30, 0x40, 0x3C, // w

0x44, 0x28, 0x10, 0x28, 0x44,// x

0x0C, 0x50, 0x50, 0x3C, 0x50, // y

0x64, 0x54, 0x4C, 0x00, 0x00, // z

0x08, 0x36, 0x41, 0x00, 0x00, // {

0x7F, 0x00, 0x00,0x00, 0x00, // |

0x41, 0x36, 0x08, 0x00, 0x00, // }

0x08, 0x08, 0x2A, 0x1C, 0x08,// ->

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 107/275

0x08, 0x08, 0x2A, 0x1C, 0x08,// >

0x08, 0x1C, 0x2A, 0x08, 0x08 // <-

};

flash unsigned char wide5x7[] = {

0x02,// (space)

0x01,// !

0x03,// "

0x05,// #

0x05,// $

0x05,// %

0x05,// &

0x02,// '

0x03,// (

0x03,// )

0x05,// *

0x05,// +

0x02,// ,

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 108/275

,// ,

0x05,// -

0x02,// .

0x05,// /

0x05,// 0

0x05,// 1

0x05,// 2

0x05,// 3

0x05,// 4

0x05,// 5

0x05,// 6

0x05,// 7

0x05,// 8

0x05,// 9

0x05,// :

0x02,// ;

0x04,// <

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 109/275

,

0x05,// =

0x04,// >

0x05,// ?

0x05,// @

0x05,// A

0x05,// B

0x05,// C

0x05,// D

0x05,// E

0x05,// F

0x05,// G

0x05,// H

0x03,// I

0x05,// J

0x05,// K

0x05,// L

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 110/275

0x05,// M

0x05,// N

0x05,// O

0x05,// P

0x05,// Q

0x05,// R

0x05,// S

0x05,// T

0x05,// U

0x05,// V

0x05,// W

0x05,// X

0x05,// Y

0x05,// Z

0x03,// [

0x05,// "\"

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 111/275

0x03,// ]

0x05,// ^

0x05,// _ 

0x03,// `

0x04,// a

0x04,// b

0x04,// c

0x04,// d

0x04,// e

0x04,// f

0x04,// g

0x04,// h

0x01,// i

0x04,// j

0x04,// k

0x01,// l

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 112/275

0x05,// m

0x04,// n

0x04,// o

0x04,// p

0x04,// q

0x04,// r

0x04,// s

0x04,// t

0x04,// u

0x05,// v

0x05,// w

0x05,// x

0x04,// y

0x03,// z

0x03,// {

0x01,// |

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 113/275

0x03,// }

0x05,// ->

0x05 // <-

};

Kode Program Main.C

#include <mega32.h>

#include <delay.h>

#include <stdlib.h>

#include <LCD5110.c>

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 114/275

void main(void)

{

delay_ms(1000); //Waktu tunda 1 detik.

LCD_init();

BL=0;

lcd_printf(4, 1, "Selamat Datang");

lcd_printf(4, 3, "Di MM UGM");

while (1)

{

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 115/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 116/275

Buzzer adalah Perangkat pemberi isyaratsuara (sirine), yang mana dapat berupa

mekanik maupun elektromekanik.Perangkat ini

didasarkan pada system elektromekanik yang

sama dengan bell listrik tanpa gong logam.

Buzzer ini sering digunakanpada perangkat alarm, pewaktu dan

pemberi informasi(penanda) kepada

pengguna saat melakukan input atau

ketikan pengguna mengeklik sebuah

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 117/275

Demikian pula, relay dapat dihubungkan keinterupsi yang berhubungan langsung dengan

arus, menghubungkan ke buzz.

Masukannya berupa tegangan. Ketika

buzzer dihubungkan ke suatu power supply 

dan diberikan tegangan dan frekuensi yang

semakin tinggi maka menghasilkan bunyi yang

semakin keras.

mouse  atau tombol. Aplikasi dasarlainnya sebagai pengeras suara pada

bel sekolah, jam weker, sirine

kebakaran dan lain-lain.

Untuk membuat rangkaian

sederhana buzzer anda bisa

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 118/275

Gambar 5.1 Rangkaian sederhana buzzer.

menggunakan PCB atau langsung

dengan menggunakan kabel IDC,

hala ini karena rangkaian buzzer

sangat sederhana bahan yang

dibutuhkan hanya buzzer,kabel

IDC,soket dan black housing

masing-masing 4 buah serta

sebuah resistor 220 ohm.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 119/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 120/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 121/275

Berikut adalah contoh kode program sederhana buzzer :

#include <mega32.h>

#include <stdio.h>

#include <delay.h>

void main (void)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 122/275

{

DDRC=0xff; //Port C di fungsikan sebagai output.

while (1)

{

PORTC=0; // ON

delay_ms(1); // Tunda 1 ms = Tunda 0,001 detik

PORTC=255; // OFF

delay_ms(1); // Tunda 1 ms = Tunda 0,001 detik

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 123/275

Pengenalan Tombol

Pada intinya tombol merupakan sebuah saklar pusbutton, Pushbutton merupakan

sebuah device untuk menghubungkan dan memutuskan rangkaian listrik antara 2 titik.

Penggunaan pushbutton dikehidupan sehari-hari hampir menyentuh semua bidang. Di

bidang komputer dengan keyboard dan mouse, dibidang otomotif dengan panel-panel

kontrolnya, bahkan diperalatan rumah tangga sekalipun seperti kontrol peralatan listrik juga

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 124/275

kontrolnya, bahkan diperalatan rumah tangga sekalipun seperti kontrol peralatan listrik juga

menggunakan push button.

Gambar 12. Aktif high Push Button

Aktif high pushbutton merupakan pushbutton yang memiliki karakteristik saat tidak

ada penekanan maka dalam keadaan terputus(off) sedangkan saat ditekan akan

tersambung(on).

Pada kesempatan kali ini kita akan mencoba mengaplikasikan tombol(pushbutoon,

keypad 3x4, keypad Nokia 6610) dengan mini 32.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 125/275

Pembuatan modul sederhana Push ON/push button.

Alat dan Bahan :

1. Push button 8 buah.

2. Konektor IDC single

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 126/275

g

10 buah.

3. Soket ICD 20 buah.

4. Black housing 20

buah

5. Kabel IDC.

6. PCB 7,5x5 cm.

7. Solder.

8. Tenol.

Berikut adalah gambar designnya:

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 127/275

 Jika dalam pembuatan PCB anda menggunakan teknik sablon atau UV berikut gambar

filmnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 128/275

Berikut gambar contoh hasil jadi rangkaian sederhana push button :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 129/275

Pembuatan PCB untuk modul keypad 3x4 :

Alat dan bahan :

1. Konektor IDC single 4 pin.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 130/275

2. Soket IDC 8 buah.

3. Black housing 8 buah.

4. Kabel IDC.

5. PCB 10x10 cm.

6. Solder.

7. Tenol.

Berikut adalah gambar desingnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 131/275

Contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 132/275

Pembuatan PCB untuk modul keypad Nokia 6610:

Alat dan bahan :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 133/275

1. Konektor IDC single 4 pin.

2. PCB 10x10 cm.

3. Solder.

4. Tenol.

Contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 134/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 135/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 136/275

Untuk mengaplikasikan tombol push on akan dikombinasikan dengan rangkaian led.

 Tombol push on di fungsikan sebagai input sedangkan rangkaian led di fungsikan sebagai

output. Contoh kode programnya sebagai berikut :

// Latihan Tombol

// Menekan Tombol dan Menyalakan Led

#include <mega32.h>

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 137/275

#include <delay.h>

Void TestTombol4(void);

void main(void)

{

DDRC=255; // Port Led = Output

PORTC=255;

DDRA=0b00000000; // Port Tombol = Input

PORTA=0b11111111;

while(1)

{

TestTombol4(); //pemanggil fungsi TestTombol.

}

}

void TestTombol4(void)

{

if (PINA.0==0) //Jika Pin A 0 nilainya sama dengan 0 maka akn menjalankan

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 138/275

pernyataan selanjutnya.

{

PORTC=0b11111110; // Port C 0 ON.

delay_ms(300); // Waktu tunda 30ms.

PORTC=0b01111111; // Port C 0 Off.

delay_ms(300); // Waktu tunda 30ms.

}

else // Jika Pin A 0 nilainya tidak sama dengan 0 maka akan menjalankan

 pernyataan di bawah.

PORTC=0b11111111; //Port C Off.

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 139/275

Keypad 3x4 di kombinasikan dengan penampil LCD 16x2. Berikut adalah contoh kode

programnya :

#asm

.equ __lcd_port=0x15 // PORTC

#endasm

#include <mega32.h>

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 140/275

#include <delay.h>

#include <lcd.h>

void main(void)

{

DDRA=0b11110000;

while(1)

{

PORTA=0b11101111;

delay_ms(30);

if (PINA.0==0) { lcd_gotoxy(1,1); lcd_putsf ("1"); }

if (PINA.1==0) { lcd_gotoxy(1,1); lcd_putsf ("4"); }

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 141/275

if (PINA.2==0) { lcd_gotoxy(1,1); lcd_putsf ("7"); }

if (PINA.3==0) { lcd_gotoxy(1,1); lcd_putsf ("*"); }

PORTA=0b11011111;

delay_ms(30);

if (PINA.0==0) { lcd_gotoxy(1,1); lcd_putsf ("2"); }

if (PINA.1==0) { lcd_gotoxy(1,1); lcd_putsf ("5"); }

if (PINA.2==0) { lcd_gotoxy(1,1); lcd_putsf ("8"); }

if (PINA.3==0) { lcd_gotoxy(1,1); lcd_putsf("0"); }

PORTA=0b10111111;

delay_ms(30);

if (PINA.0==0) { lcd_gotoxy(1,1); lcd_putsf ("3"); }

if (PINA.1==0) { lcd_gotoxy(1,1); lcd_putsf ("6"); }

if (PINA.2==0) { lcd_gotoxy(1,1); lcd_putsf ("9"); }

if (PINA.3==0) { lcd_gotoxy(1,1); lcd_putsf ("#"); }

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 142/275

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 143/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 144/275

Motor atau motor listrik adalah perangkat elektro magnetis yang mengubah energi listrik menjadi energi mekanik, dimana energi mekanik itu berupa putaran dari rotor. Mekanisme kerja 

motor secara umum adalah apabila sebuahk t b dil t kk t k t b t

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 145/275

motor secara umum adalah apabila sebuah kawat berarus diletakkan antara kutub magnet maka pada kawat itu akan bekerja gaya sehingga kawat bergerak.

Jenis dari motor listrik ini sendiri antara lain motor DC dan motor stepper.

Motor DC

Mesin yang berfungsi mengubah tenaga listrik DC menjadi tenaga mekanik dengantenaga gerak berupa putaran dari rotor. Komponen utama motor ini : kutub medan, dinamodan komutator.

utub medan Secara sederhada digambarkan bahwa interaksi dua kutub magnet

akan menyebabkan perputaran pada motor DC Motor DC memiliki kutub medan

K

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 146/275

akan menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan

 yang stasioner dan dinamo yang menggerakan bearing  pada ruang diantara

kutub medan. Motor DC sederhana memiliki dua kutub medan: kutub utara dan kutub

selatan. Garis magnetik energi membesar melintasi bukaan diantara kutub-kutub dari utara

ke selatan. Untuk motor yang lebih besar atau lebih komplek terdapat satu atau lebih

elektromagnet. Elektromagnet menerima listrik dari sumber daya dari luar sebagai penyedia

struktur medan.

inamo. Bila arus masuk menuju dinamo, maka arus ini akan menjadi

elektromagnet. Dinamo yang berbentuk silinder, dihubungkan ke as penggerak

untuk menggerakan beban. Untuk kasus motor DC yang kecil, dinamo berputar

dalam medan magnet yang dibentuk oleh kutub-kutub, sampai kutub utara dan

selatan magnet berganti lokasi. Jika hal ini terjadi, arusnya berbalik untuk merubah kutub-

kutub utara dan selatan dinamo.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 147/275

ommutator. Komponen ini terutama ditemukan dalam motor DC. Kegunaannya

adalah untuk membalikan arah arus listrik dalam dinamo. Commutator  juga

membantu dalam transmisi arus antara dinamo dan sumber daya.

Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidakmempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur:

1. Tegangan dinamo – meningkatkan tegangan dinamo akan meningkatkan kecepatan

2. Arus medan – menurunkan arus medan akan meningkatkan kecepatan.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 148/275

Gambar 8.1 motor DC

Motor Stepper

Motor Stepper adalah motor DC yang gerakannya bertahap (step per step ) dan memiliki

akurasi yang tinggi tergantung pada spesifikasinya. Setiap motor stepper mampu berputar

untuk setiap stepnya dalam satuan sudut (0.75, 0.9, 1.8), makin keil sudut per step-nya

maka gerakan per step-nya motor stepper tersebut makin presisi. Motor stepper banyak

digunakan untuk aplikasi-aplikasi yang biasanya cukup menggunakan torsi yang kecil,

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 149/275

d gu u tu p s p s y g b s y cu up e ggu to s y g ec ,

seperti untuk penggerak piringan disket atau piringan CD. Dalam hal kecepatan, kecepatan

motor stepper cukup cepat jika dibandingkan dengan motor DC.

Motor stepper merupakan motor DC yang tidak memiliki komutator. Pada umumnya

motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian rotornya

merupakan magnet permanent. Dengan model motor seperti ini maka motor stepper dapat

diatur posisinya pada posisi tertentu dan/atau berputar ke arah yang diinginkan, searah

 jarum jam atau sebaliknya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada

komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat

pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur dalam daerah

frekuensi audio dan akan menghasilkan putaran yang cukup cepat.

Variabel Reluktansi Motor

Pada motor stepper yang mempunyai variabel reluktansi maka terdapat 3 buah lilitan

 yang pada ujungnya dijadikan satu pada sebuah pin common. Untuk dapat menggerakkan

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 150/275

y g p j g y j p p p gg

motor ini maka aktivasi tiap-tiap lilitan harus sesuai urutannya.

Gambar 8.2. merupakan gambar struktur dari motor dengan variabel reluktansi

dimana tiap stepnya adalah 30. Mempunyai 4 buah kutub pada rotor dan 6 buah kutub

pada statornya yang terletak saling berseberangan.

Gambar 8.2 Variabel Reluktance Motor

 Jika lilitan 1 dilewati oleh arus, lilitan 2 mati dan lilitan 3 juga mati maka kumparan 1

akan menghasilkan gaya tolakan kepada rotor dan rotor akan berputar sejauh 30° searah

 jarum jam sehingga kutub rotor dengan label Y sejajar dengan kutub dengan label 2.

 Jika kondisi seperti ini berulang terus menerus secara berurutan, lilitan 2 dilewati

arus kemudian lilitan 3 maka motor akan berputar secara terus menerus. Maka agar dapat

berputar sebanyak 21 step maka perlu diberikan data dengan urutan seperti pada Gambar

8.3

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 151/275

Gambar 8.3 Urutan Lilitan Kumparan Pada Motor

‘1’ pada Gambar 8.3. diartikan bahwa lilitan yang bersangkutan dilewati arus sehingga

menghasilkan st="on"gaya tolak untuk rotor. Sedangkan ‘0’ diartikan lilitan dalam kondisi

off, tidak mendapatkan arus.

Unipolar Motor Stepper

Motor stepper dengan tipe unipolar adalah motor stepper yang mempunyai 2 buah

lilitan yang masing-masing lilitan ditengah-tengahnya diberikan sebuah tap seperti tampak

pada Gambar 8.4

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 152/275

Gambar 8.4 Unipolar Stepper Motor

Motor ini mempunyai step tiap 30° dan mempunyai dua buah liliatan yang

didistribusikan berseberangan 180° di antara kutub pada stator. Sedangkan pada rotonya

menggunakan magnet permanen yang berbentuk silinder dengan mempunyai 6 buah kutub,

3 kutub selatan dan 3 buah kutub utara. Sehingga dengan konstrusi seperti ini maka jika

dibutuhkan ke presisian dari motor stepper yang lebih tinggi dibutuhkan pula kutub-kutub

pada stator dan rotor yang semakin banyak pula. Pada Gambar 21, motor tersebut akan

bergerak setiap step sebesar 30° dengan 4 bit urutan data (terdapat dua buah lilitan dengan

tap, total lilitan menjadi 4 lilitan).

Ketelitian dari magnet permanen di rotor dapat sampai 1.8° untuk tiap stepnya. Ketika

arus mengalir melalui tap tengah pada lilitan pertama akan menyebabkan kutub pada stator

bagian atas menjadi kutub utara sedangkan kutub stator pada bagian bawah menjadi kutub

selatan. Kondisi akan menyebabkan rotor mendapat st="on"gaya tarik menuju kutub-kutub

ini. Dan ketika arus yang melalui lilitan 1 dihentikan dan lilitan 2 diberi arus maka rotor

akan mengerak lagi menuju kutub-kutub ini. Sampai di sini rotor sudah berputar sampai

30° atau 1 step.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 153/275

Gambar 8.5 Urutan Data Untuk Motor Stepper dengan Tipe Unipolar (torsi normal)

Gambar 8.6 Urutan Data Motor Stepper Tipe Unipolar (torsi besar)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 154/275

Untuk meningkatkan torsi yang tidak terlalu besar maka dapat digunakan urutan

pemberian data seperti pada gambar 8.6 Dimana terdapat dua buah lilitan yang di beri arus

pada suatu waktu. Dengan pemberian urutan data seperti ini akan menghasilkan torsi yang

lebih besar dan tentunya membutuhkan daya yang lebih besar.

Dengan urutan data baik pada Gambar 8.5 atau Gambar 8.6 akan menyebabkanmotor berputar sebanyak 24 step atau 4 putaran.

Bipolar Motor Stepper

Motor dengan tipe bipolar ini mempunyai konstruksi yang hampir sama dengan motor

stepper tipe unipolar namun tidak terdapat tap pada lilitannya, seperti tampak pada Gambar

8.7

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 155/275

Gambar 8.7 Bipolar Motor Stepper

Penggunaan motor dengan tipe bipolar ini membutuhkan rangkaian yang sedikit lebih

rumit untuk mengatur agar motor ini dapat berputar dalam dua arah. Biasanya untuk

menggerakkan motor stepper jenis ini membutuhkan sebuah driver motor yang sering

dikenal sebagai H Bridge . Rangkaian ini akan menontrol tiap-tiap lilitan secara independen

termasuk dengan polaritasnya untuk tiap-tiap lilitan.

Untuk mengontrol agar motor ini dapat berputar satu step maka perlu diberikan arus

untuk tiap-tiap lilitan dengan polaritas tertentu pula. Urutan datanya dapat dilihat pada

Gambar 8.8.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 156/275

Gambar 8.8 Urutan Data Motor Stepper tipe Bipolar

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 157/275

Rangkaian Dasar Driver Motor DC :

Alat dan bahan :

1. Konektor IDC single 5 pin.

2. PCB 5x5 cm.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 158/275

3. Resistor 4K7.

4. Transistor BD139.

5. Solder.

6. Tenol.

Berikut gambar desainnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 159/275

Contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 160/275

Rangkaian Dasar Driver Motor Stepper :

Alat dan bahan :

5. Konektor IDC single 10 pin.

6 PCB 5 5

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 161/275

6. PCB 5x5 cm.

7. IC ULN2003.

8. Solder.

9. Tenol.

Berikut Gambar desainnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 162/275

Contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 163/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 164/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 165/275

Berikut contoh kode program sederhana untuk memutar motor DC :

#include <mega32.h>

#include <delay.h>

unsigned char high, low, i, speed;

void main(void)

{

DDRC.0=1;

PORTC.0=0;

speed=10; //max 100 min 10 duty cycle

high=speed;

low=100-high;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 166/275

low 100 high;

if (speed>100) { high=0; low=0; }

while(1)

{

for (i=0; i<high; i++)

{PORTC.0=1;

delay_ms(1);

}

for (i=0; i<low; i++)

{

PORTC.0=0;

delay_ms(1);

}

}}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 167/275

Berikut Contoh kode program motor stepper :

#include <mega32.h>

#include <delay.h>

void step_maju(void)

{

PORTB =0b00000001; // A

delay_ms(2);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 168/275

PORTB =0b00000010; // B

delay_ms(2);

PORTB =0b00000100; // ~A

delay_ms(2);

PORTB =0b00001000; // ~B

delay_ms(2);

}

void step_mundur(void)

{

PORTB =0b00001000; // A

delay_ms(2);

PORTB =0b00000100; // B

delay_ms(2);

PORTB =0b00000010; // ~A

delay ms(2);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 169/275

delay_ms(2);

PORTB =0b00000001; // ~B

delay_ms(2);

}

void main(void)

{

DDRB =0b00001111;

PORTB =0b00000000;

while(1)

{

// step maju();

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 170/275

// step_maju();

step_mundur();

delay_ms(100);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 171/275

ensor adalah sesuatu yang digunakan untuk mendeteksi adanya perubahan

lingkungan fisik atau kimia. Variabel keluaran dari sensor yang diubah menjadibesaran listrik disebut Transduser. Gelombang ultrasonik adalah gelombang

dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti

telah disebutkan bahwa sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang

disebut transmitter  dan rangkaian penerima ultrasonik yang disebut receiver . Sinyal

ultrasonik yang dibangkitkan akan dipancarkan dari transmitter  ultrasonik. Ketika sinyal

mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh receiver 

S

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 172/275

ultrasonik. Sinyal yang diterima oleh rangkaian receiver  dikirimkan ke rangkaian

mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda di

depannya (bidang pantul).

Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 173/275

pantulan gelombang suara dandigunakan untuk mendeteksikeberadaan suatu objek tertentudi depannya, frekuensi kerjanyapada daerah diatas gelombang

suara dari 40 KHz hingga 400KHz.

Prinsip kerja Sensor Ultrasonik

Sensor ultrasonik terdiri dari dari dua unit yaitu unit pemancar dan unit penerima.Struktur unit pemancar dan penerima sangatlah sederhana, sebuah kristal  piezoelectric 

dihubungkan dengan mekanik jangkar dan hanya dihubungkan dengan diafragma

penggetar. Tegangan bolak-balik yang memiliki frekuensi kerja 40 KHz – 400 KHz diberikan

pada plat logam. Struktur atom dari kristal  piezoelectric  akan berkontraksi (mengikat),

mengembang atau menyusut terhadap polaritas tegangan yang diberikan, dan ini disebut

dengan efek piezoelectric . Kontraksi yang terjadi diteruskan ke diafragma penggetar sehingga

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 174/275

terjadi gelombang ultrasonik yang dipancarkan ke udara (tempat sekitarnya), dan pantulan

gelombang ultrasonik akan terjadi bila ada objek tertentu, dan pantulan gelombang

ultrasonik akan diterima kembali oleh oleh unit sensor penerima. Selanjutnya unit sensor

penerima akan menyebabkan diafragma penggetar akan bergetar dan efek  piezoelectric 

menghasilkan sebuah tegangan bolak-balik dengan frekuensi yang sama.

Besar amplitudo sinyal elekrik yang dihasilkan unit sensor penerima tergantung dari

 jauh dekatnya objek yang dideteksi serta kualitas dari sensor pemancar dan sensor

penerima. Proses sensing  yuang dilakukan pada sensor ini menggunakan metode pantulan

untuk menghitung jarak antara sensor dengan obyek sasaran. Jarak antara sensor tersebut

dihitung dengan cara mengalikan setengah waktu yang digunakan oleh sinyal ultrasonik

dalam perjalanannya dari rangkaian Tx sampai diterima oleh rangkaian Rx, dengankecepatan rambat dari sinyal ultrasonik tersebut pada media rambat yang digunakannya,

 yaitu udara.

Waktu di hitung ketika pemencar aktif dan sampai ada input dari rangkaian penerima

dan bila pada melebihi batas waktu tertentu rangkaian penerima tidak ada sinyal input

maka dianggap tidak ada halangan didepannya.

Prinsip kerja dari sensor ultrasonik dapat ditunjukkan dalam gambar dibawah ini :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 175/275

Gambar 9.1 Prinsip Kerja Sensor Ultrasonik

Prinsip kerja dari sensor ultrasonik adalah sebagai berikut :

1. Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut berfrekuensi diatas20kHz, biasanya yang digunakan untuk mengukur jarak benda adalah 40kHz. Sinyal

tersebut di bangkitkan oleh rangkaian pemancar ultrasonik.

2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal /

gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal tersebut

kemudian akan dipantulkan dan akan diterima kembali oleh bagian penerima

Ultrasonik.

3 S l h i l b i di i l ik k di i l b k

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 176/275

3. Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal tersebut akan

diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus :

S = 340.t/2

Dimana S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t adalah

selisih waktu antara pemancaran gelombang ultrasonik sampai diterima kembali oleh bagianpenerima ultrasonik.

Pemancar Ultrasonik (Transmitter )

Pemancar Ultrasonik ini berupa rangkaian yang memancarkan sinyal sinusoidal

berfrekuensi di atas 20 KHz menggunakan sebuah transducer transmitter ultrasonic

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 177/275

Gambar 9.2. Rangkaian Pemancar Gelombang Ultrasonik

Prinsip kerja dari rangkaian pemancar gelombang ultrasonik tersebut adlah sebagai berikut :a) Sinyal 40 kHz dibangkitkan melalui mikrokontroler.

b) Sinyal tersebut dilewatkan pada sebuah resistor sebesar 3kOhm untuk pengaman

ketika sinyal tersebut membias maju rangkaian dioda dan transistor.

c) Kemudian sinyal tersebut dimasukkan ke rangkaian penguat arus yang merupakan

kombinasi dari 2 buah dioda dan 2 buah transistor.

d) Ketika sinyal dari masukan berlogika tinggi (+5V) maka arus akan melewati dioda D1

(D1 on) kem dian ar s terseb t akan membias transistor T1 sehingga ar s ang

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 178/275

(D1 on), kemudian arus tersebut akan membias transistor T1, sehingga arus yang

akan mengalir pada kolektotr T1 akan besar sesuai dari penguatan dari transistor.

e) Ketika sinyal dari masukan berlogika tinggi (0V) maka arus akan melewati dioda D2

(D2 on), kemudian arus tersebut akan membias transistor T2, sehingga arus yang

akan mengalir pada kolektotr T2 akan besar sesuai dari penguatan dari transistor.

f) Resistor R4 dan R6 berfungsi untuk membagi tengangan menjadi 2,5 V. Sehingga

pemancar ultrasonik akan menerima tegangan bolak – balik dengan Vpeak-peak

adalah 5V (+2,5 V s.d -2,5 V).

Penerima Ultrasonik (Receiver )

Penerima Ultrasonik ini akan menerima sinyal ultrasonik yang dipancarkan oleh

pemancar ultrasonik dengan karakteristik frekuensi yang sesuai. Sinyal yang diterima

tersebut akan melalui proses filterisasi frekuensi dengan menggunakan rangkaian band pass 

 filter  (penyaring pelewat pita), dengan nilai frekuensi yang dilewatkan telah ditentukan.

Kemudian sinyal keluarannya akan dikuatkan dan dilewatkan ke rangkaian komparator

(pembanding) dengan tegangan referensi ditentukan berdasarkan tegangan keluaran

penguat pada saat jarak antara sensor kendaraan mini dengan sekat/dinding pembatas

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 179/275

penguat pada saat jarak antara sensor kendaraan mini dengan sekat/dinding pembatas

mencapai jarak minimum untuk berbelok arah. Dapat dianggap keluaran komparator pada

kondisi ini adalah high  (logika ‘1’) sedangkan jarak yang lebih jauh adalah low  (logika’0’).

Logika-logika biner ini kemudian diteruskan ke rangkaian pengendali (mikrokontroler).

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 180/275

Gambar 9.3 Rangkaian Penerima Gelombang Ultrasonik.

Prinsip kerja dari rangkaian pemancar gelombang ultrasonik tersebut adalah sebagai

berikut :1. Pertama – tama sinyal yang diterima akan dikuatkan terlebih dahulu oleh rangkaian

transistor penguat Q2.

2. Kemudian sinyal tersebut akan di filter menggunakan High pass filter pada frekuensi >

40kHz oleh rangkaian transistor Q1.

3. Setelah sinyal tersebut dikuatkan dan di filter, kemudian sinyal tersebut akan

disearahkan oleh rangkaian dioda D1 dan D2.

4 Kemudian sinyal tersebut melalui rangkaian filter low pass filter pada frekuensi <

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 181/275

4. Kemudian sinyal tersebut melalui rangkaian filter low pass filter pada frekuensi <

40kHz melalui rangkaian filter C4 dan R4.

5. Setelah itu sinyal akan melalui komparator Op-Amp pada U3.

6. Jadi ketika ada sinyal ultrasonik yang masuk ke rangkaian, maka pada komparator

akan mengeluarkan logika rendah (0V) yang kemudian akan diproses olehmikrokontroler untuk menghitung jaraknya.

Rangkaian Dasar Sensor Ultrasonik

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 182/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 183/275

Aplikasi Pengukur Jarak

#include <mega32.h>#include <delay.h>

#include <stdlib.h>

#include <lcd.h>

#asm

.equ __lcd_port=0x15 //port c

#endasm

unsigned char data, str_data[4];

// External Interrupt 2 service routine

i t t [EXT INT2] id t i t2 i ( id)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 184/275

interrupt [EXT_INT2] void ext_int2_isr(void)

{

data=TCNT0;

delay_ms(500);

itoa(data, str_data);

lcd_clear();

lcd_gotoxy(0, 0);

lcd_puts(str_data);

}

void main(void)

{

DDRB.0=1; //PORTB.0 pin TRIGER; PORTB.2 PIN ECHO INT2;DDRB.1=0;

PORTB=0x00;

// Timer/Counter 0 initialization

TCCR0=0x05;

TCNT0=0x00;

OCR0=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 185/275

// INT1: Off

// INT2: On

// INT2 Mode: Falling Edge

GICR|=0x20;

MCUCR=0x00;

MCUCSR=0x00;

GIFR=0x20;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

lcd_init(16);

lcd_clear();

lcd_gotoxy(0, 0);

// clear the LCD

lcd_putchar(200);

// Global enable interrupts

#asm("sei")

while(1)

{

PORTB.0=1; delay_us(10);

PORTB.0=0;

TCNT0=0x00;delay_ms(36);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 186/275

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 187/275

Remote control adalah sebuah alat elektronik yang digunakan untukmengoperasikan sebuah mesin dari jarak jauh. Pada umumnya, pengendali

 jarak jauh digunakan untuk memberikan perintah dari kejauhan kepada

televisi atau barang-barang elektronik lainnya seperti sistem stereo dan

pemutar DVD. Remote control untuk perangkat-perangkat ini biasanya

berupa benda kecil nirkabel yang dipegang dalam tangan dengan sederetantombol untuk menyesuaikan berbagai setting, seperti misalnya saluran

televisi, nomor trek, dan volume suara. Malah, pada kebanyakan peranti

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 188/275

televisi, nomor trek, dan volume suara. Malah, pada kebanyakan peranti

modern dengan kontrol seperti ini, remote controlnya memiliki segala kontrol

fungsi sementara perangkat yang dikendalikan itu sendiri hanya mempunyai

sedikit kontrol utama yang mendasar. Kebanyakan remote berkomunikasi

dengan perangkatnya masing-masing melalui sinyal-sinyal infra merah dan

beberapa saja melalui sinyal radio. Remote control biasanya menggunakan

baterai AAA yang kecil atau AA sebagai catu dayanya.

Remote Transmitter adalah merupakan pemancar jarak jauh. Yang manasemua remote  kontrol menggunakan transmisi sinyal infra merah yang

dimodulasi dengan sinyal carrier dengan frekuensi tertentu yaitu pada frekuensi30KHz sampai 40KHz. Sinyal yang dipancarkan oleh pengirim diterima olehpenerima infra merah dan kemudian didecode kan sebagai sebuah paket databiner. Pada transmisi infra merah terdapat dua terminologi yang sangat penting yaitu : ‘ space ’ yang menyatakan tidak ada sinyal carrier  dan ‘  pulse ’ yang

menyatakan ada sinyal carrier.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 189/275

Remote Receiver adalah merupakan penerima jarak jauh. Dalam hal ini

sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya

mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan

baik di penerima. Oleh karena itu baik di pengirim infra merah maupun penerima

infra merah harus mempunyai aturan yang sama dalam mentransmisikan (bagian

pengirim) dan menerima sinyal tersebut kemudian mendekodekannya kembali

menjadi data biner (bagian penerima). Komponen yang dapat menerima infra

merah ini merupakan komponen yang peka cahaya yang dapat berupa dioda

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 190/275

(photodioda) atau transistor (phototransistor). Komponen ini akan merubah energi

cahaya, dalam hal ini energi cahaya infra merah, menjadi pulsa-pulsa sinyal

listrik. Komponen ini harus mampu mengumpulkan sinyal infra merah sebanyak

mungkin sehingga pulsapulsa sinyal listrik yang dihasilkan kualitasnya cukup

baik. Pada perangkat ini detektor cahaya yang digunakan adalah komponen

 TSOP4838, dimana pada komponen ini sudah terdapat filter. Jadi detektor ini

akan bekerja dengan baik jika terdapat frekuensi 38KHz.

Berikut contoh rangkaian dasar sensor infra red

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 191/275

Berikut contoh desain PCB nya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 192/275

Berikut contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 193/275

Berikut contoh desainnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 194/275

Berikut contoh desain PCB nya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 195/275

Berikut contoh yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 196/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 197/275

#include <mega32.h>

#include <delay.h>

// Declare your global variables here

unsigned char value, i, j, tx=0, data=0;

void tx_ir(unsigned char send)

{

if (send==1)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 198/275

{

for (j=0; j<25; j++)

{

PORTB.0=0;

delay_us(13);

PORTB.0=1;

delay_us(13);

}

}

else

{

for (j=0; j<25; j++)

{

PORTB.0=0;

delay_us(13);

PORTB.0=0;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 199/275

delay_us(13);

}

}

}

void main(void)

{

PORTB=0x00;

DDRB=0x00;

PORTB.0=0;

DDRB.0=1;

value=170;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 200/275

while (1)

{

data=value;

tx_ir(1);

for (i=0;i<8;i++)

{

if (data&0x01) tx=1; else tx=0; //data 8 bit

data>>=1;

tx_ir(tx);

}

tx_ir(0);

PORTB.0=0;

value++;

delay_ms(1000);

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 201/275

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 202/275

Gelombang radio adalah satu bentuk dari radiasi elektromagnetik, dan terbentuk

ketika objek bermuatan listrik dimodulasi (dinaikkan frekuensinya) pada frekuensi yang

terdapat dalam frekuensi gelombang radio (RF) dalam suatu spektrum elektromagnetik, dan

radiasi elektromagnetiknya bergerak dengan cara osilasi elektrik maupun

magnetik.Gelombang elektromagnetik lainnya, yang memiliki frekuensi di atas gelombang

radio meliputi sinar gamma, sinar-X, inframerah, ultraviolet, dan cahaya terlihat.

Ketika gelombang radio dipancarkan melalui kabel, osilasi dari medan listrik dan magnetik

tersebut dinyatakan dalam bentuk arus bolak-balik dan voltase di dalam kabel. Hal ini

kemudian dapat diubah menjadi signal audio atau lainnya yang membawa informasi.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 203/275

Frekuensi adalah ukuran jumlah putaran ulang per peristiwa dalam selang waktu

 yang diberikan. Untuk memperhitungkan frekuensi, seseorang menetapkan jarak waktu,

menghitung jumlah kejadian peristiwa, dan membagi hitungan ini dengan panjang jarakwaktu. Hasil perhitungan ini dinyatakan dalam satuan hertz (Hz) yaitu nama pakar fisika

 Jerman Heinrich Rudolf Hertz yang menemukan fenomena ini pertama kali. Frekuensi

sebesar 1 Hz menyatakan peristiwa yang terjadi satu kali per detik.

Secara alternatif, seseorang bisa mengukur waktu antara dua buah kejadian/peristiwa (dan menyebutnya sebagai periode), lalu memperhitungkan frekuensi ( f  ) sebagai

hasil kebalikan dari periode (T ), seperti nampak dari rumus di bawah ini :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 204/275

RFM12B

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 205/275

Berikut adalah sedikit penjelasan mengenai konfigurasi port nya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 206/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 207/275

Berikut contoh gambar desain PCBnya:

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 208/275

Berikut contoh gambar yang sudah jadi :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 209/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 210/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 211/275

Berikut contoh kode program komunikasi RF menggunakan modul RFM12B

Program pengirim data Terlebih dahulu buat source baru, save dengan nama Rx.c/**********************************************************************************

/* RFM12B INTERFACE */

#define SCK 3 // SPI clock

#define SDO 1 // SPI Data output (RFM12B side)

#define SDI 2 // SPI Data input (RFM12B side)

#define CS 4 // SPI SS (chip select)

#define NIRQ 2 // (PORTD)

/* IO CONTROL */

#define HI(x) PORTB |= (1<<(x))

#define LO(x) PORTB &= ~(1<<(x))

#define WAIT_NIRQ_LOW() while(PIND&(1<<NIRQ))

/**********************************************************************************

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 212/275

/**********************************************************************************

void portInit()

{

HI(CS);HI(SDI);

LO(SCK);

DDRB = (1<<CS) | (1<<SDI) | (1<<SCK);

}

/**********************************************************************************

unsigned int writeCmd(unsigned int cmd)

{

unsigned char i;

unsigned int recv;

recv = 0;

LO(SCK);

LO(CS);

for(i=0; i<16; i++)

{

if(cmd&0x8000)

HI(SDI);

elseLO(SDI);

HI(SCK);

recv<<=1;

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 213/275

if( PINB&(1<<SDO) )

{

recv|=0x0001;

}

LO(SCK);

cmd<<=1;

}

HI(CS);

return recv;

}

/**********************************************************************************

void rfInit()

{

writeCmd(0x80E7); // EL,EF,868band,12.0pFwriteCmd(0x8299); // er,!ebb,ET,ES,EX,!eb,!ew,DC (bug was

here)

writeCmd(0xA640); // freq select

writeCmd(0xC647); // 4.8kbps

writeCmd(0x94A0); // VDI,FAST,134kHz,0dBm,-103dBm

writeCmd(0xC2AC); // AL,!ml,DIG,DQD4

writeCmd(0xCA81); // FIFO8,SYNC,!ff,DR (FIFO level = 8)

writeCmd(0xCED4); // SYNC=2DD4;

writeCmd(0xC483); // @PWR,NO RSTRIC,!st,!fi,OE,ENwriteCmd(0x9850); // !mp,90kHz,MAX OUT

writeCmd(0xCC17); // !OB1,!OB0, LPX,!ddy,DDIT,BW0

writeCmd(0xE000); // NOT USED

writeCmd(0xC800); // NOT USED

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 214/275

writeCmd(0xC040); // 1.66MHz,2.2V

}

/**********************************************************************************

unsigned char rfRecv()

{

unsigned int data;

while(1)

{

data = writeCmd(0x0000);

if ( (data&0x8000) )

{

data = writeCmd(0xB000);

return (data&0x00FF);

}

}}

/**********************************************************************************

i

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 215/275

void FIFOReset()

{

writeCmd(0xCA81);

writeCmd(0xCA83);

}

Program utama main.c

#include <mega32.h>

#include <delay.h>

#include <stdio.h>

#include <RX.c>

unsigned char dataRF[25];

void main(void)

{

unsigned char i;

// USART Baud Rate: 115200

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 216/275

//

UCSRA=0x00;

UCSRB=0x18;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x03;

delay_ms(2000);

putchar(200);

portInit();

rfInit();

FIFOReset();

putchar(255);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 217/275

while(1)

{

for (i=0; i<5; i++)

{

dataRF[i] = rfRecv(); // Saving to Array

}

FIFOReset();

for (i=0; i<5; i++)

{

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 218/275

putchar(dataRF[i]); // Send to UART

}

printf("\r\n");

}

}

Contoh kode program pengirim atau transmitter.

Buat source baru dan simpan dengan nama Tx.c

/*********************************************************************************/

#define SCK 3 // SPI clock

#define SDO 1 // SPI Data output (RFM12B side)

#define SDI 2 // SPI Data input (RFM12B side)

#define CS 4 // SPI SS (chip select)

#define NIRQ 2 // (PORTD)

/* IO CONTROL */

#define HI(x) PORTB |= (1<<(x))

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 219/275

#define LO(x) PORTB &= ~(1<<(x))

#define WAIT_NIRQ_LOW() while(PIND&(1<<NIRQ))

/*********************************************************************************/

void portInit()

{

HI(CS);

HI(SDI);

LO(SCK);

DDRB = (1<<CS) | (1<<SDI) | (1<<SCK);

DDRD.2=0;

PORTD.2=1;

}

/*********************************************************************************/

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 220/275

unsigned int writeCmd(unsigned int cmd)

{

unsigned char i;

unsigned int recv;

recv = 0;

LO(SCK);

LO(CS);

for(i=0; i<16; i++)

{

if(cmd&0x8000)

HI(SDI);

else

LO(SDI);

HI(SCK);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 221/275

recv<<=1;

if( PINB&(1<<SDO) )

{

recv|=0x0001;

}

LO(SCK);

cmd<<=1;

}

HI(CS);

return recv;

}

/*********************************************************************************/

void rfInit()

{

writeCmd(0x80E7); // EL,EF,868band,12.0pF

writeCmd(0x8239); // !er,!ebb,ET,ES,EX,!eb,!ew,DC

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 222/275

writeCmd(0xA640); // frequency select

writeCmd(0xC647); // 4.8kbps

writeCmd(0x94A0); // VDI,FAST,134kHz,0dBm,-103dBm

writeCmd(0xC2AC); // AL,!ml,DIG,DQD4

writeCmd(0xCA81); // FIFO8,SYNC,!ff,DR

writeCmd(0xCED4); // SYNC=2DD4

writeCmd(0xC483); // @PWR,NO RSTRIC,!st,!fi,OE,EN

writeCmd(0x9850); // !mp,90kHz,MAX OUT

writeCmd(0xCC17); // OB1, COB0, LPX, Iddy, CDDIT CBW0

writeCmd(0xE000); // NOT USED

writeCmd(0xC800); // NOT USED

writeCmd(0xC040); // 1.66MHz,2.2V

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 223/275

void rfSend(unsigned char data)

{

WAIT_NIRQ_LOW();

writeCmd(0xB800 + data);

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 224/275

Contoh kode program pada main.c

#include <mega32.h>

#include <delay.h>

#include <TX.c>

void main()

{

volatile unsigned int i;

// asm("cli");

delay_ms(2000);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 225/275

portInit();

rfInit();

while(1)

{

writeCmd(0x0000);

rfSend(0xAA); // PREAMBLE

rfSend(0xAA);

rfSend(0xAA);

rfSend(0x2D); // SYNC 0x2DD4

rfSend(0xD4);

for(i=0; i<5; i++) //send data 5 byte

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 226/275

{

rfSend(0x41+i);

}

rfSend(0xAA); // DUMMY BYTES

rfSend(0xAA);

rfSend(0xAA);

delay_ms(200);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 227/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 228/275

RTC (real time clock) merupakan IC yang dapat menyimpan setting waktu. sebagai

contoh saat sebuah komputer di matikan selama 3 hari misalnya. maka saat kita ON kan

lagi waktu dalam komputer masih menunjukkan waktu saat itu, waktu tidak mengalami

kelambatan walaupun selama 3 hari tanpa sumber tegangan.

RTC merupakan IC yang dapat mempertahan setting waktu. Ada 2 macam tipe IC RTC

 yaitu serial dan pararel. Untu schema di atas merupakan serial RTC. Agar waktunya sesuaistandar maka diperlukan xtal eksternal 32.768 kHz. Saat supply utama OFF IC akan dapat

suplly dari Baterai sehingga setting waktu tetap jalan. IC ini haruslah terkoneksi ke sebuah

mokrokontroler.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 229/275

Real Time Clock berhubungan dengan waktu mulai dari detik, menit, jam, hari, tanggal,

bulan dan tahun. Tetapi IC RTC ini juga bisa dipakai untuk menyimpan data di dalam

internal RAM RTC ini, di mana data tersebut tidak bisa hilang meskipun supply diputus, hal

ini karena di dalam IC RTC tersebut ada battery-nya yang selalu hidup untuk menjalankan

clock -nya jadi waktu (clock ) tetap berjalan meskipun supply  dimatikan. IC RTC ini masih

mempunyai kelebihan bisa dipakai sebagai timer atau alarm . Untuk hitungan detik, menit,

 jam, hari, tanggal, bulan dan tahun dengan tahun kabisat yang valid  sampai 2100 karena

compensation valid up to 2100. Mode  yang dipilih juga bisa 12 or 24 hour clock with AM dan

PM in 12 hour mode .

RTC 1307 menggunakan teknik I2C yaitu memakai 2 jalur untuk keperluan transfer

data secara seri, sedangkan SPI dan MicroWire memakai 3 jalur. Semua teknik mempunyai 1

 jalur untuk Clock, I2C hanya punya satu jalur data 2 arah, sedangkan SPI dan MicroWire

mempunyai 2 jalur data satu arah, masing-masing untuk jalur data masuk dan jalur data

keluar.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 230/275

KONFIGURASI PIN

Untuk lebih jelas mengenai fungsi dan kegunaan dari IC ini terlebih dahulu akan dijelaskan

fungsi dari tiap-tiap pin pada IC keluarga DS1307, di mana diketahui bahwa IC DS1307

memiliki 8 pin atau kaki, seperti pada Gambar 12.1.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 231/275

Gambar 12.1 Pin-pin IC DS1307

Fungsi dari tiap pin RTC DS1307 antara lain :

1. X1, X2 Terhubung dengan kaki kristal 32768kHz

2. Vbat Terhubung dengan battery 3,3 volt

3. GND, Vcc Input tegangan Vcc adalah +5V.

4. SQW (Square Wave Output )Pin SQW dapat mengeluarkan sinyal salah satu dari 13

taps  yang disediakan oleh 15 tingkat pembagi internal dari RTC.

5. SCL Pin SCL mengeluarkan sinyal clock. Pin ini harus diberi resistor Pull Up.

6. SDA Pin SCL mengeluarkan sinyal data

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 232/275

Pembuatan rankaian sederhana RTC DS1307

Alat dan bahan :

1. RTC DS1307 1 buah. 6. Soket IDC 10 buah. 11. Tenol.

2. Resistor 3 buah. 7. Black housing 10 buah.

3. Kapasitor 1 buah. 8. Kabel IDC.

4. Batteray. 9. PCB 5x4 cm.

5. Konektor IDC single 5 pin. 10. Solder.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 233/275

Rangkaian dasar RTC

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 234/275

Contoh rangkaian yang sudah jadi

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 235/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 236/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 237/275

Berikut adalah contoh kode program baca tulis data RTC

#asm

.equ __lcd_port=0x15 // PortC

.equ __i2c_port=0x1b // PortA

.equ __scl_bit=1

.equ __sda_bit=0

#endasm

#include <mega32.h>

#include <delay.h>

#include <stdlib.h>

#include <lcd.h>#include <ds1307.h>

#include <i2c.h>

unsigned char detik, menit, jam, str_detik[4], str_menit[4], str_jam[4];

unsigned char tanggal, bulan, tahun, str_tanggal[4], str_bulan[4], str_tahun[5];

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 238/275

void main(void)

{

lcd_init(16);

lcd_gotoxy(0, 0);

lcd_putsf("Latihan RTC");

i2c_init();

rtc_init(0,0,0);

rtc_set_time(0,0,0); // SET JAM

rtc_set_date(11,12,2011); // SET TANGGAL

delay_ms(1000);

while (1)

{

rtc_get_time(&jam,&menit,&detik); // Read Time

if(detik==0)

{

lcd_clear();

lcd_gotoxy(0, 0);lcd_putsf("Latihan RTC");

}

str_jam[0]=(jam/10)+48;

str_jam[1]=jam%10+48;

lcd_gotoxy(0, 1);

l d t ( t j )

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 239/275

lcd_puts(str_jam);

lcd_gotoxy(2,1);

lcd_puts(":");

str_menit[0]=(menit/10)+48;

str_menit[1]=menit%10+48;

lcd_gotoxy(3, 1);

lcd_puts(str_menit);

lcd_gotoxy(5,1);

lcd_puts(":");

str_detik[0]=(detik/10)+48;

str_detik[1]=detik%10+48;

lcd_gotoxy(6, 1);

lcd_puts(str_detik);

delay_ms(1000);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 240/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 241/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 242/275

EPROM (Electrically Erasable Programmable Read-Only Memory, ditulis pula

dengan E2PROM) adalah sejenis chip memori tidak terhapus yang digunakan

dalam komputer dan peralatan elektronik lain untuk menyimpan sejumlah konfigurasi data

pada alat elektronik tersebut yang tetap harus terjaga meskipun sumber daya diputuskan,

seperti tabel kalibrasi atau kofigurasi perangkat.

Kelebihan utama dari EEPROM dibandingkan EPROM adalah ia dapat dihapus secara

elektris tanpa menggunakan cahaya ultraviolet sehingga prosesnya lebih cepat. Jika RAMtidak memiliki batasan dalam hal read-write memori, maka EEPROM sebaliknya. Beberapa

 jenis EEPROM keluaran pertama hanya dapat dihapus dan ditulis ulang (erase-rewrite)

sebanyak 100 kali sedangkan model terbaru bisa sampai 100.000 kali.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 243/275

AT24C32

Serial EEPROM tipe 24xx adalah merupakan memori serial yang menggunakanteknologi I2C di mana dengan adanya penggunaan teknologi tersebut, hanya membutuhkan

 jumlah I/O yang digunakan untuk meng-akses memori tersebut semakin sedikit. Hal ini

tentunya sangat bermanfaat bagi sebuah sistem yang memerlukan banyak I/O. Penggunaan

I/O yang semakin sedikit untuk mengakses memori, akan menyediakan lebih banyak I/O

 yang dapat digunakan untuk keperluan lain. I2C adalah teknologi komunikasi serial yangditemukan oleh Philips pada tahun 1992 dan direvisi hingga versi 2.1 yang terbaru pada

tahun 2000. Teknologi ini hanya menggunakan 2 buah jalur I/O yaitu SDA dan SCL SDA

merupakan jalur data pada komunikasi I2C

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 244/275

SCL merupakan jalur clock di mana sinyal clock akan selalu muncul untuk setiap bit

dari pengiriman data. Komunikasi I2C diciptakan oleh Philips bukan hanya untuk Serial

EEPROM melainkan juga diperuntukkan bagi komponen-komponen lain yang mempunyaikemampuan untuk diakses secara I2C. Oleh karena itu, untuk membedakan antara Serial

EEPROM dengan komponen-komponen yang lain digunakan Slave Address yang

menunjukkan identitas dari komponen tersebut. Dalam hal ini Serial EEPROM mempunyai

kode 1010.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 245/275

Berikut table kapasitas EEPROM seri 24C32

Type Kapasitas

AT24C01 128 byte

AT24C02 256 byte

AT24C04 512 byte

AT24C08 1 Kbyte

AT24C16 2 Kbyte

AT24C32 4 Kbyte

AT24C64 8 Kbyte

AT24C128 16 Kbyte

AT24C256 32 Kb

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 246/275

AT24C256 32 Kbyte

AT24C512 64 Kbyte

Rangkaian dasar EEPROM menggunakan AT24C32

Alat dan bahan :

1. IC AT24C32 I buah.

2. Resistor 10K ohm 2 buah.

3. Konektor IDC single 4 pin.

4. Soket IDC 8 buah.

5. Black housing 8 buah.

6. Kabel IDC.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 247/275

7. PCB 5x4 cm.

8. Solder.

9. Tenol.

Berikut adalah gambar designnya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 248/275

Berikut contoh gambar desain PCB nya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 249/275

Berikut contoh rangkaian yang sudah jadi

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 250/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 251/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 252/275

 Terlebih dahulu buat source baru dan simpan dengan nama I2Croutin.c, berikut adalahkode programnya :/* *******************************************************************************

write a byte to the EEPROM

************************************************************************* */

void eeprom_write(unsigned int address, unsigned char data)

{

unsigned char addrH=address/256;

unsigned char addrL=address%256;

i2c_start();

i2c_write(AT24C32_Bus_Addr);

i2c_write(addrH);i2c_write(addrL);

i2c_write(data);

i2c_stop();

delay_ms(10);

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 253/275

/* **************************************************************************

read a byte from the EEPROM

******************************************************************/

unsigned char eeprom_read(unsigned int address)

{unsigned char addrH=address/256;

unsigned char addrL=address%256;

unsigned char data;

i2c_start();

i2c_write(AT24C32_Bus_Addr);

i2c_write(addrH);

i2c_write(addrL);

i2c_start();

i2c_write(AT24C32_Bus_Addr | 1);

data=i2c_read(0);

i2c_stop();

return data;

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 254/275

}

Berikut contoh kode program pana main.c

/*****************************************************

Project : Test Memory AT24C32

Version : 1.0.0

Date : 09 mei 2010

Author : Uwiex

Company : Multi-Tech Aji Perkasa

Comments : Book Section

Chip type : ATmega32

Program type : Application

Clock frequency : 12.00000000 MHz

Memory model : Small

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 255/275

Memory model : Small

External RAM size : 0

Data Stack size : 512

*****************************************************/

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 256/275

#include <mega32.h>

#include <stdio.h>

#include <Delay.h>

#include <string.h>

#include <lcd.h>

#include <i2c.h>

#include <I2C Routine.c>

void main(void)

{

delay_ms(500);

lcd_init(16);

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 257/275

lcd_clear(); // Inisialisasi LCD

lcd_gotoxy( 0,0); lcd_putsf("Mulai...."); // Menulis di Kolom

0 Baris 0

/*

eeprom_write(512,'A');

eeprom_write(513,'B');

eeprom_write(514,'C');

eeprom_write(515,'D');

*/

// DataAddr=0;

// for (Counter=0; Counter<strlenf(NoID); Counter++)

// eeprom_write(DataAddr+Counter,NoID[Counter]);

lcd_gotoxy( 0,1); lcd_putchar(eeprom_read(15));

while (1)

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 258/275

{

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 259/275

Dalam ilmu komputer dan ilmu telekomunikasi, komunikasi serial adalah proses dari

pengiriman data satu bit dalam satu waktu secara sekuensial melalui kanal komunikasi atau

bus pada komputer. Hal ini tentunya sangat kontras dengan komunikasi paralel, dimana

beberapa bit dikirimkan secara bersamaan pada sebuah jalur yang terdiri dari beberapa

kanal berkabel yang tersusun paralel. Komunikasi serial digunakan untuk semua

komunikasi long-haul dan kebanyakan jaringan komputer dimana biaya untuk kabel dan

kesulitan sinkronisasi membuat komunikasi paralel tidak praktis. Pada jarak yang lebih

dekat, bus serial pada komputer menjadi lebih umum digunakan karena kekurangan dari

bus paralel, misalnya ketidakcocokan clock dan densitas interkoneksi, mengalahkan

kelebihannya, yaitu tidak perlu ada proses serialisasi dan deserialisasi (serializer and

deserializer/SERDES). Teknologi yang berkembang untuk memastikan integritas sinyal dan

untuk mengirim dan menerima pada kecepatan per jalur yang cukup tinggi telah membuat

jalur-jalur serial menjadi kompetitif

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 260/275

 jalur jalur serial menjadi kompetitif.

FTDI chip sendiri adalah sirkuit terpadu yang

merupakan komponen umum pada perangkat elektronik

menggunakan mikrokontroler. FTDI adalah spesialis dalam

mengkonversi peripheral warisan untuk Universal Serial

Bus (USB), menawarkan rute termudah ke USB migrasi

dengan menggabungkan USB-Serial (USB-RS232) dan USB-

FIFO silikon solusi dengan royalti siap-pergi mereka bebas USB driver. Populer FTDI USB

solusi konversi menawarkan mengurangi biaya pengembangan dan debug dan waktu yang

cepat ke pasar. Para FT232R dan FT245R adalah tambahan terbaru untuk jangkauan

tumbuh USB toUART dan USB untuk solusi FIFO konversi.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 261/275

tumbuh USB toUART dan USB untuk solusi FIFO konversi.

Rangkaian dasar FTDI FT232

Alat dan bahan :

1. Con USB 1 Pcs.

2. Kapasitor 1 Pcs.

3. FTDI FT232 1 Pcs.

4. Konektor IDC single 4 pin.

5. Pcb 5x3cm.

6. Solder.

7. Tenol.

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 262/275

Contoh gambar desain PCB nya :

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 263/275

Contoh rangkaian FTDI yang sudah jadi

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 264/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 265/275

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 266/275

 Terlebih dahulu buat source baru, simpan dengan nama app USART.c

/*

===================================================================================

Inisialisasi USART Interrupt

Register UCSRA (USART Control and Status Register A):

Bit - Description

7 - RXC - USART Receive Complete

6 - TXC - USART Transmit Complete

5 - UDRE - USART Data Register Empty

4 - FE - Frame Error

3 - DOR - Data OverRun

2 - PE - Parity Error

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 267/275

2 PE Parity Error

1 - U2X - Double the USART Transmission Speed

0 - MPCM - Multi-Processor Communication Mode

Register UCSRB (USART Control and Status Register B):

Bit - Description

7 - RXCIE - RX Complete Interrupt Enable

6 - TXCIE - TX Complete Interrupt Enable

5 - UDREIE - USART Data Register Empty Interrupt Enable

4 - RXEN - Receiver Enable

3 - TXEN - Transmitter Enable

2 - UCSZ2 - Character Size

1 - RXB8 - Receive Data 8 bit

0 - TXB8 - Transmit Data 8 bit

Register UCSRC (USART Control and Status Register C):

Bit - Description

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 268/275

7 - URSEL - Register Select

6 - UMSEL - USART Mode Select

USSEL Description

0 - Asyncronous Operation

1 - Syncronous Operation

5-4 - UPM1:0 - Parity Mode

UPM1 UPM0 Description

0 0 Disable / No Parity

0 1 Reserved

1 0 Enable, Even Parity

1 1 Enable, Odd Parity

3 - USBS - Stop bit Select

USBS Description

0 - 1-bit

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 269/275

1 - 2-bit

2-1 - UCSZ1:0 - Character Size

UCSZ2 UCSZ2 UCSZ2 Description

0 0 0 5-bit

0 0 1 6-bit

0 1 0 7-bit

0 1 1 8-bit

1 0 0 Reserved

1 0 1 Reserved

1 1 0 Reserved

1 1 1 9-bit

0 - UCPOL - Clock Polarity

UCPOL Description

0 - Rising XCK Edge

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 270/275

1 - Falling XCK Edge

=================================================================================*/

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 271/275

UCSRB=0b10011000; // 0x98 With

Interrupt

UCSRC=0b10000110; // 0x86

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 272/275

Berikut contoh kode program pada main.c

unsigned char k;

#asm

.equ __lcd_port=0x15 // PortC

#endasm

#include <mega32.h>

#include <stdio.h>

#include <delay.h>

#include <lcd.h>

#include <app USART.c>

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 273/275

void main(void)

{

InitUSART(0);

lcd_init(16);

lcd_gotoxy(0, 0);

lcd_putsf("USB to Serial");

while (1)

{

// putchar('A'); // Send 'A' to USART

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 274/275

puts("Selamat Mencoba"); // Send 'A' to USART

delay_ms(1000);

k=getchar(); // Waiting data

lcd_gotoxy(0, 1);

lcd_putchar(k);

}

}

8/18/2019 Mini32 - Standard Format

http://slidepdf.com/reader/full/mini32-standard-format 275/275