Sabtu, 14 Desember 2013

Posted by Unknown |
TUJUAN :
1.      Mampu membuat program untuk memanfaatkan timer sebagai generator gelombang.
2.      Mampu membuat program untuk memanfaatkan timer sebagai generator gelombang  dengan adjustable duty cycle.
3.      Mampu membuat program untuk memanfaatkan timer sebagai generator gelombang adjustable frekuensi.


PERALATAN :
1. Komputer                : 1set
2. Arduino Uno            : 1pcs
3. Project Board          : 1pcs
4. Kabel Jumper          : 1set
5. LCD                        : 1pcs
6. Potensiometer 10K   : 3pcs
7. LED                         : 1pcs
8. Resistor 330 Ohm     : 1pcs
9. Transistor 2N2222    : 1pcs
10. Resistor 2K2           : 1pcs

PERCOBAAN :

7.1 Generator Gelombang dengan Adjustable Duty cycle

          Pada percobaan kali ini akan dibuat program untuk mengeluarkan gelombang kotak pada pin 9 (OC1A) . Gelombang yang akan dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle dapat diatur lebarnya. Lebar duty cycle akan diatur oleh potensiometer yang terhubung pada pin A0. Pada percobaan kali ini akan digunakan fungsi analogWrite yang berfungsi untuk mengeluarkan sinyal gelombang pada pin Pulse Width Modulation (PWM).
Prosedur : 

Buatlah rangkain seperti Gambar 7.1.


      Tuliskan sintaks program berikut ini pada Arduino IDE, kemudian lakukan kompilasi dan upload program kesistem minimum Arduino.
int val = 0;
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop() {
val = analogRead(A0);
analogWrite(9, val/4);
Serial.print("PWM Value = ");
Serial.println(val,DEC);
delay(500);
}
hasil akan tampak seperti ini:




duty cycle 100%

2 Generator Gelombang dengan Adjustable Frekuensi
          Pada percobaan kali 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 terhubung pada pin A0. Program pada percobaan kali ini akan menggunakan konfigurasi register untuk mengeluarkan sinyal gelombang pada pin PWM.

Prosedur :

1.      Buatlah rangkaian seperti pada Gambar 7.2
2.      Tuliskan sintaks program berikut ini pada Arduino IDE, kemudian lakukan kompilasi dan  upload program kesistem minimum Arduino.

int setCycles;
void set(int cycles) {
char oldSREG;
int dutyCycle = cycles * 0.5;
if (dutyCycle < 6) {
dutyCycle = 6;
}
if (dutyCycle > 1015) {
dutyCycle = 1015;
}
if (cycles < 50) {
cycles = 50;
}
oldSREG = SREG;
cli();
ICR1 = cycles;
OCR1A = dutyCycle;
SREG = oldSREG;
}
void setup() {
TCCR1A = 0;
TCCR1B = _BV(WGM13);
TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
TCCR1B |= _BV(CS10);
DDRB |= _BV(PORTB1);
TCCR1A |= _BV(COM1A1);
}
void loop() {
int temp_cycles = analogRead(A0);
if (temp_cycles != setCycles ) {
setCycles = temp_cycles;
set(setCycles);
}
}

0 komentar:

Posting Komentar