Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando
-- Tutorial de iniciación a Autoit --
Volver al índice del tutorial
____________________________
68B.- Sensor de humedad y temperatura DHT 11. Consulta temperatura y humedad.
- En los tutoriales de Arduino vimos el sensor DHT 11:
http://kio4.com/arduino/45humedad.htm
- Con el sensor DHT 11 podemos captar humedad y temperatura.
- En esta aplicación tenemos dos botones, según pulsemos uno u otro, obtendremos por bluetooth la temperatura o humedad del sensor DHT 11.
___________________________________________
1.- Conexión del Arduino, el módulo Bluetooth HC-06 y el sensor DHT 11.
- Esto ya lo hemos visto en el tutorial anterior.
- 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á.
- Como se ve en la imagen, el terminal Data del módulo del sensor DHT 11 está conectado al terminal 10 del Arduino. |
|
___________________________________________
3.- Código del Arduino.
- NOTA: cuando vayas a cargar el programa en el Arduino, desconecta la alimentación del módulo bluetooth.
bluetooth_autoit_dht11.ino |
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com
#include "DHT.h"
#define DHTPIN 10
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
char val;
void setup() {
Serial.begin(9600);
}
void loop(){
if( Serial.available() )
val = Serial.read();
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
if( val == 'A' )
{
Serial.print(temperatura);
Serial.print("T:");
delay(300);
}
if( val == 'B' )
{
Serial.print(humedad);
Serial.print("H:");
delay(300);
}
}
|
___________________________________________
4.- Código de AutoIt.
- 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_consulta.au3 |
#include <CommMG.au3>
#include <GuiComboBox.au3>
#include <windowsconstants.au3>
#include <buttonconstants.au3>
#include <GUIConstantsEx.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Consultar - Juan A. Villalpando", 387, 256, 368, 166)
$Btntemperatura = GUICtrlCreateButton("Consultar temperatura", 36, 57, 149, 30, $BS_FLAT)
$Btnhumedad = GUICtrlCreateButton("Consultar humedad", 201, 57, 141, 30, $BS_FLAT)
$Label1 = GUICtrlCreateLabel("La temperatura es: ", 32, 136, 316, 17)
$Label2 = GUICtrlCreateLabel("La humedad es: ", 32, 178, 316, 17)
GUISetState(@SW_SHOW)
; Juan A. Villalpando
#EndRegion ### END Koda GUI section ###
While Conecta(0) = -1
WEnd
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "Salir")
GUICtrlSetOnEvent($Btntemperatura, "Temperatura")
GUICtrlSetOnEvent($Btnhumedad, "Humedad")
While 1
$recibido = _CommGetLine(':', 0, 0)
If StringInStr($recibido, "T:") Then
GUICtrlSetData($Label1, "La temperatura es: " & $recibido)
EndIf
If StringInStr($recibido, "H:") Then
GUICtrlSetData($Label2, "La humedad es: " & $recibido)
EndIf
WEnd
Func Salir()
Exit
EndFunc
Func Temperatura()
_CommSendstring("A" & @CR)
EndFunc
Func Humedad()
_CommSendstring("B" & @CR)
EndFunc
Func Conecta($mode = 1)
Local $Error
$abre_este_puerto = _CommSetPort(29, $Error, 9600, 8, 1, 1, 2)
Sleep(1000)
EndFunc
|
___________________________________________
4.- Comentarios.
- El AutoIt envía una "A" o una "B" por Bluetooth.
- El Arduino según reciba "A" o "B", toma la temperatura o la humedad y la envía de esta manera
25.00T:
57.00H:
- Los dos puntos se ponen para indicarle al AutoIt fin del envío. La T y la H para diferenciar temperatura o humedad.
- El AutoIt recibe la información, los dos puntos ":" le indica fin del envío.
- Según reciba T: o H: se escribirá en Label1 o en Label2, la temperatura o humedad.
_________________
- Propuesta.
- Se escribe de esta manera
La temperatura es: 25.00T:
- Se propone que mejores el código y quites el T:, para que aparezca 25.00 º
_________________
|