fbpixel
Etiquetas: , , , ,

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

sensor-lm35-arduino-nano-bluetooth-hc05_bb Medição da temperatura com o seu smartphone

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.

home-measurement-app Medição da temperatura com o seu smartphone
home-measurement-app-designer Medição da temperatura com o seu smartphone
home-measurement-app-scratch Medição da temperatura com o seu smartphone

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.

Source