[CloneWars] Montaje de eje X en Iteración2

Ando montando la impresora, y hoy al poner el eje X me he dado cuenta de un pequeño detalle en esta nueva versión. Como todavía no hay una documentación oficial, estoy haciendo el montaje con la guía de la iteración 1 y viendo fotos de la gente que ya se ha montado la iteración 2.

Así que he actualizado el wiki del proyecto con una pequeña guía para montar la iteración2 sin problemas.

 

Comunicaciones entre Arduino y Skymega

Al disponer de un arduino y una Skymega, sería interesante el crear una comunicación serie entre ambos dispositivos.

Buscando en el Arduino Playground, he encontrado la libreria EasyTransfer. Que facilita el trabajo a la hora de mandar información por el puerto serie. Trae un ejemplo muy básico, que es el conectar un potenciometro en un arduino, un servo en otro arduino/skymega, y mover el servo.

Es necesario alimentar ambas placas por una alimentación externa, ya que si se alimenta con el cable USB la transmisión serie queda anulada.

He grabado un video en el que muestro cómo lo he hecho.

[WIKI] Añadido Tutorial: Trucar Servos

He añadido un tutorial para trucar servos mas extenso que el que publique la otra vez. Lo he querido hacer yo entero, por que voy a dar unos seminarios en la UC3M y me gustaría que el tutoríal fuera mío entero.

Le sigo encontrando un problema a este método. Creo que es por que estoy haciendo las pruebas sin carga en el motor, pero cuando se manda parar al motor, este sigue en movimiento. Tengo que hacer las pruebas con el miniSkybot a ver si sigue fallando.

/dev/null/ Tutorial: trucar Servos rotación continua

Organizando Recursos

Aprovechando que ya tengo el blog y el wiki organizados, he querido organizar también un poco el repositorio en github de arduino. He borrado carpetas con programas ya repetidos que tenía, y he puesto un nombre más acorde a las carpetas de los programas.

De aquí en adelante, voy a estructurar el trabajar con el blog y el wiki de la siguiente manera:

  • En el wiki voy a intentar colocar manuales completos, y que sean de fácil acceso, por ejemplo, cómo actualizar un móvil android.
  • En el blog pondré las posibles actualizaciones del wiki, y tutoriales que no tienen cabida en el wiki

De momento me apaño bien, y espero que la nueva organización haga más fácil la búsqueda de tutoriales en un futuro.

Cambio de direccion

He tomado una decisión y me he migrado a mi propio hosting,con dominio propio.
La nueva dirección del blog será blog.darkomen.es ; esta semana también configurare un wiki y la dirección será wiki.darkomen.es
Os espero en la nueva dirección!

Potato: Nuevo Proyecto

Para los que me seguís poor twitter sabréis que voy a hacerme una impresora 3D de plástico. Por lo tanto el proyecto de robot, lo puedo dar por terminado y lo dejaré en stanbye. El tema es que al empezar el proyecto de la impresora, me he replanteado el sentido del blog. UN blog para cualquier proyecto no me parece adecuado, así que estoy pensando en hacerme un wiki para poder seguir el proyecto de una manera más centralizada. No hay ningún servicio de wikis que me guste y estoy pensando en contratar un hosting barato (no más de 5€ al mes) para poder hacerme ahí mi blog y un wiki para la gestión de los proyectos.

Os mantendré informados.

Servos de rotación continua en Arduino.

Aunque muy poco a poco, voy avanzando con el robot. He decidido cambiar el chasis del coche teledirigido que compré en los chinos, por un chasis de plástico hecho con una impresora 3D, que, gracias a la UC3M tengo la posibilidad de usarla. Debido a ello, los motores que tengo que usar son unos servos. Los servos más baratos y los que se suelen usar, son los FUTABA S3003 que en ebay, tienen un precio de 3€ aproximadamente. Estos servos se caracterizan por tener un rango de acción de 180º por lo tanto, tendremos que modificarlos para poder usarlos como un motor normal.

Tenemos dos opciones de trucaje; convertir el servo en un motor de DC de 5v, lo cual, en la mayoría de los casos, deberíamos usar una etapa de potencia para poder usarlo con arduino, y otra aprovecharnos de la etapa de potencia del servo.

El primer caso es realmente sencillo Juan Gonzalez nos lo explica en el blog de iearobotics de la UC3M. Tener en cuenta que, de este modo, necesitaremos una etepa de potencia adicional para activar el motor. Es recomendable usar un puente H para poder tener inversión de giro.

El segundo caso, un poco más laborioso pero más efectivo, está explicado en este PDF, es muy importante seguir todos los pasos, incluido el de la calibración.

Básicamente, el funcionamiento de un servo es según una señal cuadrada que reciba a la entrada. El servo al recibir una señal cuadrada de 1,5ms de tiempo activo, se posicionará en el centro y en función de si ese tiempo es mayor o menor girara a derecha o izquierda.Por lo tanto, es muy importante el calibrarlo correctamente. En el PDF, el último paso, el número 8 nos indica que es necesario mandar una señal de 1,5ms al motor. Yo al usar arduino, tengo la posibilidad de usar las señales PWM que vienen integradas en la placa. Como no sabía muy bien cómo establecer una señal de esos 1,5ms, lo he hecho de una manera más artesanal. Este es el código que he usado.

void setup()
{
  pinMode(9, OUTPUT);
}

void loop()
{
  digitalWrite(9, HIGH);
  delayMicroseconds(150); // Approximately 10% duty cycle @ 1KHz
  digitalWrite(9, LOW);
  delayMicroseconds(1000 - 150);
}
De este modo, mantenemos la salida 9 activada ese 1,5ms que necesitamos. Es decir la manera de actuar es la siguiente:
  1. Conectamos el servo a la patilla 9 de arduino y a alimentación
  2. Cargamos el programa en arduino.
  3. El motor empezará a girar, no sabemos hacía que lado, en este momento, debemos girar el potenciómetro hasta que ser quede quieto del todo.
  4. Bloqueamos el potenciómetro para que se quede fijo en esta posición
Si no realizamos esto, el motor sólo girará hacía un lado, perdiendo la inversión de giro que queremos.
Una vez que ya tenemos nuestro servo operativo, podemos usar el código que nos facilita Discovery en su blog:
#define SERVO1 9
#define SERVO2 10
#define CEN 0

void setup()
{
}

void loop()
{
throttle(100,-100);
}

// Maneja el avance o retroceso, recibe la velocidad desde -100 a 100 %
void throttle(int Mot1, int Mot2)
{
  analogWrite(SERVO1,(Mot1> CEN || Mot1<-CEN) ? map(-Mot1,-100,100,135,225):0);
//Giro al contrario
  analogWrite(SERVO2,(-Mot2> CEN || -Mot2<-CEN) ? map(Mot2,-100,100,135,225):0);
}

Así podremos controlar varios motores, su velocidad y su sentido. Y esto es todo para poder tener un servo, os añado un video para que veáis cómo funcionan.

Usar gmail en lugar del webcartero de UC3M

Si soléis usar el webcartero de la UC3M habréis podido comprobar que la interfaz de usuario deja mucho que desear, sobre todo si lo comparamos con servicios como Gmail.

Otro de los inconvenientes de usar webcartero es que, obviamente, tienes que meterte en la página para ver si tienes algún correo, y en muchos casos puede pasar días hasta que te acuerdes de meterte.

En este artículo vamos a explicar cómo usar todas las funcionalidad de webcartero en nuestra cuenta de gmail. Son bastantes los pasos que hay que realizar, pero realmente merece la pena la comodidad que se tiene una vez configurado.

Lo primero que hacemos es meternos en la web de preferencias del correo. Nos aparecerán dos textos para meter nuestro NIA y la contraseña. Los introducimos y aceptamos.

A continuación nos aparecerá una página con dos opciones, una de ellas es Redireccion de la cuenta de correo. Al activarla nos pedirá a qué dirección de correo queremos reenviar los correos electrónicos. Aquí usamos una característica de gmail, que es el crear una cuenta de correo virtual. En el texto de email, pondremos nuestra cuenta de gmail añadiento “+uni”.

Ejemplo: si nuestra dirección en gmail es pepito@gmail.com, en el texto pondremos pepito+uni@gmail.com


Una vez hecho esto, nos vamos a nuestra dirección de gmail. En la parte superior de gmail, donde la barra de búsqueda, pulsamos en Crear un Filtro:

Y nos saldrán las opciones para configurar el filtro que vamos a crear, lo único que tenemos que rellenar es el campo: De: Ahí pondremos @uc3m.es. De este modo todos los correos que lleguén de los servidores de la UC3M los podremos filtrar. Y pulsamos Paso siguiente.

Nota: si quisiéramos añadir más direcciones de correo para que las filtre, sólo tendríamos que poner: @uc3m.es OR usuario@servicio.com

Ahora elegiremos qué queremos hacer con los correos filtrados.

Tendremos que marcar las opciones que se muestran en esta imagen. Lo que hacemos es, archivarlo, ponerle el email en la etiqueta Universidad y decir que nunca vaya a Spam. De este modo tendremos todos los correos organizados en la etiqueta universidad.

De este modo hemos conseguido recibir los correos de la uni en nuestra cuenta de gmail. Hay que tener especial cuidad por que  los correos en webcartero se borran y la única copia disponible es la que tenemos en gmail, así que mucho cuidado con borrar los correos electrónicos, por eso se marca la opción de nunca manda a spam.

Ahora vamos a configurar gmail para poder Enviar correos con la dirección de @alumnos.uc3m.es. Nos vamos a preferencias de gmail en la parte superior derecha. Nos dirigimos a la pestaña Cuentas e importación. Y nos centramos en el apartado Enviar Mensaje Como:

Pulsamos en el botón Enviar correo desde otra dirección y nos aparecerá un asistente para meter nuestro nombre y la dirección de correo. Metemos nuestro nombre y la dirección de correo TUNIA@alumnos.uc3m.es y pulsamos siguiente. Este paso el más importante de todos, tenéis que poner los datos tal cual en la imagen, a excepción del Nombre de Usuario que será el NIA y Contraseña que cada uno pondrá el suyo. Para terminar pulsamos Añadir cuenta.


A continuación recibiremos un mail con un código de confirmación que deberemos añadir.Ahora a cada uno ya le debería a parecer la cuenta de @alumnos.uc3m.es disponible para mandar correos. Marcamos la opción de Responder desde la misma direccion a la que se ha enviado el mensaje.

Si ahora creamos un nuevo email, gmail nos da la posibilidad de elegir desde qué cuenta queremos enviar el correo. Tendremos que fijarnos bien cuando mandemos un mail a un profesor que la cuenta sea la de @alumnos.uc3m.es

Un valoir añadido de esta configuración es que si tenemos un móvil con Android podremos enviar correos con la dirección de la uc3m desde el movil:

El último paso que queda,pero no explico, sería el de añadir las direcciones de email de los profesores a nuestros contactos en gmail.

Espero que os haya servido de ayuda, llevo usando este sistema desde que entré en la uni y ví que webcartero no me gustaba. De este modo siempre recibirás los correos de la universidad y tienes la opción de, si tienes un móvil android, poder enviar los correos más rápidamente. Si tenéis cualquier duda o problema no dudéis en dejar un comentario.

Robot con arduino I

Este verano he empezado a Hacer un robot con arduino. Utilicé la placa de Arduino Duemilanove que tenía, pero al empezar a meter motores, cables y demás en la estructura, vi que esta placa es demasiado grande para esto. Buscando por ebay encontré un Arduino Nano por 10€ que es bastante más pequeño que el arduino Duemilanove

20110823 102414

Me ha llegado hoy el paquete con el arduino, un cable micro-usb y cables para conectar sensores y demás al arduino.20110823 103746

Lo primero que he hecho ha sido soldarle los pines de conexión al arduino para poder conectarle los cables de manera cómoda.

EDICIÓN: Por recomendación del vendedor, los pines hay que soldarlos en la capa superior, como se indica en esta imagen:

 

Lo siguiente será conectarle los motores y sensores, pero estoy a espensas de comprar un chip de potencia para motores y poder terminar la etapa de potencia de Txapuzas Electrónicas

Iré poniendo aquí los avances que vaya teniendo.