Sistema de Votação Portátil com Conectividade GSM
Componentes Necessários
- 1x Arduino UNO
- 1x Adafruit FONA mini GSM Breakout (módulo SIMCom)
- 1x Protoboard tamanho completo
- 2x Botões táteis coloridos (Adafruit)
- 3x LEDs genéricos
Aplicativos e Serviços Online
- Hologram Data Router (roteamento de dados celular)
- IFTTT Maker Webhooks (integração com Google Sheets)
Sobre o Projeto
O Mobile Vote Box (Caixa de Votação Móvel) é um dispositivo portátil, alimentado por bateria, que envia cada voto via rede celular. Ideal para pesquisas rápidas em locais públicos sem pressão de grupo. O custo total fica em torno de US$ 50 (podendo cair para ~US$ 6 com componentes de fornecedores chineses).
Fluxo de Dados
- Usuário pressiona um botão (voto).
- Arduino envia string (ex.: "chicago" ou "newYork") ao Hologram Data Router via módulo GSM.
- Hologram transforma a string em JSON e envia para um Webhook do IFTTT.
- IFTTT adiciona uma linha em uma planilha Google Sheets.

Configuração Passo a Passo
1. IFTTT – Criar Applet
- Acesse IFTTT, crie conta ou entre.
- Crie novo Applet: If This → Webhooks → Receive a web request → Event Name:
vote. - Then That → Google Drive → Add row to spreadsheet.
- Configure a planilha (nome, pasta, colunas: Value1 = pergunta, Value2 = voto, Value3 = timestamp).
- Finalize e copie a Webhook Key (em
https://ifttt.com/services/maker_webhooks/settings).
2. Hologram – Dispositivo e Rota de Dados
- Crie conta no Hologram.io e ative seu SIM (plano Developer dá 1MB/mês grátis).
- No dashboard, crie um dispositivo (ex.: "Vote Btn #1").
- Vá em Routes → New Route:
- IN: Topic
vote - OUT: IFTTT Maker Webhook
- Webhook Key: cole a key do IFTTT
- Event:
vote - Data (JSON):
{"value1": "Pizza: Chicago or New York Style?", "value2": "<>"}
- IN: Topic
3. Testar Rota e Webhook
- No console Hologram: Devices → seu dispositivo → Messaging → Simulate from Device.
- Envie dados
chicagopara topicvote. - Verifique se a rota aparece como sucesso e se a linha apareceu no Google Sheets.
4. Hardware
- Obtenha o Device Key do Hologram (Devices → Configure → Show CSR Credentials).
- Monte conforme o esquemático abaixo.
- Substitua
HOLO_KEYno código pela sua Device Key.
Esquemático

Código (Arduino)
#include
#define RX_PIN 2 // SIMCom RX - MCU TX
#define TX_PIN 3 // SIMCom TX - MCU RX
#define RESET_PIN 4 // SIMCom reset
#define HOLO_KEY "########" // SUBSTITUA PELA SUA DEVICE KEY
#define CONNECT_LED 12
#define VOTE1_BTN_PIN 6
#define VOTE1_LED_PIN 7
#define VOTE2_BTN_PIN 9
#define VOTE2_LED_PIN 10
HologramSIMCOM Hologram(TX_PIN, RX_PIN, RESET_PIN, HOLO_KEY);
String VOTE1_VALUE = "chicago";
String VOTE2_VALUE = "newYork";
String HOLOGRAM_TOPIC = "vote";
void setup() {
Serial.begin(19200);
while(!Serial);
pinMode(CONNECT_LED, OUTPUT);
pinMode(VOTE1_BTN_PIN, INPUT);
pinMode(VOTE1_LED_PIN, OUTPUT);
pinMode(VOTE2_BTN_PIN, INPUT);
pinMode(VOTE2_LED_PIN, OUTPUT);
bool cellConnected = Hologram.begin(19200, 8888);
if (cellConnected) digitalWrite(CONNECT_LED, HIGH);
}
void loop() {
if (digitalRead(VOTE1_BTN_PIN) == HIGH) sendVote(VOTE1_VALUE, VOTE1_LED_PIN);
if (digitalRead(VOTE2_BTN_PIN) == HIGH) sendVote(VOTE2_VALUE, VOTE2_LED_PIN);
}
void sendVote(String VOTE_VALUE, const int VOTE_LED) {
digitalWrite(VOTE_LED, HIGH);
if (Hologram.send(VOTE_VALUE, HOLOGRAM_TOPIC)) {
// Pisca LED 3x para confirmar envio
for (int i=0;i<3;i++) {
digitalWrite(VOTE_LED, LOW); delay(100);
digitalWrite(VOTE_LED, HIGH); delay(100);
}
digitalWrite(VOTE_LED, LOW);
} else {
digitalWrite(VOTE_LED, LOW);
}
}
Notas Importantes
- Instale a biblioteca HologramSIMCOM manualmente: GitHub.
- Use um cartão SIM Hologram ativado (plano Developer gratuito).
- O código usa
SoftwareSerialnos pinos 2/3; evite conflitos com outros shields. - Alimente o FONA com 3.7–4.2V (LiPo) ou 5V via pino VCC do breakout; verifique a documentação da Adafruit.
- Para deploy em campo, adicione bateria LiPo + carregador solar e caixa à prova d'água.
Expansões Futuras
O autor sugere escalar para centenas de caixas pelo mundo, fazendo uma nova pergunta por dia e tornando os dados públicos. O uso do Hologram Data Router permite adicionar integrações (ex.: banco de dados próprio, dashboard) sem alterar o firmware do dispositivo.
Processo de manufatura
- A Revolução da Caixa de Suco: História, Design e Impacto Ambiental
- Gravadores de Voo (Caixas Pretas): Dos Primeiros Protótipos aos Designs Integrados Futuros
- Robô DIY Inspirado no Wall‑E com Caixa de CD e Raspberry Pi
- Dominando Classes em C#: Blueprint para Programação Orientada a Objetos Poderosa
- Dominando Sobrecarga de Operadores em C# para Tipos Personalizados
- Kit Esterilizador UVC DIY – Caixa UV de Baixo Custo e Fácil Montagem para Itens Médicos e Pessoais
- UnifiedWater v1 – Kit Completo de Sensor de Qualidade da Água com Arduino
- Really Smart Box: Solução Inteligente de Armazenamento IoT com Sigfox
- Estação Meteorológica Compacta: Arduino Nano e ESP8266 com BMP280 e Display OLED/Nokia LCD
- Cava Inicial (Box Cut) na Mineração: Definição e Aplicações