1.Arduino UNO
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada
ATmega328 .Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat
digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah
koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO
memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya
ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke
DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan
chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke
versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno
mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih
mudah untuk diletakkan ke dalam . Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru
sebagai berikut:
* Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya
yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk
menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan
kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V
dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan
sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
* Sirkit RESET yang lebih kuat
* Atmega 16U2 menggantikan 8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk)
Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi
Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan
model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya
Ringkasan
Mikrokontroler ATmega328
Tegangan pengoperasian 5V
Tegangan input yang
7-12V
disarankan
Batas tegangan input 6-20V
Jumlah pin I/O digital 14 (6 di antaranya menyediakan keluaran PWM)
Jumlah pin input analog 6
Arus DC tiap pin I/O 40 mA
Arus DC untuk pin 3.3V 50 mA
32 KB (ATmega328), sekitar 0.5 KB digunakan oleh
Memori Flash
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Keterangan :
Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan
cerah/redup LED, dan pengendalian sudut pada motor servo. Contoh penggunaan PWM pada
pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan
berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor
akan bergerak lambat.
Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode operasi yaitu :
1.Inverted Mode
Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik pembanding (compare level)
maka output akan di set high (5v) dan sebaliknya jika nilai sinyal lebih kecil maka output akan di
set low (0v) seperti pada gelombang A pada gambar di atas.
3.Toggle Mode
Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v) jika titik pembanding
sesuai dan sebaliknya beralih dari nilai low ke high.
ALAT DAN BAHAN
Alat Bahan
-PC/LAPTOP -Project Board
-Osiloskop -Kabel Jumper
-Motor Driver L289N
-Arduino UNO
LANGKAH PERCOBAAN
Keterangan pin
Enable A : jumper
Enable B : jumper
Input Logic : A (7,6) , B (5,4)
Lalu buat program pada ARDUINO IDE seperti berikut :
int IN_1 = 4;
int IN_2 = 5;
int IN_3 = 6;
int IN_4 = 7;
void setup()
{
//mendefinisikan control pin sebagai output
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
pinMode(IN_3, OUTPUT);
pinMode(IN_4, OUTPUT);
}
void loop()
{
//Putar Mesin searah jarum jam
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
delay(1500);
//Untuk mesin A
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, HIGH);
delay(1000);
//Putar Motor B searah jarum jam
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
delay(1500);
//Untuk mesin B
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, HIGH);
delay(1000);
//Putar Motor a berlawan arah jarum jam
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
delay(1500);
//Untuk mesin A
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, HIGH);
delay(1000);
//Putar Motor B berlawan arah jarum jam
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
delay(1500);
//Untuk mesin B
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, HIGH);
delay(1000);
}
void setup(){}
void loop() {
// buat iterasi dari 0 sampai 255 dengan kelipatan 5
for (int nilai = 0; nilai <= 255; nilai += 10) {
// set nilai analog menggunakan iterasi di atas
analogWrite(pinLed, nilai);
// beri jeda waktu 3 milidetik biar ga terlalu cepat
delay(30);
}
// buat iterasi mundur dari 255 ke 0 dengan kelipatan 5
for (int nilai = 255; nilai >= 0; nilai -= 10) {
// set nilai analog menggunakan iterasi di atas
analogWrite(pinLed, nilai);
// beri jeda waktu 3 milidetik
delay(30);
}
}
HASIL PERCOBAAN
Duty cycle
Ton
D = Ton+Toff x 100%
0 ,5 m s
D = 0 ,5 m s +10 m s x 100% = 4,76 %
0 ,7 5 m s
D = 0 ,7 5 m s +10 m s x 100% = 6,97 %
Duty cycle
Ton
D = Ton+Toff x 100%
1 , 25 m s
D = 1, 2 5 m s+10 m s x 100% = 11,11%
4. PWM dengan nilai analog (40)
Duty cycle
Ton
D = Ton+Toff x 100%
1,5ms
D = 1, 5 m s+10 m s x 100% = 13,04 %
Duty cycle
Ton
D = Ton+Toff x 100%
1,5 m s
D = 1,5 ms +10 m s x 100% = 13,04 %
2 , 5 ms
D = 2, 5 ms+10 ms x 100% = 20 %
Duty cycle
Ton
D = Ton+Toff x 100%
2 , 7 5 ms
D = 2, 7 5 ms+10 ms x 100% = 21,56 %
8. PWM dengan nilai analog (80)
Duty cycle
Ton
D = Ton+Toff x 100%
3 , 25 ms
D = 3 ,2 5 ms+10 ms x 100% = 24,52 %
Duty cycle
Ton
D = Ton+Toff x 100%
3 , 5 ms
D = 3 ,5 ms+10 ms x 100% = 26,4 %