Anda di halaman 1dari 11

IRWAN SYARIFUDIN

CHRISTINE SANI
TKJ 5

1. Code VisionAVR
CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan
fasilitas Integrated Development Environment (IDE) dan didesain agar dapat
menghasilkan kode program secara otomatis untuk mikrokontroler Atmel AVR. Program
ini dapat berjalan dengan menggunakan sistem operasi Windows XP, Vista, Windows 7,
dan Windows 8, 32-bit dan 64-bit. Software In-System Programmer didesain untuk
bekerja ketika dihubungkan dengan development board STK500, STK600, AVRISP mkII,
AVR Dragon, AVRProg (AVR910 application note), Atmel JTAGICE mkII, Kanda
System STK200+STK300, Dontronics DT006, Vogel Elektronik VTEC-SIP, Futurlec
JRAVR and MicroTronics ATCPU, dan Mega2000.
CodeVisionAVR dapat menghasilkan kode program secara otomatis melalui fasilitas
CodeWizardAVR Automatic Program Generator. Dengan adanya fasilitas ini maka
penulisan program dapat dilakukan dengan cepat dan lebih efisien. Seluruh kode dapat
diimplementasikan dengan fungsi sebagai berikut : Identifikasi sumber reset

Mengatur akses memori eksternal

Inisialisasi port input/output

Inisialisasi interupsi eksternal

Inisialisasi timer/counter dan watchdog timer

Inisialisasi USART dan interupsi buffer untuk komunikasi serial

Inisialisasi komparator analog dan ADC

Inisialisasi interface SPI dan two wire interface (TWI)

Inisialisasi interface CAN

Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat DS1621, dan real
time clock PCF8563, PCF8583, DS1302, DS1307

Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20

Inisialisasi modul LCD

- Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari
Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri. Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula
yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah dipelajari.
Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang
mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam
Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan
bantuan pustaka-pustaka (libraries) Arduino. Arduino juga menyederhanakan proses
bekerja dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara
lain:

Arduino biasanya dijual relatif murah (antara 125ribu hingga 400ribuan rupiah saja)
dibandingkan dengan platform mikrokontroler pro lainnya. Jika ingin lebih murah lagi,
tentu bisa dibuat sendiri dan itu sangat mungkin sekali karena semua sumber daya untuk
membuat sendiri Arduino tersedia lengkap di website Arduino bahkan di website-website
komunitas Arduino lainnya. Tidak hanya cocok untuk Windows, namun juga cocok
bekerja di Linux.

- Sederhana dan mudah pemrogramannya Perlu diketahui bahwa lingkungan


pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi
mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan
pemrograman Processing, sehingga jika mahasiswa atau murid-murid terbiasa
menggunakan Processing tentu saja akan mudah menggunakan Arduino.

- Perangkat lunaknya Open Source Perangkat lunak Arduino IDE dipublikasikan sebagai
Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih
lanjut. Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang
berbasis pada Bahasa C untuk AVR.

- Perangkat kerasnya Open Source Perangkat keras Arduino berbasis mikrokontroler


ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru
ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa
menjualnya) perangkat keras Arduino ini, apalagi bootloader tersedia langsung dari
perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat
perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.

- KELEBIHAN ARDUINO

- Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloadder yang
akan menangani upload program dari komputer.
Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang tidak memiliki
port serial/RS323 bisa menggunakannya.
Memiliki modul siap pakai ( Shield ) yang bisa ditancapkan pada board arduino.
Contohnya shield GPS, Ethernet,dll.

- SOKET USB
Soket USB adalah soket kabel USB yang disambungkan kekomputer atau laptop. Yang
berfungsi untuk mengirimkan program ke arduino dan juga sebagai port komunikasi
serial.

- INPUT/OUTPUT DIGITAL DAN INPUT ANALOG


Input/output digital atau digital pin adalah pin pin untuk menghubungkan arduino dengan
komponen atau rangkaian digital. contohnya , jika ingin membuat LED berkedip, LED
tersebut bisa dipasang pada salah satu pin input atau output digital dan ground. komponen
lain yang menghasilkan output digital atau menerima input digital bisa disambungkan ke
pin pin ini.
Input analog atau analog pin adalah pin pin yang berfungsi untuk menerima sinyal dari
komponen atau rangkaian analog. contohnya , potensiometer, sensor suhu, sensor cahaya,
dll.

- CATU DAYA
pin pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian
yang dihubungkan dengan arduino. Pada bagian catu daya ini pin Vin dan Reset. Vin
digunakan untuk memberikan tegangan langsung kepada arduino tanpa melalui tegangan
pada USB atau adaptor, sedangkan Reset adalah pin untuk memberikan sinyal reset
melalui tombol atau rangkaian eksternal.

- Baterai / Adaptor
Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan tegangan dari
baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer. Jika
arduino sedang disambungkan kekomputer dengan USB, Arduino mendapatkan suplai
tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram
arduino.

-
- Pushbutton
Push button
switch
(saklar
tombol
tekan)
adalah
perangkat /
saklar
sederhana
yang berfungsi
untuk

menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock
(tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device
penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak
ditekan (dilepas), maka saklar akan kembali pada kondisi normal.

Contoh Program :

NOTES:

Hubungkan 5V dan GND dari Arduino ke Breadboard.


Hubungkan kaki pertama button ke 5V dan kaki ke-2 ke kaki pertama resitor 10k.
Hubungkan kaki ke-2 resistor 10k ke GND.
Hubungkan pin 2 Arduino ke kaki ke-2 button.
Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.
Variabel int buttonState=0; digunakan untuk menentukan nilai awal yang terbaca
adalah 0 atau LOW.
Variabel baru buttonState = digitalRead(buttonPin); digunakan untuk menyimpan nilai baca
dari buttonPin kedalam variabel buttonState.
digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital
(LOW=GND, HIGH=5V).
if (buttonState == HIGH) digunakan untuk menampilkan jika nilai
dari buttonState adalah HIGH, maka lampu LED akan menyala digitalWrite(ledPin, HIGH);
else jika tidak maka lampu LED akan mati digitalWrite(ledPin, LOW);

- Led
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika
yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED
merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya
yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang
dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh
mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control
perangkat elektronik lainnya.

Contoh Program :
void setup() {
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pins:
for (int thisPin = 2; thisPin < 7; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}

void loop() {
// read the sensor:
if (Serial.available() > 0) {
int inByte = Serial.read();
// do something different depending on the character received.
// The switch statement expects single number values for each case;
// in this exmaple, though, you're using single quotes to tell
// the controller to get the ASCII value for the character. For
Lampu lalu
// example 'a' = 97, 'b' = 98, and so forth:
lintas
Contoh switch (inByte) {
case 'a':
program :
digitalWrite(2, HIGH);
break;
case 'b':
digitalWrite(3, HIGH);
break;
case 'c':
digitalWrite(4, HIGH);
break;
case 'd':
digitalWrite(5, HIGH);
break;
case 'e':
digitalWrite(6, HIGH);
break;
default:
// turn all the LEDs off:
for (int thisPin = 2; thisPin < 7; thisPin++) {
digitalWrite(thisPin, LOW);
}
}
}
}
// Project 3 - Traffic Lights
int ledDelay = 5000; // delay in between changes
int redPin = 10;
int yellowPin = 9;
int greenPin = 8;

void setup() {
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
}

void loop() {
digitalWrite(redPin, HIGH); // turn the red light on
delay(ledDelay); // wait 5 seconds

digitalWrite(yellowPin, HIGH); // turn on yellow


delay(2000); // wait 2 seconds

digitalWrite(greenPin, HIGH); // turn green on


digitalWrite(redPin, LOW); // turn red off
digitalWrite(yellowPin, LOW); // turn yellow off
delay(ledDelay); // wait ledDelay milliseconds

digitalWrite(yellowPin, HIGH); // turn yellow on


digitalWrite(greenPin, LOW); // turn green off
delay(2000); // wait 2 seconds

digitalWrite(yellowPin, LOW); // turn yellow off

// now our loop repeats


}

- Seven Segmen
Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan
Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka
desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada
umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital,
Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun
Pengatur Suhu Digital . Seven Segment Display pertama diperkenalkan dan dipatenkan
pada tahun 1908 oleh Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah
aplikasinya pada LED (Light Emitting Diode).
Contoh Program :

Buzzer
byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0

{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 }, // =9

};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
writeDot(1); // padamkan tanda "dot" (titik)
}

void writeDot(byte dot) {


digitalWrite(9, dot);
}

void sevenSegWrite(byte digit) {


byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}

void loop() {

for (byte count = 0; count < 10 ; ++count) {


sevenSegWrite(count);
delay(1000);
}

for (byte count = 9; count > 0; --count) {


sevenSegWrite(count-1);
delay(1000);
}
}
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik
menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker,
jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan
tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau
keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada
diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik
sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan
sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat
(alarm).

Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem
kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk
menentukan dan memastikan posisi sudut dari poros output motor.
Motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian
kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan
memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer
dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi
putaran poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan
dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output
akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum,
dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros
tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop
tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup,
seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya.

Komponen Servo :

Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih dapat
menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan pada mesin-mesin
industri. Sedangkan motor servo DC biasanya lebih cocok untuk digunakan pada aplikasi-
aplikasi yang lebih kecil. Dan bila dibedakan menurut rotasinya, umumnya terdapat dua jenis
motor servo yang dan terdapat di pasaran, yaitu motor servo rotation 180 dan servo rotation
continuous.
Motor servo standard (servo rotation 180) adalah jenis yang paling umum dari motor
servo, dimana putaran poros outputnya terbatas hanya 90 kearah kanan dan 90 kearah kiri.
Dengan kata lain total putarannya hanya setengah lingkaran atau 180.
Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya sama
dengan jenis servo standard, hanya saja perputaran porosnya tanpa batasan atau dengan kata lain
dapat berputar terus, baik ke arah kanan maupun kiri.
Prinsip kerja motor servo
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide
Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan
menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan
waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90. Bila pulsa lebih
pendek dari 1,5 ms maka akan berputar ke arah posisi 0 atau ke kiri (berlawanan dengan arah
jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo
akan berputar ke arah posisi 180 atau ke kanan (searah jarum jam). Lebih jelasnya perhatikan
gambar dibawah ini.

Anda mungkin juga menyukai