#include <Servo.h>
#define SET0(REG,BIT) REG &= ~(1<<BIT)
#define SET1(REG,BIT) REG |= (1<<BIT)
int vysledok;
Servo servo;
void setup() {
// put your setup code here, to run once: an analog write
analogWrite(9, 127);
Serial.begin(9600);
servo.attach(A0);
SET1(SREG,7);
}
void loop() {
// put your main code here, to run repeatedly:
}
ISR(PCINT0_vect) {
SET1(ADCSRA,ADSC); // zapne konverziu
SET1(ADCSRA,ADIE); // generuje prerušenie
SET0(ADMUX,MUX0); // ADC0
SET1(ADCSRA,ADPS2); // voľba preddeličky 128
}
ISR(ADC_vect) {
vysledok = ADCL; // načítanie dolného registra
vysledok = vysledok | (ADCH<<8); // pripočítanie horného
servo.write(vysledok);
Serial.write(vysledok);
}