10-03-2022, 09:41 PM
Onako na brzaka koliko vidim PORTB ti se menja samu kad je uslof IF ispunjen. Mislim da to treba da ide izvan IF petlje da bi svaki pritisak na taster shiftovo bitove...
Ovako pocetna vrednost za impuls=500 i da bi dosegla 1000 ili 0 moras 500 puta da pritisnes taster ili levo ili desno...
A inace kad dajes deo programskog koda onda je pozeljno da ga stvis u tagove
Ovako pocetna vrednost za impuls=500 i da bi dosegla 1000 ili 0 moras 500 puta da pritisnes taster ili levo ili desno...
A inace kad dajes deo programskog koda onda je pozeljno da ga stvis u tagove
Code:
//MOD 8 PHASE AND FREQENCY CORRECT PWM
int taster1 = 2;
int taster2 = 3;
int impuls;
void setup(){
DDRB |= (1<<PB1)|(1<<PB2);
TCCR1A = 0;
TCCR1A = 0;
TCCR1A = (1<<COM1A1) + (1<<COM1B1);
TCCR1B = (1<<WGM13) + (1<<CS10);
impuls = 500; //pocetna vrednost
ICR1 = 2000; //perioda
OCR1A = impuls;
pinMode(taster1,INPUT);
pinMode(taster2,INPUT);
}
void loop() {
PORTB |= (1<<PB1)|(1<<PB2);
OCR1A = impuls;
if(digitalRead(taster1)==LOW){
ICR1 = 2000;
OCR1A = impuls;
impuls=impuls+1;
delay(300);
if(impuls>1000){
impuls=1000;
PORTB |= (1<<PB1)|(1<<PB2);
}
}
if(digitalRead(taster2)==LOW){
ICR1 = 2000;
OCR1A = impuls;
impuls=impuls-1;
delay(300);
if(impuls<1){
impuls=1;
PORTB |= (1<<PB1)|(1<<PB2);
}
}
}