Página principalArduino
Gambas
Control entradas salidas
Hace unos 5 años había realizado una serie de montajes donde controlaba una placa de arduino mediante un programa ejecutado en un PC o RaspberryPi.
Lo había realizado en C y con la librería SDL, funcionaba tanto en Linux como en Windows.
25/06/2012 - ARDUINO - Control de 12 salidas y 6 entradas analógicas mediante rs232-Librería SDL. aseriea
19/06/2012 - ARDUINO - Control de entradas mediante rs232 - Librería SDL. aseriee
10/06/2012 - ARDUINO - Control de salidas mediante rs232 -Librería SDL. aserieEl otro día probando el nuevo Debian 10, se me ocurrió instalar gambas y probar un programa que se encontraba en la granja de programas.
Era
Arduino_Uno 1.0.1 programado por
Rolfdahl-skogstade, además de controlar el arduino a través del PC, tenía la posibilidad de ver el estado de las entradas o salidas en un navegador web. Nunca se me ocurrió el hacer un servidor web con Gambas.
También se posibilitaba el poder cambiar las salidas a través de un navegador, desde el PC o teléfono.
En este montaje realizo algo parecido, pero en 3 montajes diferentes.
-17 salidas.
-17 entradas.
-12 salidas y 5 entradas analógicas.También se puede visualizar en un navegador el estado de los
pins del arduino, o los valores de la señales analógicas.
Para otro proyecto se podrá cambiar el estado de los
pins a través del navegador.
En el programa realizado en gambas, he utilizado partes de código realizado por
Rolfdahl-skogstade , sobre todo en la parte del servidor web, he interface gráfico. En cuanto al resto del código se ha rehecho totalmente, los cambios en la comunicación con el arduino son completamente nuevos, basados en mis viejos montajes.
En cuanto al programa realizado para el arduino, los códigos se basan en anteriores montajes míos, son del tipo: petición de dato a través del interface serie, y respuesta por parte del arduino a través del mismo interface serie.
Por ejemplo:
SET 8,0 Apagar pin 8
SET 8,1 Encender pin 8
ANA 0 Se solicita el valor de pin ANALOG 0
El arduino devolverá el valor de ANAGOL-A0: VAL 0,350
Desde cualquier terminal serie, cutecom, o del propio terminal de arduino se pueden ejecutar las ordenes.
Podemos entender que el programa en gambas hace el control mucho mas fácil, a través de su interface gráfica.
Además busca automáticamente el puerto donde está conectado el arduino.

Circuito montado. Modelo 17 salidas.
Para no tener que colocar una resistencia para cada LED, simplifico el montaje colocando una resistencia común a GND para todos los LEDS. Esto implica que dependiendo de los LEDS que estén encendidos, lucirán mas o menos.

Programa gambas. 17 salidas.

Programa gambas. 17 entradas.
Programa gambas. 5 entradas analógicas, 12 salidas digitales.

Visualización en navegador. 5 entradas analógicas, 12 salidas digitales.Como podéis observar en el montaje he utilizado un
arduino nano, y para la representación el
arduino uno.
Las pruebas las he realizado en las dos placa de arduino, funcionando perfectamente en ambas.
Aunque el
arduino nano tiene A6 y A7 no las he empleado por compatibilidad con el
arduino unoLa actualización de los datos desde que se cambia un valor hasta que se ve reflejado es de 1 segundo.
Se puede mejorar aumentando la velocidad en Baudios y el tiempo de retardo, para este montaje no hace falta mucha velocidad, por lo que lo he dejado así.
En el navegador web si queremos ver los datos actualizados, debemos actualizar la página web, aunque se actualiza automáticamente cada 120 segundos.
PROGRAMASaludos.
Juan Galaz
Bibliografía:
Arduino_Uno 1.0.1 programado por
Rolfdahl-skogstade