Dark Kage Is Valid HTML5
Follow

Search This Blog

Link Teman

Chat

Praktikum 7 (Timer Sebagai Generator Gelombang)


7.1 Generator Gelombang dengan Adjustable Duty cycle

Pada percobaan kali ini akan dibuat program untuk mengeluarka n gelombang kotak pada pada pin 9 (OC1A) . Gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk k otak dengan duty cycle dapat diatur lebarny a. Lebar duty cycle akan diatur oleh poten siometer yang terhubung pada pin A0. Pada percobaan kali ini akan digunakan fungsi analogWrite yang berfungsi untuk m engeluarkan sinyal gelombang pada pin Pu lse Width Modulation (PWM).










7.2  Generator Gelombang dengan Adjustable Frekuensi

Pada percobaan ka li ini gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle yang besarnya tetap yaitu 50%, namun besarnya frekuensi dapat berubah-ubah. Perubahan frekuensi akan diatur oleh potensiometer yang te rhubung pada pin A0. Program pada perco baan kali ini akan menggunakan konfigu rasi register untuk mengeluarkan sinyal ge lombang pada pin PWM.




7.3 PWM dengan Adjustable Frekuensi dan Duty cycle (7 KHz sampai 300 KHz)

Pada percobaan ka li ini gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle dan frekuensi yang d apat berubah-ubah. Perubahan frekuensi akan diatur oleh potensiometer yang terhub ung pada pin A0. Perubahan duty cycle akan diatur oleh potensiometer yang terhu bung pada pin A1. Program pada percobaan kali ini akan menggunakan konfigur asi register untuk mengeluarkan sinyal ge lombang pada pin PWM




Praktikum 5 (komunikasi Serial)


  • Percobaan 5.1 (mengirim Data teks)

Pada percobaan ka li ini akan dibuat program untuk mengiri mkan data teks ke komputer melalui ko munikasi serial. Pada percobaan ini conto h teks yang akan dikirimkan adalah "Hello World". Pengiriman data akan menggunak an baudrate 9600.

Prosedur :

1.   Tuliskan sintaks program di bawah ini, kemudian lakukan ko mpilasi dan upload program ke sistem minimum Arduino,

void setup() { Serial.begin(9600);
}

void loop() { Serial.print("Hello World"); delay(2000);


}


Perhatikan Gambar : 


2. Setelah itu kemudian Gambar Di upload dan di compile , kemudian Buka serial Monitor dengan menekan Shift+ctrl+m maka akan terlihat seperti dibawah ini : 



5.2 Mengirim Data Byte 

Pada percobaan ka li ini akan dibuat program untuk mengiri mkan data byte ke komputer melalui kom unikasi serial. Pengiriman data akan men ggunakan baudrate

115200.

Prosedur :

1.      Tuliskan sintaks program di bawah ini, kemudian lakukan ko mpilasi dan upload program ke sistem minimum Arduino,

void setup() 
{ Serial.begin(115200);
}

void loop() { 
  Serial.write(0x41); 
  Serial.write(0x42); 
  Serial.write(0x43); 
  Serial.write(0x44); 
  Serial.write(0x45); 
  delay(2000);
}



2. Buka Aplikasi Hterm kemudian pastikan Konfigurasinya seperti gambar dibawah ini , sesuaikan dengna Port Masing2 



 3. Klik tombol Conn ect, kemudian perhatikan data yang ditam pilkan pada bagian Receive Data. Pastikan data tersebut sama dengan data yan g dikirimkan oleh Arduino. maka hasilnya akan terlihat dibawah ini persis sama seperti Software arduino : 



4. menerima data UART dengan  sistem Pooling
Pada percobaan kali ini, akan dibuat program menerima data dari teks komputer melalui komunikasi serial , proses data akan menggunakan sistem pooling (menunggu) , data yang diterima diarduino akan ditampilkan di LCD 

prosedur , rangkailah gambar dibawah ini pada ISIS 




Praktikum 6 (Timer and Counter)

6.1 Penggunaan Timer Ov erflow Untuk LED Blinking

Pada percobaan kali ini akan dibuat program untuk membuat le d berkedip per 500 milliseconds. Pada da sarnya LED akan toggle (berubah kondisi nya) setiap terjadi interupsi timer overflow. Nilai register timer di-set sedemiki an rupa sehingga menghasilkan waktu ov erflow per 500 milliseconds


  1. Pertama-tama rangkailah gambar dibawah Ini Pada ISIS : 







2. Lalu Tulis syntax program dibawah ini kedalam arduino : 

boolean dataLed = 0;

unsigned int overflowCount = 0;

void setup() {

Serial.begin(9600);
pinMode(13, OUTPUT);
TCCR1A = 0;

TCCR1B = 0;

TCNT1 = 34286;
TCCR1B |= (1 << CS12);      // 256 prescaler
TIMSK1 |= (1 << TOIE1);

sei();
}

ISR(TIMER1_OVF_vect) { TCNT1 = 34286; if(dataLed == 0) {

dataLed = 1;
}
else {

dataLed = 0;

}

digitalWrite(13, dataLed); overflowCount++;

}

void loop() {

Serial.print("Overflow count = "); Serial.println(overflowCount,DEC); delay(100);
}


Lihat Gambar! 



3. kemudian Copykan 2 baris program paling bawah, pada box hitam dari software arduino dan kombinasikan dengan ISIS sehingga tampak seperti Gambar dibawah ini : 




4.   Buka Serial Monit or pada Arduino IDE, pastikan baudrate pada Serial Monitor adalah 9600. Kemu dian amati teks yang ditampilkan pada Serial Monitor. Amati juga kondisi nyala d an mati LED pada pin 12.



 6.2 Jam Digital Menggunakan Timer

Pada percobaan kali ini akan dibuat program sederhana yang berfungsi sebagai jam digital dengan memanfaatkan fitur timer mikrokontroler. Timer akan dikonfigurasi sehingga terjadi overflow setiap 1 detik. Tiap timer terjadi overfl ow, variabel detik, menit dan jam akan di -update nilainya. Nilai variabel tersebut akan ditampilkan pada LCD.

Prosedur :

1.  Buatlah rangkaian s eperti Gambar 6.2.









6.3  Counter Mode Falling Edge

Pada percobaan kali ini akan dibuat program yang berfungsi untuk menghitung jumlah penekanan swit ch pada input counter. Konfigurasi counter menggunakan mode falling edge.

Prosedur :

1.  Buatlah rangkaian s eperti pada Gambar 6.3.









2.  Tuliskan  sintaks  program  berikut  ini,  kemudian  lakukan  ko mpilasi  dan  upload

program ke sistem minimum Arduino.

void setup() { Serial.begin(9600); TCCR1A=0x00; TCCR1B=0x06; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
}

void loop() {

Serial.print("Nilai TCNT1 = "); Serial.println(TCNT1,DEC); delay(100);


}






Kemudian kombinasikan dengan ISIS maka hasilnya akan terlihat pada gambar dibawah ini : 




6.3  Counter Mode Falling Edge

Pada percobaan kali ini akan dibuat program yang berfungsi untuk menghitung jumlah penekanan swit ch pada input counter. Konfigurasi counter menggunakan mode falling edge.

Pada percobaan Counter Mode Falling sama dengan Rising hanya berbeda di program syntax saja : 


Berikut syntax Programmnya :

void setup() { Serial.begin(9600); TCCR1A=0x00; TCCR1B=0x07; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
}

void loop() {

Serial.print("Nilai TCNT1 = "); Serial.println(TCNT1,DEC); delay(100);
}




-THANK YOU- :) 


PERIPERAL MASUKAN ANALOG