Gracias a la pericia y entusiasmo puesto por el profesor Marlon J., le he comprado un iDuino otra plataforma de la familia Arduino, pero más pequeña, con la cual, espero desarrollar más aplicaciones de robótica.

Bueno quería compartir que estoy trabajando en un robot muy básico que cualquiera lo puede hacer, para controlarlo se hace a través del Serial Monitor los elementos son: un Arduino, un L293B o el L293D, cualquiera de los dos les sirve, pero yo use el L293B pues es el que tengo en el momento. Este integrado es un driver de motores, mas adelante hablaré más sobre él. También, use dos motores DC, si se quiere se puede usar servos, pero deben estar truncados.

Ampliaré la información más cuando haya terminado el robot.

/* Interaccion con arduino
* Sebastian Valencia
* http://electrosystemss.blogspot.com/
*/
int pin13 = 13; //este es el pin del salida del LED
int valor = 0; //variable que se usa para ller el valor ingresado en Serial Monitor
void setup()
{
pinMode(pin13, OUTPUT); //Inicializa el pin 13 como salida
Serial.begin(9600); //Se abre el puerto para la transmision de datos
}
void loop()
{
if(Serial.available())
{
valor = Serial.read(); //Se lee el valor ingresado en el Serial Monitor
if((valor == 'S')||(valor == 's')) //condicion para prender el LED
{
digitalWrite(pin13,HIGH);
Serial.println("Se ha presionado una S o s"); //Se imprime un mensaje
delay(1000); //si se presiona una S o s
digitalWrite(pin13,LOW);
}
else
{
Serial.println("Se ha presionado otra letra");
}
}
}

/* Tercer Stop basado en el ejemplo del coche fantastico
* Sebastian Valencia
* http://electrosystemss.blogspot.com/
*/

//vector con el numero de los pines que se van a utilizar
int vectorPin[] = {9,10,11,12,13};
void setup() //Se usa un ciclo para poner todos los
{ //pines como salida
for(int i =0; i<5; i++)
{
pinMode(vectorPin[i], OUTPUT);
}
}
void loop() //encienden y apagan los led´s
{
for(int i =5; i>=0; i--) //empieza desde el pin 13 y desciende
{ //hasta el 9
digitalWrite(vectorPin[i],HIGH);
delay(100);
digitalWrite(vectorPin[i],LOW);
delay(100);
}
for(int i =0; i<5; i++) //empieza desde el pin 9 y asciende
{ //hasta el 13
digitalWrite(vectorPin[i],HIGH);
delay(100);
digitalWrite(vectorPin[i],LOW);
delay(100);
}
}


Nota: la primera imagen que se observa, es el montaje de un pulsador y un solo led. El código que a continuación se muestra es de la segunda imagen donde un pulsador entre prender un led y apagar el otro.

/* Pulsador para 2 LED´s
* Sebastian Valencia
* http://electrosystemss.blogspot.com/
*/

int ledPin = 13; // este es el PIN de salida del primer LED
int ledPin2 = 12; // este es el PIN de salida del segundo LED
int inputPin = 2; // este es el PIN de entrada para el boton
int val = 0; // esta variable se usa para leer el in de entrada del pulsador

void setup()
{
pinMode(ledPin, OUTPUT); // Se inicializan los pines que son salida
pinMode(ledPin2,OUTPUT);
pinMode(inputPin, INPUT); // y se declara el Pin del pulsador como entrada
Serial.begin(9600);
}
void loop()
{
val = digitalRead(inputPin); // lee el valor del pulsador
if (val == HIGH) // condicion de lectura del pulsador
{
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, HIGH);
Serial.println("EL led 2 encendido");
} else
{
digitalWrite(ledPin, HIGH);
Serial.println("EL led 1 encendido");
digitalWrite(ledPin2, LOW);
}
}
El sábado 9 de Agosto a las 2 p.m en la Universidad Autónoma de Manizales, auspisiado por el grupo GUM, se realizará un Haclab de LDAP dictado por el profesor Marlon J. Manrique.

Se espera que la comunidad de Software Libre asista. No falten.