#define SET0(REG,BIT) REG &= ~(1<<BIT)
#define SET1(REG,BIT) REG |= (1<<BIT)
#define TEST(REG,BIT) (REG&(1<<BIT))
void setup()
{
SET1(DDRB,0);
SET1(DDRB,1);
SET0(DDRC,0);
SET0(ADMUX, REFS1);
SET0(ADMUX, REFS0);
SET0(ADMUX, ADLAR);
SET0(ADMUX, MUX3);
SET0(ADMUX, MUX2);
SET0(ADMUX, MUX1);
SET0(ADMUX, MUX0);
SET1(ADCSRA, ADEN);
SET0(ADCSRA, ADATE);
SET0(ADCSRA, ADIE);
SET1(ADCSRA, ADPS2);
SET1(ADCSRA, ADPS1);
SET1(ADCSRA, ADPS0);
}
void loop() {
SET1(ADCSRA, ADSC);
while(TEST(ADCSRA,ADIF) == 0)
{}
int vysledok = ADCL;
vysledok = ADCL + (ADCH<<8);
if(vysledok == 0)
{ SET1(PORTB,0);
SET1(PORTB,1);
delay(vysledok +1);
SET0(PORTB,1);
}
else
{
SET1(PORTB,0);
SET1(PORTB,1);
delay(vysledok);
SET0(PORTB,1);
}
}