Buenas noches, recién adquirí un arduino uno por recomendaciones en la universidad, estoy acostumbrado a usar microcontroladores de microchip, opte por usar avr pero el cambio es muy radical y algo tan fácil no puedo desarrollarlo necesito ayuda, el planteamiento es sencillo se tiene una entrada analógica que dividiré en 8 para que por casos prenda leds, explicado de otra forma tengo un potencimetro que oscila de 0v a 5v si es 0v no se prenderá ningún led de los puertos digitales pero si hay 5v prenderán 8 led's (1 byte), si hay 2.5v prendan 4 leds y así como prendiendo una seria, el problema realmente es con la programación no entiendo como funciona, mi programa va algo así pensando aun como microchip.
int led1= 13;
int led2 =12;
int led3 =11;
int led4 =10;
int led5 = 9;
int led6 = 8;
int led7 = 7;
int led8 = 6;
int pot = A1;
int val1= 0;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
pinMode(led8,OUTPUT);
}
void loop()
{
val1=analogRead(pot);
float val= val1*(5.0/1023);
if (val > 0 && val <=127)
{digitalWrite(led1,HIGH);}
if ( val >127 && val <=254)
{digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);}
if (val >254 && val <=381);
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);}
if(val>381 && val <=508);
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);}
if (val>508 && val<=635);
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
}
if (val>635 && val<=762);
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
}
if (val>762 && val<=889)
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,HIGH);
}
if (val>889 && val <=1023);
{ digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,HIGH);
digitalWrite(led8,HIGH);
}
if(val==0);
{ digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
digitalWrite(led8,LOW);
}
}