
#include <avr/io.h>
#include <util/delay.h>

 
#define PIN_RED          PB1
#define PIN_GRN          PB0


#define RED_ON         PORTB |=  (1<<PIN_RED)
#define RED_OFF        PORTB &= ~(1<<PIN_RED)
#define BLUE_ON         PORTB |=  (1<<PIN_GRN)
#define BLUE_OFF        PORTB &= ~(1<<PIN_GRN)

unsigned short pot1,pot2,pot3,i,j;

void init() {
//-------------------------------------
           DDRB = (1<<PIN_RED)|(1<<PIN_GRN);    //kimenetek
           //Init ADC
           ADMUX = 0x00;
           ADCSRA =  (1<<ADEN)
                  |  (0<<ADATE)
                  |  (0<<ADSC)
                  |  (1<<ADPS2)
                  |  (1<<ADPS1)
                  |  (1<<ADPS0)
                  ;
}
//-------------------------------------

void szunet(unsigned short n )
{
for(j=1; j<=n; j++) _delay_us(100);
}

//-------------------------------------
unsigned short ADConvert(unsigned char channel) {
//-------------------------------------
           ADMUX &= ~(1<<MUX1|1<<MUX0);
           ADMUX |= channel;
           ADCSRA |= (1<<ADSC);
           while(ADCSRA & (1<<ADSC));
           return ADC;
//------------------------------------- 

}
int main(void) {

	init();
	while(1)
	   {
		//potmeterek allanasak beolvasasa
		pot1=ADConvert(1);//villanasok szama
		pot2=ADConvert(2);//villanasok kozti szunet
		pot3=ADConvert(3);//oldalak kozti szunet

		if((pot3>=pot2)&&(pot3<=pot1))
		  {
		   RED_ON;
		   BLUE_ON;
		  }
		else
		  {
		   RED_OFF;
		   BLUE_OFF;
		  }
	   }
}
