|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

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.- Comentari
os.

- 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 º

_________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información