Senin, 02 Desember 2013

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
  

Gambar 7.2 Rangkaian Percobaan 7.2
 
2.  Tuliskan  sintaks  program  berikut  ini  pada  Arduino  IDE,  kemudian  lakukan


kompilasi dan upload program ke sistem 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);
}
}




Tidak ada komentar:

Posting Komentar