lunes, 26 de marzo de 2012

10 led-en kontrola 4 interruptoez

Muntai honen helburua 4 interruptoren bitartez 10 led kontrolatzea da. 4 interruptore horien bidez 0 tik 10era zenbaki bat sartuko diogu sistema bitarrean eta zenbakiari dagokion led kopuruak piztu behar dira.

Proteus 7.7 erabili dugu zirkuitu hau simulatzeko:

Eta hemen bideo bat dugu zirkuituaren funtzionamenduarekin



Azkenik, ariketa hau egiteko programa daukagu:

void setup() 
{ 
  Serial.begin(9600);      // abre el puerto serie a 9600 bps: 
  pinMode(A0, INPUT);  
  pinMode(A1, INPUT); 
  pinMode(A2, INPUT); 
  pinMode(A3, INPUT); 
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT); 
  pinMode(5, OUTPUT); 
  pinMode(6, OUTPUT); 
  pinMode(7, OUTPUT); 
  pinMode(8, OUTPUT); 
  pinMode(9, OUTPUT); 
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW); 

}
void loop()
{
  digitalRead(A0);
  digitalRead(A1);
  digitalRead(A2);
  digitalRead(A3);
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
  {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
  {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW); 
   }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH); 
    digitalWrite(10, HIGH); 
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);  
    digitalWrite(10, HIGH);
    digitalWrite(11, HIGH);
    }
}

No hay comentarios:

Publicar un comentario