Página principal
    Arduino
              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. aserie
    El 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 uno
    
    La 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.
    
    
    PROGRAMA
    
    Saludos.
    Juan Galaz
    
    
    
      Bibliografía:
      
    Arduino_Uno 1.0.1  programado por 
      Rolfdahl-skogstade