Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como criar uma Rede de Sensores com Arduino

Uma rede de sensores é um sistema composto por múltiplos dispositivos de sensoriamento que coletam dados do ambiente e os transmitem para um ponto central para análise. No contexto do Arduino, criar uma rede de sensores é uma tarefa viável e bastante educativa. A seguir, vamos detalhar como você pode montar uma rede de sensores utilizando o Arduino e o módulo de comunicação sem fio NRF24L01.

Componentes Necessários

  • Múltiplos Arduinos (pode ser Uno, Nano, etc.)
  • Módulos de comunicação sem fio NRF24L01
  • Sensores (por exemplo, DHT11 para temperatura e umidade)
  • Protoboard e jumpers

Configuração do Hardware

Cada Arduino será configurado com um sensor e um módulo NRF24L01. O módulo NRF24L01 se comunica via SPI, então os pinos de conexão são os seguintes para um Arduino Uno:

  • VCC -> 3.3V
  • GND -> GND
  • CE -> Pin 9
  • CSN -> Pin 10
  • SCK -> Pin 13
  • MOSI -> Pin 11
  • MISO -> Pin 12

Código para o Nó Sensor

Cada nó sensor irá ler os dados do sensor e enviar para o nó central. Abaixo está um exemplo de código para um nó sensor utilizando um sensor DHT11 para medir temperatura e umidade.

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
RF24 radio(9, 10); // CE, CSN

const byte address[6] = "00001";

void setup() {
  Serial.begin(9600);
  dht.begin();
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float data[2] = {t, h};
  radio.write(&data, sizeof(data));

  delay(2000);
}

Código para o Nó Central

O nó central irá receber os dados dos sensores e exibi-los no monitor serial.

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(9, 10); // CE, CSN

const byte address[6] = "00001";

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
}

void loop() {
  if (radio.available()) {
    float data[2];
    radio.read(&data, sizeof(data));
    Serial.print("Temperature: ");
    Serial.print(data[0]);
    Serial.print(" Humidity: ");
    Serial.println(data[1]);
  }
}

Explicação do Código

  • Nó Sensor: Inicializa o sensor DHT11 e o módulo NRF24L01. Lê os dados de temperatura e umidade, e os envia para o nó central a cada 2 segundos.
  • Nó Central: Inicializa o módulo NRF24L01 e fica em modo de escuta para receber os dados enviados pelos nós sensores. Quando os dados são recebidos, eles são exibidos no monitor serial.

Considerações Finais

Criar uma rede de sensores com Arduino e módulos NRF24L01 é uma excelente maneira de aprender sobre comunicação sem fio e sensoriamento ambiental. Esse exemplo pode ser expandido para incluir mais sensores e nós, bem como para implementar funcionalidades mais avançadas, como armazenamento de dados e visualização gráfica.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.