domingo, 22 de mayo de 2011

Ejercicios arduino

Fotografías de la reunión para el trabajo con la tarjeta arduino uno.





Videos:


























/*
 --------------------------------------------- 
  Control de intensidad de un LEDo
 ---------------------------------------------
 
  Programa que enciende un LED de manera proporcional de 
   acuerdo a la cantidad de luz que incida en una 
   fotoresistencia.
 
 Cosas de Mecatrónica y Tienda de Robótica
 
*/
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
  Serial.begin(9600);  //Inicia comunicación serial
  pinMode(9,OUTPUT);   //Configurar el pin 9 como una salida,PWM
}
 
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino 
 
  //Guardar en una variable el valor de la lectura análoga de la 
  // fotoresistencia
  int foto = analogRead(A0);
 
  //Verifica el valor máximo y realizar una conversión
  int conversion = 780 - foto;
 
  //Condicional para establecer un valor absoluto
  if ( conversion < 0)
    conversion = conversion * -1; //Multiplicar por -1 porque es negativo 
 
  //Imprimir datos del valor de la lectura análoga de la fotoresistencia
  Serial.print("Foto : "); 
  Serial.print(foto);
  Serial.println("");
 
  //Imprimir datos del valor de la conversión
  Serial.print("Conv : "); 
  Serial.print(conversion);
  Serial.println("");
 
  //Escritura análoga de PWM en el LED de acuerdo a la conversion
  analogWrite(9, conversion);
 
  delay(100);  //Retardo para datos en la consola
 
}
 
//Fin programa

Esta programación que ven ha qui es tomada de la pagina
http://www.cosasdemecatronica.com/tutoriales/arduino/295-arduino-basico-t16ab-control-de-intensidad-de-un-led

esta después de haberla analizada a sido modificada para poder hacer diferentes ejercicios que necesita vamos ademas, los cuales se pueden ver en los vídeos,  estos son algunos de las progremaciones usadas

void setup() // Se ejecuta cada vez que el Arduino se inicia
{
  Serial.begin(9600);  //Inicia comunicación serial
  pinMode(9,OUTPUT);   //Configurar el pin 9 como una salida,PWM
}
 
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino 
 
  //Guardar en una variable el valor de la lectura análoga de la 
  // fotoresistencia
  int foto = analogRead(A0);
 
  //Verifica el valor máximo y realizar una conversión
  int conversion = 780 - foto;
 
  //Condicional para establecer un valor absoluto
  if ( conversion >=300)
    digitalWrite(9, HIGH); 
    if ( conversion < 300)
    digitalWrite(9, LOW);//Multiplicar por -1 porque es negativo 
}
estos ejercicios que ven hay están modificados y nos han servido perfectamente.

void setup() // Se ejecuta cada vez que el Arduino se inicia
{
  //Inicia comunicación serial
  pinMode(9,OUTPUT);   //Configurar el pin 9 como una salida,PWM
}

//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino 

  //Guardar en una variable el valor de la lectura análoga de la 
  // fotoresistencia
  int foto = analogRead(A0);

  //Verifica el valor máximo y realizar una conversión


  //Condicional para establecer un valor absoluto
  if (foto<630)
    digitalWrite(9, HIGH);
    delay(3000);
    digitalWrite(9, LOW);
    delay(3000);
    
  if ( foto>=630)
    digitalWrite(9, LOW ); 
    digitalWrite(9, HIGH);
    delay(1000);
  //Multiplicar por -1 porque es negativo 
}

ejercicio de apagados completamente. en este ejercicio comprendimos unas modificaciones con respecto a la luz, ya que trabajamos en un lugar en donde entraban 2 tipos de luz una la luz artificial y otra la del sol daban como resultado que mientras que transcurría el tiempo la tolerancia de la luz por parte de la foto celda había que variarla para lograr un buen funcionamiento de parte del sistema lumínico. 

void setup() // Se ejecuta cada vez que el Arduino se inicia
{
  //Inicia comunicación serial
  pinMode(9,OUTPUT);   //Configurar el pin 9 como una salida,PWM
}

//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino 

  //Guardar en una variable el valor de la lectura análoga de la 
  // fotoresistencia
  int foto = analogRead(A0);

  //Verifica el valor máximo y realizar una conversión


  //Condicional para establecer un valor absoluto
  if (foto<630)
    digitalWrite(9, HIGH);
    delay(1000);
    
  if ( foto>=630)
     digitalWrite(9, LOW );
  //Multiplicar por -1 porque es negativo 
}   

En este ultimo ejercicio no se logro el objetivo, puesto que se buscaba que al momento que la foto celda recibiera luz apagara el bombillo, esta parte se logro, pero queríamos que después cuando la foto celda no recibiera luz prendiera el bombillo y de hay la mantuviera por un rato prendido y lo apagara unos segundos después, pero parece ser que el programa lo comprende al revés de lo que nosotros buscábamos, y no encontramos si era un error de alguna variable.   

No hay comentarios:

Publicar un comentario