Um ramo interessante da robótica é acrescentar inteligência aos objectos do quotidiano. Este domínio é designado por domótica para as casas e IoT (Internet of Things) para os objectos ligados. Um dos principais objectivos da domótica é monitorizar o que está a acontecer numa casa ou apartamento para que se possa responder adequadamente. Neste primeiro projeto de domótica, vamos monitorizar a temperatura de uma divisão e enviar as medições para uma aplicação de smartphone. É um projeto simples em que utilizamos a comunicação série com o módulo Bluetooth, um sensor de temperatura e uma aplicação para Smartphone criada com o App Inventor 2.
Hardware
- Smartphone
- Arduino UNO
- Bateria de 5V
- Sensor de temperatura LM35
- Módulo Bluetooth HC-06
Esquema elétrico
N.B.: O módulo representado no esquema é o módulo HC-05, mas os pinos têm as mesmas funções que no HC-06.
Code
Na especificação técnica do sensor LM35, encontramos a faixa de medição de temperatura e a regra de conversão entre temperatura e tensão. Uma vez medida a tensão de saída do sensor e convertida em temperatura, estes dados são enviados para o Smartphone via Bluetooth. Para enviar vários dados através da porta série, uma técnica consiste em concatenar os dados numa cadeia de caracteres com um separador predefinido (“x”) para facilitar a recuperação dos dados.
#include <SoftwareSerial.h> SoftwareSerial HC06(2,3); // Constants #define DELAY 1000 // Delay between two measurements in ms // Parameters const int sensorPin = A0; // Pin connected to sensor // Variables float voltage, temperature; void setup(void) { Serial.begin(9600); HC06.begin(9600); } void loop(void) { voltage= analogRead(sensorPin) * (5.0 / 1023.0); // Convert digital value to voltage temperature=100*voltage; // conversion from V to °C Serial.print("Sensor reading = "); Serial.println(temperature); // the temperature reading // Send voltage and temperature value to app HC06.print(voltage); HC06.print("x"); HC06.print(temperature); delay(DELAY); }
App de mesure de température
Criamos uma aplicação simples no sítio Web App Inventor 2. Os dados do sensor (tensão e temperatura) são enviados sob a forma de uma String para uma aplicação Android. Para obter as informações contidas na cadeia de caracteres, é necessário separar o texto com o separador predefinido “x”. Obtemos então uma lista de dois elementos que contém os dois dados que podemos apresentar nas zonas de texto da aplicação.
O módulo Bluetooth deve estar registado na lista de dispositivos Bluetooth do seu telefone. O módulo Bluetooth HC-05 ou HC-06 deve ser emparelhado com o telemóvel pelo menos uma vez antes de utilizar a aplicação.
Pode descarregar o projeto aia aqui.
Se desejar obter mais informações sobre este projeto ou se achar que falta alguma coisa, deixe um comentário ou contacte-nos.