martes, 29 de septiembre de 2015

PRÁCTICA 2 - COMPUERTAS

OBJETIVOS
·         Observar y experimentar con ayuda de unos LEDs el funcionamiento de la tarjeta Arduino en conexión con otra tarjeta.
·          Establecer secuencias de encendido con LEDs.
·         Comprobar la tabla de verdad para obtener las funciones de salida deseadas

MATERIAL
·         2 Tarjetas Arduino UNO.
·         5 o más LEDs.
·         Resistencias de 220 o 330 ohms.
·         Cables para conexión.

DIAGRAMAS





CÓDIGOS A IMPLEMENTAR

FUNCIÓN QUE GENERA LA TABLA DE VERDAD

void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}

void loop()
{
  int t=100;
  digitalWrite(13, HIGH);
  delay(t);
  digitalWrite(12, HIGH);
  delay(t);
  digitalWrite(11, HIGH);
  delay(t);
  digitalWrite(10, HIGH);
  delay(t);
  digitalWrite(9, HIGH);
  delay(t);

  digitalWrite(13, LOW);
  delay(t);
  digitalWrite(12, LOW);
  delay(t);
  digitalWrite(11, LOW);
  delay(t);
  digitalWrite(10, LOW);
  delay(t);
  digitalWrite(9, LOW);
  delay(t);

  digitalWrite(9, HIGH);
  delay(t);
  digitalWrite(10, HIGH);
  delay(t);
  digitalWrite(11, HIGH);
  delay(t);
  digitalWrite(12, HIGH);
  delay(t);
  digitalWrite(13, HIGH);
  delay(t);

  digitalWrite(9, LOW);
  delay(t);
  digitalWrite(10, LOW);
  delay(t);
  digitalWrite(11, LOW);
  delay(t);
  digitalWrite(12, LOW);
  delay(t);
  digitalWrite(13, LOW);
  delay(t);



  digitalWrite(13, HIGH);
  delay(t);
  digitalWrite(12, HIGH);
  delay(t);
  digitalWrite(11, HIGH);
  delay(t);
  digitalWrite(10, HIGH);
  delay(t);
  digitalWrite(9, HIGH);
  delay(t);

  digitalWrite(9, LOW);
  delay(t);
  digitalWrite(10, LOW);
  delay(t);
  digitalWrite(11, LOW);
  delay(t);
  digitalWrite(12, LOW);
  delay(t);
  digitalWrite(13, LOW);
  delay(t);


}

}

CÓDIGO QUE INTERPRETA LA TABLA DE VERDAD (PRIMER CIRCUITO)
void setup()
{
  pinMode(13, INPUT);
  pinMode(12, INPUT);
  pinMode(11, INPUT);
  pinMode(10, OUTPUT);
}

void loop()
{
 t=1000;
 
  if(13==0 && 12==0 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }

  if(13==0 && 12==0 && 11==1)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      

  if(13==0 && 12==1 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }     

   if(13==0 && 12==1 && 11==1)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      

  if(13==1 && 12==0 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      

  if(13==1 && 12==0 && 11==1)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      

  if(13==1 && 12==1 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      

  if(13==1 && 12==1 && 11==1)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      


}

CÓDIGO QUE INTERPRETA LA TABLA DE VERDAD (SEGUNDO CIRCUITO)
void setup()
{
  pinMode(13, INPUT);
  pinMode(12, INPUT);
  pinMode(11, INPUT);
  pinMode(10, OUTPUT);
}

void loop()
{
 t=2000;
 
  if(13==0 && 12==0 && 11==0)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }

  if(13==0 && 12==0 && 11==1)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      

  if(13==0 && 12==1 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }     

   if(13==0 && 12==1 && 11==1)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      

  if(13==1 && 12==0 && 11==0)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      

  if(13==1 && 12==0 && 11==1)
  {
   digitalWrite(10, HIGH);
   delay(t);
  }      

  if(13==1 && 12==1 && 11==0)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      

  if(13==1 && 12==1 && 11==1)
  {
   digitalWrite(10, LOW);
   delay(t);
  }      


}
CAPTURAS












CONCLUSIONES

Rosa María Cortés Herrera
De esta práctica aprendí que el utilizar compuertas lógicas   (componentes) y el arduino, es mucho más sencillo y rápido el armado de circuitos. Esto debido a que en cursos anteriores se habían realizado circuitos parecido referentes a su función pero el armado era más complicado demasiado enredado debido al uso de cables y otros tantos componentes que hacían más laborioso su armado, realizar el código en lo personal me ayudo a recordar y repasar el uso de las tablas de verdad de cada una de las compuertas (not, and, or, etc.)

Cynthia Allen Espinosa
Para esta práctica se utilizaron dos tarjetas Arduino para poder simular compuertas lógicas, la complicación se dio cuando teníamos que programar las entradas y salidas de ambas tarjetas y hacerlas funcionar de la manera esperada, todo esto hablando en términos de la programación.

Yessica Morales González
En esta práctica implementamos un código para simular las funciones de acuerdo a sus entradas y obteniendo salidas de acuerdo a las tablas de verdad que construimos para cada caso, luego lo hicimos mediante el uso de compuertas and y not(circuitos integrados) conectándolas correctamente a las entradas que una tarjeta Arduino nos daba y también a una salida, comprendimos como realizaba el proceso y como nos daba una salida que por supuesto se daba en cada caso según la función que correspondía.

Eduardo Ramos Montiel
Al implementar esta práctica pudimos darnos cuenta de que las tarjetas Arduino tienen diferentes aplicaciones dentro de la electrónica, ya que pueden simular compuertas lógicas de la misma manera en que lo hacen algunos circuitos y es posible hacerlo gracias a que la programación de las tarjetas está diseñada para funcionar como el lenguaje C.

Vanessa Pacheco Trejo

Al completar esta práctica pude notar que las tarjetas Arduino tienen un gran potencial si se trata de construir cierto tipo de circuitos, la parte más interesante fue descubrir que para lograr que la tarjeta actúe de la  manera deseada, no hace falta tener grandes conocimientos de programación ni de electrónica; la práctica pudo finalizarse después de haber resuelto el problema de la programación en dos diferentes tarjetas.



2 comentarios:

  1. Race Tech Titanium is a new application that enhances the
    The application was developed titanium key ring for the purpose of titanium framing hammer enhancing the microtouch titanium trim power of race betting titanium suppressor and horse racing for players who are looking seiko titanium for a way to win the

    ResponderEliminar