¿Que hace un hombre de mi edad encendiendo y apagando lucecitas? No lo he hecho como me gustaría, lo haré, pero de momento consigo encender y apagar un led a distancia, vía internet.
Utilizo RealTerm, estaba en otro tema cuando me encontré con RealTerm, Excel y Arduino. No buscaba controlar un apagado -encendido desde la red, estaba intentado hacer una gráfica en excel con los datos leídos y pasados por Arduino.
- En una entrada de mi blog dedicado a Excel pongo la lista de comandos a ejecutar, enmarcados por unas palabras clave, que me permite identificar claramente el área de comandos. Tan fácil como limitar este area con "Inicio lista de comandos" y "Fin lista de comandos"
- Con el vbasic de Excel leo periodicamente esa entrada en mi blog.
- RealTerm es un terminal serie que permite comunicar el ordenador con Arduino, es equivalente al monitor de Arduino.
- Para comunicar Excel y Arduino hay que insertar un objeto en la programación VBasic que nos permita esa comunicación. RealTerm tiene en internet un ejemplo incompleto de como se inserta el objeto RealTerm. Dándole vueltas y echando un poco de imaginación terminé encontrado algunas sentencias, que no encontré en internet, que me permitieron automatizar esa comunicación.
- En Arduino preparé un pequeño programa que lee la entrada serie y que, entre otras cosas, al reconocer el comando de encendido, enciende, y al reconocer el comando de apagado, apaga.
- Resumiendo hay tres niveles de programación, VBasic propiamente dicho, inserción de RealTerm y lo que queramos que haga el microcontrlador.
Inserción de RealTerm:
Sub AbreRealterm()
Dim Puerto, Baudios, Captura, Titulo, FicCap, FicEnvio
Set RT = CreateObject("Realterm.RealtermIntf")
With Sheets("Aux")
Puerto = .Range("b3").Value
Baudios = .Range("c3").Value
Captura = .Range("d3").Value
FicCap = .Range("e3").Value
FicEnvio = .Range("f3").Value
Titulo = .Range("g3").Value
End With
With RT
' .displayas = 1
.HalfDuplex = True
.Caption = Titulo ' "Realterm Controlado desde Excel"
.port = Puerto
.baud = Baudios
.capture = Captura 'True
.portopen = True
' .capture = False
'.sendfile = "c:\temp\Envios.txt" ' False
.capturefile = FicCap '"c:\temp\Captura.txt"
' .SelectTabSheet ("I2C")
End With
End Sub
Sub RealtermVisible()
Sheets("Inicio").Select
ActiveSheet.Shapes("Button 7").Select
If RT.Visible Then
Selection.Characters.Text = "Ver Realterm"
RT.Visible = False
Else
Selection.Characters.Text = "No Ver Realterm"
RT.Visible = True
End If
ActiveSheet.Range("a1").Select
End Sub
Sub ActualizaTerminal()
With RT
' .HalfDuplex = True
'.Caption = "Realterm Controlado desde Excel"
'.portopen = True
'.port = 14
'.baud = 9600
'.capture = "file = c:\temp\xxxx.txt"
' .sendfile = "c:\temp\xxxx.txt" ' False
' .capturefile = "c:\temp\xxxx.txt"
' .ansi = True
' .SelectTabSheet ("I2C")
.capture = False
' .capture = True
.sendfile = "c:\temp\Envios.txt" ' False
.capturefile = "c:\temp\Captura.txt"
.terminal.Clear
'.capturestart = 0
'.alfduplex = True
End With
End Sub