Es posible controlar la posicion del eje de un servo desde la tarjeta Arduino, esto se logra enviando cierta cantidad de pulsos por segundo, lo cual el servo traduce como la posicion en la que se desea colocar el eje. Para realizar esta tarea de una forma mas sencilla Arduino posee una libreria llamada Servo la cual posee una clase que permite conectar el servo a los pines 9 o 10 de la tarjeta (estos pines soportan PWM) y colocar el eje en el angulo requerido.
Para controlar un servo se puede utilizar :
A continuacion se muestra el codigo para generar el movimiento mostrado en el video :
#include <Servo.h> #undef int #undef abs #undef double #undef float #undef round Servo myservo; void setup() { myservo.attach(9); } void loop() { myservo.write(0); delay(1000); myservo.write(90); delay(1000); myservo.write(180); delay(1000); myservo.write(90); delay(1000); }
El servo se debe conectar a la alimentacion de la tarjeta, cable negro a tierra/GND y cable rojo a voltaje, el cable naranja debe conectarse al pin 9.
Para mayor informacion de la libreria :
http://arduino.cc/en/Reference/Servo
Un servo es un motor que no gira completamente y que puede posicionarse en cualquier angulo que este dentro de su rango de funcionamiento, de este modo es posible controlar la posicion actual del servo y el mismo corrige su posicion si se ve afectada. Los servos son muy utilizados en robotica como por ejemplo en la construccion de las articulaciones, lo cual permite controlar el el movimiento del brazo con gran presicion.
Internamente el servo posee un motor el cual cuenta con una serie de engranajes para aumentar la fuerza con que actua sobre el elemento a mover, asi como tambien posee un circuito electronico encargado de posicionar el eje en determinado angulo (generalmente tienen una capacidad de giro entre 0 y 180 grados), ademas de corregir la posicion del mismo si se ve afectado por una fuerza externa. El servo posee un conector con tres terminales dos para el suministro de la energia (tierra,voltaje) y un terminal que permite modificar la posicion por medio de PWM o modificacion por ancho de pulso. Los servos generalmente vienen acompañados de los tornillos para fijarlos, como tambien una serie de conectores para el eje que permiten utilizar el servo para diferentes propositos.
El servo que se muestra en el video tiene las siguientes caracteristicas :
Existen una gran variedad de servos para gran cantidad de aplicaciones, la diferencias principales estan en la precision, la duracion, el torque y la velocidad.
No he presentado oficialmente la Arduino en este blog, entonces aqui vamos :
Arduino es una plataforma abierta (tanto software como hardware)
de computacion fisica (interaccion entre el mundo fisico y el virtual en el computador)
de bajo costo, basada en una tarjeta o placa que posee un microcontrolador el cual
puede ser programado utilizando el lenguaje Wiring y C++
y que se conecta con inumerables aplicaciones en el computador
o como aparece en la pagina oficial
Arduino es una plataforma de fuente abierta para prototipado electronico
basada en un hardware y software flexible.
Desarrollada para todos aquellos que quieran desarrollar ambientes y objetos interactivos, artistas y entusiastas.
En terminos mas terrenales, Arduino es una tarjeta electronica multiproposito que posee su propio ambiente de desarollo y que puede ser utiilizada para crear objetos y ambientes que respondan a acciones externas, con esta tarjeta se puede crear desde un interruptor hasta robots, juegos de video, dispositivivos con localizacion geografica y muchos mas, no hay limites.
Otro servicio que debo configurar es el servicio de correo, el cual permita desde la aplicacion web enviar mensajes a los usuarios a sus correos o a sus celulares con SMS enviados a traves de email, para esto necesitaba un servicio de correo y el Postfix es el servicio por defecto con el cual viene el Ubuntu Server, pero en el caso de mi maquina en EC2 debia instalarlo por que solo tenia los paquetes basicos. http://www.marlonj.com/blog/2008/11/gis-en-amazon-ec2/
Para instalar el Postfix simplemente ejecutar y configurarlo como Internet Site (dejando la configuracion por defecto)
Al momento de realizar las pruebas los servidores de correo trataban como spam los mensajes enviados desde el postfix, esto se debe a que algunas personas han utilizado los servicios de EC2 para el envio indiscriminado de correo y por tal las direcciones ip de los servidores de Amazon han quedado almacenadas en los servicios antispam.
Por tal motivo busque una forma de hacer que el servidor enviara a otro servidor (smarthost) el correo para que este fuera quien finalmente enviara el mismo, primero prove con mi servidor de correo de Dreamhost pero no me fue posible debido a que el servidor en Dreamhost verifica la procedencia primero antes de realizar la verificacion de usuario. Despues me encontre que podia hacer que GMail enviara el correo, asi que hice los siguientes cambios :
cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pemCon esta nueva configuracion los correos enviados por el servidor, son pasados a mi cuenta de GMail la cual se encarga de entregar el correo, adicional a esto en mi bandeja de salida de correos quedan copias de todos los correos enviados lo cual puede ser molesto si un gran numero de estos.
Desafortunadamente al servidor de proyectos donde debia tener el proyecto del Sistema de Informacion Geografico se le quemo la fuente, por tal motivo estuve buscando una solucion para tener un servidor temporal de tal modo que pudieramos hacer pruebas antes de entregar los trabajos de este semestre, pero ya me cojio un poco la tarde para instalar uno en una maquina local, asi que lo monte el servidor utilizando los servicio del Amazon Elastic Compute Cloud.
Estos son los pasos a grandes rasgos que se deben realizar para crear un servidor Ubuntu Linux 8.10 con los paquetes necesarios para el GIS :
i-ae0bf0c7Debemos instalar los servidores para prestar el servicio web, base de datos, mapas
http://ec2-67-202-51-223.compute-1.amazonaws.com/~liongis
Nos debe mostrar el contenido del directorio
http://ec2-67-202-51-223.compute-1.amazonaws.com/~liongis/liongis
Para detener la instancia debemos ejecutar el comando
Guia de Inicio Completa Amazon Elastic Compute Cloud :Getting Started Guide (API Version 2008-08-08)
http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/