Arduino
Control de 12 salidas y 6 entradas analógicas
mediante rs232
Librería SDL
Control de 12 salidas y 6 entradas analógicas
mediante rs232
Librería SDL
xsetaseta@gmail.com
Esta es la continuación de mi anterior trabajo Arduino ,Control de salidas mediante rs232 .
En el PC se ha realizado un programa mediante la librería SDL donde se muestra el estado de 6 entradas analógicas con un piloto verde y el valor en voltios, y 12 salidas digitales.
Como lenguaje he utilizado el C, hubiese sido mas fácil hacerlo en Visual Basic en Windows y en Gambas bajo Linux, pero mi meta era hacerlo multiplataforma y utilizar el mismo código para ambas plataformas.
Para mandar las ordenes al arduino se puede utilizar la consola del programador de arduino o cualquier otro programa de comunicaciones como por ejemplo CuteCom o minicom en Linux.
Para pedir el valor del pin analógico 0 se realiza mediante la orden IANA0, y la placa arduino devuelve ANA0=valor, siendo un valor entre 0 y 1023. El valor 1023 corresponde a el valor de Vcc, alrededor de 5V. El programa en el PC lo transforma a voltios reales medidos. Existe variación en el valor de Vcc dependiendo si se alimenta a través del USB o a través de un alimentación externa. Esta diferencia origina una diferencia en el valor medido. Para solucionar este problema he puesto la posibilidad de seleccionar el tipo de alimentación.
Para activar el pin Digital13 se manda al arduino la orden 1Dig13, entonces el arduino pone el pin Digital13 a 5V. Si recibe la orden 0Dig13 el arduino pone la salida Digital13 a 0V.
Programa en el PC funcionando.
PROGRAMA , fuentes y programas compilados para Windows y Linux.
Lo que me satisface más, es el poder compilar para las dos plataformas, Linux o Windows, con solo cambiar la directiva YesWindows 0 por #define YesWindows 1 .
Como he dicho en el anterior trabajo, la programación se ha realizado en Linux con el IDE Anjuta, y en Dev-C++ bajo Windows.
Un saludo.
Juan Galaz
No hay comentarios:
Publicar un comentario