miércoles, 21 de septiembre de 2011

Cuarto Proyecto[Lectura de un sensor de inclinacion]

En este cuarto proyecto y tras haber realizado el proyecto anterior basado en la lectura de un pulsador, pasaremos a realizar la lectura de un sensor de inclinación. Algunos pensareis,¿para qué queremos esto? Bien, el sentido de este proyecto se basa en utilizar un detector de inclinación y transmitírselo al usuario. Dicha funcionalidad puede servirnos para realizar parte de un proyecto en el que utilicemos algún tipo de inclinación y hagamos uso de otros dispositivos como son los acelerometros.

Sin nada mas que añadir, pasaremos a mostrar los elementos necesarios para realizar esta practica:


  • Una resistencia de 10 K Ohmios
  • Un sensor de inclinación Assemtech
  • Un LED
  • Cables para realizar la conexión
Una vez recolectados los materiales necesarios, nos vamos a dedicar a desarrollar el esquema a seguir. El esquema es exactamente el mismo que en el del tercer proyecto, alternando el pulsador por el sensor de inclinación:
Tras implementar el circuito tal y como aparecen en la imagen anterior, pasamos a programar nuestro arduino. Como veremos a continuación , la programación de este sensor de inclinación es igual a la del tercer proyecto.

/* Sensor de Inclinación
* -----------
* Detecta si el sensor ha sido inclinado o no y
* enciende la luz en consecuencia. Ten en cuenta que
* al utilizar la "activación a nivel bajo" (mediante
* una resistencia de pulls-up) la entrada se encuentra
* a nivel bajo cuando el sensor se activa.
*/
int value = 0; // Valor del pulsador
void setup() {
pinMode(13, OUTPUT); // Inicializa el pin 13 como salida digital
pinMode(7, INPUT); // Inicializa el pin 7 como entrada digital
}
void loop() {
value = digitalRead(7); // Lee el valor de la entrada digital
digitalWrite(13, value);
}


Bueno como habéis podido ver el sensor de inclinación no es mas que un interruptor que en vez de tener que hacer uso del mismo directamente, basta con inclinar x grados nuestro sensor, desplazando la bola de mercurio que lleva en el interior y haciendo uso de uno de sus dos contactos, permitiendo encender el LED.
Sin nada mas que añadir, me despido un día mas. Cualquier cosa que necesitéis preguntarla. Suscribiros! Salu2

martes, 20 de septiembre de 2011

Tercer proyecto[Lectura de un pulsador]

El tercer proyecto que vamos a desarrollar se basa en encender un LED cuando pulsemos un pulsador. La base de este ejercicio no solo pasa por encender dicho LED, sino también en iniciarnos en la E/S.
Sin nada mas que añadir, pasare a mostrar los componentes necesarios para realizar dicha practica:

  • Una resistencia de 1KOhmio
  • Un pulsador
  • Un LED
  • Cables para realizar las conexiones
Una vez recolectado los materiales necesarios, pasaremos a implementar el circuito para este nuevo proyecto.De una forma gráfica, lo que queremos hacer es lo siguiente:

Como bien podemos ver, conectaremos nuestro LED a los PINS (GND,13) y nuestro pulsador a los PINS(GND a través de la resistencia,5V,10). Una vez conectado tal como aparece en la imagen anterior, pasaremos a programar nuestro arduino.

El programa que vamos a implementar se diferencia de los anteriormente vistos en que tendremos que declarar un pin de entrada(en nuestro caso el 10), que una vez leído el valor del pulsador encienda el LED correspondiente.
Para ello implementamos el siguiente código:
// Pulsador
int value = 0; // Valor del pulsador inicializado a a0
void setup() {
pinMode(13, OUTPUT); // Inicializa el pin 13 como salida digital
pinMode(10, INPUT); // Inicializa el pin 10 como entrada digital
}
void loop() {
value = digitalRead(10); // Lee el valor de la entrada digital del pulsador
digitalWrite(13, value);//Mostramos el estado a través del LED 13
}


Hasta aquí el tercer proyecto, no dudéis en preguntar lo que necesitéis. Suscribiros al twitter! un salu2

lunes, 19 de septiembre de 2011

Segundo Proyecto[Coche fantastico]

Bueno, poco a poco vamos avanzando en materia y en este segundo proyecto vamos a imitar las luces del conocido coche fantástico. Para este proyecto vamos a necesitar los siguientes materiales:

  • 6 LEDS
  • 6 Resistencias de 220 ohmios
  • Placa Protoboard o en su defecto cable y soldador
  • Cables para realizar las conexiones
Los LEDS los conectaremos a los PIN de nuestro arduino desde la posición 2 a la 7 de la salida digital mediante la resistencias de 220 Ohmios(no son imprescindibles). El esquema eléctrico seria el siguiente:
Una vez conectados los LEDS procederemos a programar nuestro arduino  para que haga la secuencia del tan conocido <Kitt>. El programa lo podemos hacer de varias formas posibles, nosotros vamos  a proponer dos formas de hacerlo.
La primera de ellas y mas sencilla, se basa en mandar señales de 1 y 0 a las diferentes señales en orden de conexión  En el primer proyecto ya habíamos visto como enviar estas señales. Para los que no lo hayan leído aun se hace mediante la sentencia digitalWrite(elnumerodePIN,HIGH). Una vez dicho esto, el código seria el siguiente:

/* El coche fantástico 1
* ---------------------
*
*/
int timer=200;  //Declaramos la variable timer como el retraso entre un parpadeo y otro, se mide en ms.
void setup(){
pinMode(2, OUTPUT); // Configuración de los PIN-es como salida
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH); // Enciende y apaga secuencialmente LED-s
delay(timer);
digitalWrite(2, LOW);
delay(timer);
digitalWrite(3, HIGH);
delay(timer);
digitalWrite(3, LOW);
delay(timer);
digitalWrite(4, HIGH);
delay(timer);
digitalWrite(4, LOW);
delay(timer);
digitalWrite(5, HIGH);
delay(timer);
digitalWrite(5, LOW);
delay(timer);
digitalWrite(6, HIGH);
delay(timer);
digitalWrite(6, LOW);
delay(timer);
digitalWrite(7, HIGH);
delay(timer);
digitalWrite(7, LOW);
delay(timer);
digitalWrite(6, HIGH);
delay(timer);
digitalWrite(6, LOW);
delay(timer);
digitalWrite(5, HIGH);
delay(timer);
digitalWrite(5, LOW);
delay(timer);
digitalWrite(4, HIGH);
delay(timer);
digitalWrite(4, LOW);
delay(timer);
digitalWrite(3, HIGH);
delay(timer);
digitalWrite(3, LOW);
delay(timer);
}


Por otra parte, la segunda forma de enmarcar este ejercicio seria empleando una secuencia de control for.El código seria el siguiente:

/* El coche fantástico 2
* ---------------------
*/
int pinArray[] = {2, 3, 4, 5, 6, 7}; // Define el array de pines
int count = 0; // Contador
int timer = 100; // Temporizador
void setup(){
for (count=0;count<6;count++){ // Configuramos todos los PIN-es
pinMode(pinArray[count], OUTPUT);
}
}
void loop() { // Enciende y apaga secuencialmente los LED-s
for (count=0;count<6;count++) { // utilizando la secuencia de control for(;;)
digitalWrite(pinArray[count], HIGH); // Recorrido de ida
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
for (count=5;count>=0;count--) {
digitalWrite(pinArray[count], HIGH); // Recorrido de vuelta
delay(timer);
digitalWrite(pinArray[count], LOW);
delay(timer);
}
}

Bueno hasta aquí el segundo proyecto de Arduin0project, próximamente desarrollaremos el siguiente . Si queréis estar informados vía twitter suscribete! Saludos.

jueves, 15 de septiembre de 2011

Primer Proyecto [Parpadeo de LED]

En este primer proyecto vamos a tratar de parpadear un led con el fin de iniciarnos en Arduino. Dicho proyecto podemos decir que es un "Hello World" para iniciarnos tanto en la programacion de nuestro microprocesador como en el diseño Hardware.
Sin perder mas el tiempo comenzaremos con nuestro proyecto. Para desarrollar dicho proyecto vamos a necesitar los siguientes materiales:

  • LED 
  • Placa de inserción o en su defecto soldador y estaño
  • Placa Arduino UNO
Una vez recolectados los materiales nos ponemos manos a la obra con el proyecto. Pero algunos pensareis, ¿Que vamos a hacer?, bien en primer lugar vamos a diseñar nuestro circuito. El circuito que vamos a realizar es muy sencillo, es el que podemos apreciar en la siguiente imagen:
Una vez implementado nuestro circuito, bien en la placa de inserción o directamente en la placa Arduino como podemos ver a continuación, nos pondremos a programar el Arduino:

Para programar nuestro Arduino utilizaremos la interfaz que nos proporciona el autor de Arduino en la siguiente dirección:
http://arduino.cc/en/Main/Software

Una vez descargado el programa e instalarlo, nos aparecerá una pantalla parecida a esta al iniciarlo:


En dicha interfaz vamos a programar nuestro querido Arduino para que realice el parpadeo esperado. Una vez dicho esto pasamos a la programación. En nuestro esquema como hemos podido ver el led que queremos hacer parpadear es el que corresponde al pin 13, por lo tanto lo primero que tenemos que hacer es declarar dicho pin. Tras esta declaración pasaremos a definir lo que queremos ejecutar en nuestro bucle. En nuestro caso queremos encender y apagar el LED. Para ello, utilizaremos la sentencia <digitalWrite>. Con esta sentencia pondremos a 1 el pin correspondiente cuando pongamos HIGH y sacaremos un cero si ponemos LOW. Es decir, el programa seria el siguiente:


void setup() //Declaramos los pins que vamos a utilizar
{
pinMode(13, OUTPUT);  //Declaramos el pin 13 como salida, ya que queremos que nuestro LED se          encienda y se apague  
}


void loop() //Definimos el bucle que vamos a ejecutar
{
  digitalWrite(13, HIGH);   //  LED on
  delay(200);              // Espera de 200 ms
  digitalWrite(13, LOW);    // LED off
  delay(200);    // Espera de 200 ms
  
}


Con esto ya quedaria programado el Arduino, con ello y el circuito anterior el LED se pondra a parpadear. Espero poner todos los proyectos que vaya desarrollando con el fin de ayudar a la gente y promover nuevas ideas. Un saludo a todos! No dudeis en preguntar lo que necesiteis

Bienvenidos

Con el comienzo de la Universidad y en vista de que en la asignatura de Diseños de Sistemas Empotrados vamos a requerir de un pequeño blog para exponer nuestros proyectos de Arduino, me he decidido a crear dicho blog para albergar mis proyectos y que le sirvan de ayuda a la gente que se inicie en Arduino.

Para empezar cuelgo el codigo QR de dicho blog para que podais acceder desde vuestro terminal:
QR-Code

Un saludo a todos!