Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando
-- Tutorial de iniciación a Autoit --
Volver al índice del tutorial
____________________________
66.- Bluetooth y Arduino mediante AutoIt. Enviar datos desde el Arduino al ordenador. Simplificado.
- Este tutorial es una continuación de los anteriores.
- Realmente es el mismo que el anterior, solo que he simplificado el código.
- Los datos del puerto están directamente establecidos en el código, no sale la ventana para poner sus valores.
___________________________________________
1.- Conexión del Arduino y el módulo Bluetooth HC-06.
- Esto ya lo hemos visto en varios tutoriales: 9bluetootharduino.htm
- Forma de conectarlo.
Módulo Bluetooh |
Arduino |
VCC |
5 V |
GND |
GND |
TXD |
RX (es la conexión 0 del Arduino) |
RXD |
TX (es la conexión 1 del Arduino) |
- Fíjate que el TXD va con el RX y que el RXD va con el TX
- En el momento de alimentarlo con los 5V, el LED del módulo bluetooth parpadeará.
|
|
___________________________________________
3.- Código del Arduino. El mismo que el del tutorial anterior.
- Este código prepara el puerto Serie (terminales 0 y 1, donde está conectado el módulo bluetooth) para trasmitir/recibir información a 9600 baudios.
- Cuando recibe un 0 o un 1, apaga/enciende el LED13 del Arduino.
- Cuando pulsas un botón del Arduino, saldrá en la aplicación de AutoIt "Hola amigo", cuando pulses el otro botón saldrá "Me llamo Juan".
- NOTA: cuando vayas a cargar el programa en el Arduino, desconecta la alimentación del módulo bluetooth.
bluetooth_autoit_pulsador.ino |
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com
char val;
int ledPin13 = 13;
///////////////////// Arduino a Android
const int boton4 = 4;
const int boton9 = 9;
int buttonState4 = 0;
int buttonState9 = 0;
void setup() {
Serial.begin(9600);
pinMode(boton4, INPUT);
pinMode(boton9, INPUT);
pinMode(ledPin13, OUTPUT);
}
void loop(){
buttonState4 = digitalRead(boton4);
buttonState9 = digitalRead(boton9);
if (buttonState4 == HIGH) {
Serial.println("Hola amigo");
delay(50);
}
if (buttonState9 == HIGH) {
Serial.println("Me llamo Juan");
delay(50);
}
///////// Android a Arduino
/// LED 13
if( Serial.available() )
val = Serial.read();
if( val == '0' )
{
digitalWrite(ledPin13, LOW);
}
if( val == '1' )
{
digitalWrite(ledPin13, HIGH);
}
}
|
___________________________________________
4.- Código de AutoIt. Es el mismo que el del tutorial anterior. Simplificado.
- La librería CommNG.au3 la he puesto en la carpeta Include de donde está instalado el AutoIt.
- También es necesario commg.dll como vimos en el tutorial 62_bluethoot_arduino.htm
- Esta línea es donde se establece la configuración del bluetooth.
- El 29 es el COM29, el puerto del bluetooth en mi ordenador.
$abre_este_puerto = _CommSetPort(29, $Error, 9600, 8, 1, 1, 2)
bluetooth_autoit_arduino.au3 |
#include <CommMG.au3>
#include <GuiEdit.au3>
#include <GuiComboBox.au3>
#include <windowsconstants.au3>
#include <buttonconstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#Region ### START Koda GUI section ###
$Form1 = GUICreate("BT - Juan A. Villalpando", 473, 349, 339, 333)
$Edit1 = GUICtrlCreateEdit("", 10, 25, 449, 223)
$BtnEnviar = GUICtrlCreateButton("Enviar", 380, 273, 53, 30, $BS_FLAT)
$Input1 = GUICtrlCreateInput("", 18, 279, 361, 21)
$Label1 = GUICtrlCreateLabel("Texto a enviar.", 24, 261, 100, 17)
$Label2 = GUICtrlCreateLabel("Texto recibido.", 34, 6, 100, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While Conecta(0) = -1
WEnd
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "Salir")
GUICtrlSetOnEvent($BtnEnviar, "Envia")
GUICtrlSetState($Edit1, $GUI_FOCUS)
While 1
$recibidos = _commGetLine(@CR, 20, 200)
If $recibidos <> '' Then
GUICtrlSetData($Edit1, $recibidos, 1)
EndIf
WEnd
_Commcloseport(true)
Func Salir()
Exit
EndFunc
Func Envia()
_CommSendstring(GUICtrlRead($Input1) & @CR)
GUICtrlSetData($Input1, '')
EndFunc
Func Conecta($mode = 1)
Local $Error
$abre_este_puerto = _CommSetPort(29, $Error, 9600, 8, 1, 1, 2)
Sleep(1000)
EndFunc
|
___________________________________________
5.- Ejecución del Script de AutoIt.
- Según introduzcamos en el casillero un 0 o un 1 se apagará/encenderá el LED13 del Arduino.
- Según pulsemos un botón u otro del Arduino saldrá un mensaje.
_________________
- Propuesta.
- C
_________________
|