Página principal
Arduino
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