Cintillo Institucional
Diferencias entre las revisiones 24 y 25
Versión 24 con fecha 2009-10-05 14:26:05
Tamaño: 7063
Comentario:
Versión 25 con fecha 2009-10-05 14:28:24
Tamaño: 7056
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 153: Línea 153:
 . {{attachment:,k.jpg|,k.jpg||height="520",width="400"}}  . {{attachment:,k.jpg||height="520",width="400"}}

wiki comunidad

Proyecto Hardware Libre Cenditel

Página Cenditel

wiki Cenditel

Plataforma de Desarrollo Colaborativo

Curso Sensibilización Hardware Libre (Unidad 001)

logohl.png logohl.png logohl.png

001/04 Actividad 001

En esta primera actividad se busca la primera interacción entre el arduino. Es el ejemplo más sencillo para comprender el funcionamiento del IDE arduino, la compilación, verificación y programación del hardware.

Materiales a utilizar

  • 4 Resistencia 110ohm
  • 1 potenciometro
  • Tarjeta Arduino con cable conexion USB
  • PC con programas
  • Protoboard

Programa arduino 001

Este primer programa ... lo que realiza es encender y apagar el led trece (led interno de la tarjeta). Controlando asi la salida digital.

// Original de: http://www.arduino.cc/
// Modificado Cenditel csoto y gguillen (p)
// Programa digitalWrite

int ledPin = 13;  // configura el pin a utilizar
                  // pin 13 tiene un led interno

// En setup se guardan las configuraciones iniciales
void setup()
  {  pinMode(ledPin, OUTPUT);  //
  }

// En loop se repite y repite indefinidamente
void loop()
  {  digitalWrite(ledPin, HIGH); // configura LED on
     delay(50);                  // espera 50
     digitalWrite(ledPin, LOW);  // configura LED off
     delay(50);                // espera 1000
  }

Variaciones a este programa son los tiempos de los retardos, donde se pueden cambiar para observar visualmente cambios en el código.

Programa arduino 002

Con este segundo programa se desea trabajar con las entradas digitales, también para validar.

Lo anterior nos permite la comprensión del hardware para salidas, entonces daremos el primer paso para entradas que es la adición de un botón, trabajando sobre el mismo código, antes realizaremos referencia a

describo la resistencia pull up, para que sirve, maneras de utilizarlas.

entrada.png

figura 14.1: Resistencia Pull up

boton.jpg

figura 14.2: Entrada salida.

int ledPin = 13; // configura el pin a utilizar 13
                 // pin 13 tiene un le interno
int inPin = 7;   // configura el pin a utilizar 7
int val = 0;     // variable to store the read value
int ledpin1=5;   //pin tomado pra encender un led
int ledpin2=6;     // pin tomado para hacer sonar un speaker
              // En setup se guardan condiciones iniciales

void setup()
{
  pinMode(ledPin, OUTPUT);    // configura pin como salida digital
  pinMode(inPin, INPUT);      // configura pin como entrada digital
  pinMode(ledpin1, OUTPUT);
  pinMode(ledpin2, OUTPUT);


}


// En loop se repite y se repite indefinidamente
void loop()
{
  val = digitalRead(inPin);   // read the input pin
  digitalWrite(ledPin, val);    // sets the LED to the button's value
  if(val==HIGH){
     digitalWrite(ledpin1, HIGH);
     digitalWrite(ledpin2, LOW);}
  else
  {
     digitalWrite(ledpin1, LOW);
     digitalWrite(ledpin2,HIGH);
  }
}

// Original de: http://www.arduino.cc/en/Tutorial/Blink
// Modificado Cenditel csoto y gguillen (p)
// Programa digitalRead

En esta representacion tangible de ete diseño tanto en sofware como en la practica se denota como se puede tener manipulacion con las funcionalidades en su totalidad teniendo presente que existen una gran gama de solucines en cuanto a funcionalidades se tienen.

Programa arduino 003

Para seguir con las entradas y salidas digitales se plantea el ejercicio de un semaforo donde se configuran los tiempo de cambio

//programa del semaforo
int ledpint = 13;  //pin guia
int led_roj = 7;   //pin guia verde
int led_ama = 8;  //pin que se va a utilizar amarillo
int led_ver = 9;  //pin a utilizar rojo
int val     = 0;  // aleatoria

void setup()
{
  pinMode (ledpint ,INPUT);      // EL PIN 13 SE DECLARA COMO ENTRADA
  pinMode (led_roj,OUTPUT);      // EL PIN 7 SE DECLARA COMO SALIDA
  pinMode (led_ama,OUTPUT);     // "   "  8  "   "      "      "
  pinMode (led_ver,OUTPUT);     // "   "  9  "   "      "      "

}


void loop()

{

 digitalWrite(led_roj,HIGH);
 digitalWrite(led_ama,LOW);
 digitalWrite(led_ver,LOW);
 delay(1000);

 digitalWrite(led_roj,LOW);
 digitalWrite(led_ama,LOW);
 digitalWrite(led_ver,HIGH);
 delay(1000);

 digitalWrite(led_roj,LOW);
 digitalWrite(led_ama,HIGH);
 digitalWrite(led_ver,LOW);
 delay(500);


}
  • ,k.jpg

En este puno de partida ya se empezamos a realizar trabajos de funcionalidades abiertas a resover espectativas,el semaforo no es mas sino configurarar unas salidas en realcion al aumento o disminucion del tiempo de funcionamiento e cada una de ellas.

Programa arduino 004

  /*

 Activaci�n de un dispositivo de 12V mediante un sensor de
   presencia PIR


 */

 int interruptor = 12;
 int sensorPIR = 4;
 long tiempoEncendido = 120000;   // Tiempo en mili-segundos (2 minutos)
 int PIRactivo=0;
 long contador = 0;

 void setup (){
  pinMode(interruptor, OUTPUT);
  pinMode(sensorPIR, INPUT);
 }

 void loop (){
   PIRactivo=digitalRead(sensorPIR);   // Lee el sensor PIR
   if (PIRactivo==HIGH){               // Si est� activo reinicia el contador de tiempo
     contador=tiempoEncendido;         //    al tiempo de encendido total.
   }
   if (contador > 0) {                 // Si el contador de tiempo es positivo mantiene
     contador = contador - 200;        //    encendido el interruptor y decrementa el
     digitalWrite(interruptor,HIGH);   //    tiempo de encendido, sino lo apaga.
   } else {
     digitalWrite(interruptor,LOW);
   }
   delay (200);
 }

Un poco más alla

Existen variaciones que se le realizan a este programa, la idea es comenzar a trabajar en los códigos, plasmar las ideas en líneas de programa, esa es la vía. unas posibles variaciones es el integrar el sensor al semáforo e incluirle "inteligencia", simplemente que las luces sólo cambien a verde cuando detecten la presencia de un carro.

Referencias utilizadas en esta actividad

hlpd/curso_arduino/uni00104 (última edición 2011-07-11 14:21:18 efectuada por _desactivada_csoto)