dissabte, 5 de desembre de 2015

POTENCIOMETRE AMB BARRA DE LEDS


Aquesta programació consisteix en encendre una barra de leds progressivament mitjançant el potenciometre.

El montatge es fa tal i com s'indica a la foto.

A continuació s'estableixen totes les variables que calen per fer el programa i fem el "void setup" el qual fem una cosa nova que es per monotoritzar els valors del potenciometre.

Després fem el "void loop" amb els elements annexat en la progranmació de baix.

PROGRAMACIÓ:

/*BARRA DE LEDS Y POTENCIOMETRO*/
int sensor = A0;
int const x = 1023/11;
int i; // variable comptador per a for
int leds[] = {4,5,6,7,8,9,10,11,12,13};
int temps = 1000;
int o;

 void setup()
 {
   for (i=0;i<10;i++)
  {pinMode (leds[i],OUTPUT);}
  Serial.begin(9600);
 }
  
 void loop()
 {
  int lectura = analogRead(sensor);
  Serial.println(lectura);
  
  if (lectura < x)
  {
    for (i=0; 1<10; i++)
    {digitalWrite (leds[i], LOW);}
  }
else if (lectura < 2*x)
{
   for (i=1; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<1; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 3*x)
{
   for (i=2; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<2; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 4*x)
{
  for (i=3; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<3; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 5*x)
{
   for (i=4; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<4; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 6*x)
{
   for (i=5; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<5; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 7*x)
{
   for (i=6; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<6; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 8*x)
{
  for (i=7; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<7; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 9*x)
{
   for (i=8; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<8; o++)
  {digitalWrite (leds[o], HIGH);}
}
else if (lectura < 10*x)
{
  for (i=9; 1<10; i++)
  {digitalWrite (leds[i], LOW);}
  for (o=0; o<9; o++)
  {digitalWrite (leds[o], HIGH);}
}
else
{
  for (o=0; o<10; o++)
  {digitalWrite (leds[o], HIGH);}
}
 }

Cap comentari:

Publica un comentari a l'entrada