ESP32 Abridor de Cortina IoT (Servo SG90)
Toque em + ou − no celular e o servo gira para esse ângulo no mesmo instante: abra e feche uma cortina de maquete, a haste de uma persiana ou uma tampinha de onde você estiver. Este projeto é o guia passo a passo do modelo IoT Cortina com servo do app, com um ESP32 e um servo SG90, 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.

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: Cortina com servo
- 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.
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

Código-fonte
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// ESP32 Abridor de Cortina IoT (Servo SG90)
4// ─────────────────────────────────────────
5// O modelo IoT "Cortina com servo" do app BlueGrays: o ajuste Ângulo da
6// cortina do app (botões + e −) gira o servo SG90 para o ângulo que você
7// quiser entre 0 e 180 graus, então você abre e fecha pelo celular uma
8// cortina de maquete, a haste de uma persiana ou uma tampinha. O Ohmi
9// prepara o código de verdade no app com a sua própria chave de
10// dispositivo (Oficina › Dispositivos › Adicionar dispositivo); o código
11// daqui é um exemplo, a chave do dispositivo e os dados do Wi-Fi são
12// valores de exemplo. Gerenciador de bibliotecas: BlueGraysIoT (com as
13// dependências) e ESP32Servo. A placa só se conecta a redes Wi-Fi de 2,4
14// GHz. O SG90 é um servo pequeno; uma cortina de verdade precisa de um
15// servo mais forte com alimentação própria de 5 V, e não coloque os dedos
16// no braço que gira.
17//
18// Pinos:
19// GPIO18 -> Sinal do servo (laranja)
20// 5V, GND -> Servo V+ (vermelho), GND (marrom)
21// Pico W: sinal do servo GP17
22
23/*
24 * Cortina com servo · BlueGrays IoT
25 * BlueGrays · bluegrays.com
26 * Não compartilhe este código: ele contém a chave do dispositivo e a senha do Wi-Fi.
27 */
28
29#include <BlueGraysIoT.h>
30#include <ESP32Servo.h> // Gerenciador de bibliotecas: 'ESP32Servo'
31
32const char *DEVICE_KEY = "SUA_CHAVE_DO_DISPOSITIVO";
33const char *WIFI_NAME = "SUA_REDE_WIFI";
34const char *WIFI_PASSWORD = "SUA_SENHA_WIFI";
35
36BlueGraysIoT bg(DEVICE_KEY);
37
38const int SERVO_PIN = 18;
39Servo servo;
40
41void setup() {
42 Serial.begin(115200);
43 servo.attach(SERVO_PIN);
44 bg.onNumber("aci", [](float v) { servo.write((int)v); });
45 bg.setDebug(Serial);
46 bg.setLanguage(BG_LANG_EN);
47 bg.begin(WIFI_NAME, WIFI_PASSWORD);
48}
49
50void loop() {
51 bg.loop(); // evite delay() longos aqui
52}
53Perguntas 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 Cortina com servo; 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 uma Pico W?
Funciona. Ao adicionar o dispositivo, escolha Pico W como placa; o código continua igual, o pino do servo vira GP17 e o código usa a biblioteca Servo que vem com o pacote pico no lugar da ESP32Servo, então não precisa instalar mais nada. Ligue o fio vermelho do servo no VBUS (5 V). Na Arduino IDE, instale o pacote "pico" pelo Gerenciador de placas. O circuito e a foto desta página foram feitos com um ESP32.
Um SG90 consegue puxar uma cortina de verdade?
Não. O SG90 é um servo pequeno; ele gira uma cortina de maquete, a haste de uma persiana ou uma tampa leve. Uma cortina de verdade precisa de um servo forte como o MG996R ou de um motor com redução. Alimente um servo forte com um carregador de 5 V separado de pelo menos 2 A, não pelo pino 5V da placa, e ligue o GND do carregador no GND da placa. Não coloque os dedos no braço que gira e não deixe obstáculos duros no caminho dele.
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.
