#377InicianteIoT

Pico W Contador de Movimento IoT (PIR)

Conte quantas vezes alguém passa por uma porta ou um corredor e veja o momento do movimento ao vivo no celular. Este projeto é o guia passo a passo do modelo IoT Detector de movimento do app, com uma Raspberry Pi Pico W e um sensor de movimento PIR, com só 3 fios. Vá em Oficina › Dispositivos › Adicionar dispositivo; o Ohmi prepara o código com a sua chave de dispositivo. O código daqui é um exemplo: a chave e o Wi-Fi são valores de exemplo.

0.0(0)
Pico W Contador de Movimento IoT (PIR)
Se você quer saber quantas pessoas passam pela sua porta por dia, ou quantas vezes o seu gato vai à cozinha de madrugada, este projeto é para você. Um sensor de movimento infravermelho percebe quando algo quente passa na frente, a placa conta cada movimento novo e o contador vai formando um gráfico no celular. Você também vê o momento do movimento ao vivo e zera o contador com um toque. Com só três fios, é um ótimo primeiro passo na Internet das Coisas.
IoT · controle remotoSeu primeiro dispositivo é grátis

Controle este dispositivo pelo app

Conecte seu ESP32 ou Raspberry Pi Pico W ao Wi-Fi, ligue e desligue pelo celular e veja as leituras ao vivo. O Ohmi prepara o código; você só informa os dados do Wi-Fi e faz o upload.

Modelo no app: Detector de movimento

  • Onde fica no app?Adicione um novo dispositivo pela aba Ferramentas ou em Oficina › Dispositivos e escolha este modelo.
  • Biblioteca ArduinoAbra o Gerenciador de Bibliotecas no Arduino IDE, procure BlueGraysIoT e instale.
Baixe o app grátis

O plano grátis inclui 1 dispositivo, 1 gráfico e 24 horas de histórico. Com o Premium, você tem mais dispositivos, mais gráficos e histórico mais longo.

Esquema do circuito

Pico W Contador de Movimento IoT (PIR) - Circuit

Código-fonte

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Pico W Contador de Movimento IoT (PIR)
4// ─────────────────────────────────────────
5// O modelo IoT "Detector de movimento" do app BlueGrays: quando o sensor
6// PIR vê um movimento, a placa avisa o app na hora, conta cada movimento
7// novo e o contador vai formando um gráfico no app; o botão Zerar contador
8// volta para 0. O Ohmi prepara o código de verdade no app com a sua
9// própria chave de dispositivo (Oficina › Dispositivos › Adicionar
10// dispositivo); o código daqui é um exemplo, a chave do dispositivo e os
11// dados do Wi-Fi são valores de exemplo. Gerenciador de bibliotecas:
12// BlueGraysIoT (com as dependências). Na Arduino IDE, escolha Raspberry Pi
13// Pico W como placa (pacote pico). A placa só se conecta a redes Wi-Fi de
14// 2,4 GHz. O sensor PIR precisa de cerca de 1 minuto para aquecer depois
15// de ligado; nesse tempo ele pode contar errado.
16//
17// Pinos:
18//   GP13 -> Sensor PIR OUT
19//   VBUS (5V), GND -> Sensor PIR VCC, GND
20//   ESP32: PIR OUT GPIO33, VCC 5V
21
22/*
23 * Detector de movimento · BlueGrays IoT
24 * BlueGrays · bluegrays.com
25 * Não compartilhe este código: ele contém a chave do dispositivo e a senha do Wi-Fi.
26 */
27
28#include <BlueGraysIoT.h>
29
30const char *DEVICE_KEY = "SUA_CHAVE_DO_DISPOSITIVO";
31const char *WIFI_NAME = "SUA_REDE_WIFI";
32const char *WIFI_PASSWORD = "SUA_SENHA_WIFI";
33
34BlueGraysIoT bg(DEVICE_KEY);
35
36const int PIR_PIN = 13;
37bool lastMotion = false; long counter = 0;
38
39void setup() {
40  Serial.begin(115200);
41  pinMode(PIR_PIN, INPUT);
42  bg.onSwitch("sifirla", [](bool on) { if (!on) return; counter = 0; bg.send("sifirla", false); });
43  bg.setDebug(Serial);
44  bg.setLanguage(BG_LANG_EN);
45  bg.begin(WIFI_NAME, WIFI_PASSWORD);
46}
47
48void loop() {
49  bg.loop();  // evite delay() longos aqui
50  bool motion = digitalRead(PIR_PIN) == HIGH;
51  if (motion && !lastMotion) counter++;
52  lastMotion = motion;
53  bg.send("hareket", motion);
54  bg.send("sayac", counter);
55}
56

Perguntas frequentes

Posso enviar o código desta página direto para a placa?

Pode, mas ela não vai se conectar: a chave do dispositivo e os dados do Wi-Fi são valores de exemplo. No app, vá em Oficina › Dispositivos › Adicionar dispositivo e escolha o modelo Detector de movimento; o Ohmi prepara o código com a sua chave, o nome da sua rede e a sua senha. Copie esse código e envie para a placa. Depois você vê o código completo em Dispositivo › Código e chave.

Funciona também com um ESP32?

Funciona. Ao adicionar o dispositivo, escolha ESP32 como placa; o código continua igual, só muda o pino do sensor: PIR OUT no GPIO33 e VCC no pino 5V. Na Arduino IDE, instale o pacote "esp32" pelo Gerenciador de placas. O circuito e a foto desta página foram feitos com uma Pico W.

O contador zera quando falta luz?

Sim. O contador fica na memória da placa, então volta a 0 quando a placa reinicia. O gráfico do app fica salvo no servidor, então os valores antigos não se perdem; só a nova contagem recomeça do 0. Para zerar você mesmo, toque no botão Zerar contador do app.

Minha senha do Wi-Fi e a chave do dispositivo estão seguras?

A senha do Wi-Fi fica no seu celular e nunca é enviada ao nosso servidor; ela entra no código ali mesmo, no celular. A chave do dispositivo só viaja no cabeçalho da conexão segura e nunca aparece no Monitor Serial. Mesmo assim, as duas estão dentro do código, então não compartilhe o código que você copia do app. Se alguém viu sua chave, gere outra com Renovar chave e envie o código novo.