Botão Trump
Componentes e suprimentos
| × | 1 |
Aplicativos e serviços online
| ||||
|
Sobre este projeto
Introdução
Todos nós já ouvimos falar do botão usado por Trump para pedir uma Coca Diet, certo? (http://time.com/4758059/donald-trump-coke-nuclear-button/)
Bem, pensamos que poderíamos construir uma versão melhor usando a rede Sigfox. Tudo que você precisa é um botão volumoso, uma placa Arduino MKRFox1200 e uma conta Twilio para enviar a mensagem de texto.
O que é Sigfox?
Sigfox fornece uma rede global, simples e eficiente em termos de energia para a Internet das Coisas. A rede Sigfox está atualmente disponível ou sendo implementada em 32 países. A rede complementa os sistemas de alta largura de banda existentes, fornecendo transmissão econômica, de baixo consumo de energia e bidirecional de pequenas quantidades de dados em longas distâncias. A tecnologia Sigfox é suportada por centenas de parceiros de hardware e soluções.
1. Requisitos de hardware
- Arduino MKRFox1200
- Um grande botão
- bateria LiPo ou 2 baterias AA / AAA
- Um botão de pressão
- autocolante thethings.io
- E, claro, uma máscara Trump
Estamos usando uma chave de pressão conectada aos pinos 7 e GND do Arduino. No estado normal, a chave está fechada. Ao apertar o botão, ele abre o switch. O estado da chave pode ser facilmente revertido no código do Arduino.
2. Código Arduino
Você pode recuperar o código do Arduino no GitHub:https://github.com/aureleq/TrumpButton
Usamos a biblioteca de baixa energia para colocar o conselho em repouso profundo. Uma interrupção é usada para despertar a placa e enviar uma mensagem Sigfox:
// conecta o pino da chave e habilita a interrupção no evento de aumento de tensão pinMode (SWITCH_PIN, INPUT_PULLUP); LowPower.attachInterruptWakeup (SWITCH_PIN, buttonPressed, RISING); // switch está fechado por padrão, aberto ao pressionar o botão do loopvoid () {// Dormir até que um evento seja reconhecido LowPower.sleep (); // se chegarmos aqui, significa que um evento foi recebido Serial.println ("Botão pressionado!"); atraso (100); sendString (carga útil);}
3. Twilio
- Inscreva-se gratuitamente aqui
- Adicione um novo número na "Identificação de chamadas verificadas" (número de telefone para receber a notificação)
- Anote o número de telefone gerado pelo Twilio , SID DA CONTA e TOKEN de autenticação:
4. Configuração de retorno de chamada Sigfox
- Conecte-se à sua conta de back-end Sigfox. Se você não registrou sua placa Arduino, pode ativá-la aqui:https://backend.sigfox.com/activate/
- Selecione o Tipo de dispositivo do seu dispositivo Arduino. Link para o Tipo de Dispositivo está disponível em Informações categoria.
Crie um novo retorno de chamada personalizado com os seguintes parâmetros:
- Tipo:
UPLINK DE DADOS
- Canal:
URL
- Padrão de URL:
https:// [AccountSID]:[AuthToken]] @ api.twilio.com / 2010-04-01 / Accounts / [AccountSID] /Messages.json
- Use o método HTTP:
POST
- Tipo de conteúdo:
application / x-www-form-urlencoded
- Corpo:
From =[YourTwilioPhonenumber]] &To =[PhoneNumber] &Body =
covfefe!
A mensagem de texto covfefe! será enviado sempre que o botão for pressionado.
5. Validação
Aperte o botão com firmeza e espere que o mordomo traga uma bebida para você!
Código
- código-fonte do Arduino
Código-fonte do Arduino Arduino
/ * * @aureleq * * Descrição:Envia uma mensagem Sigfox ao apertar um botão * O botão precisa ser conectado entre GND e pino 7 por padrão * Interrupções estão sendo usadas para habilitar o modo de baixo consumo. * Como a placa está no modo de hibernação na maioria das vezes, uma redefinição da placa precisa ser realizada para carregar um novo esboço (toque duas vezes no botão de redefinição) * / # include#include const uint8_t SWITCH_PIN =7; const String payload ="COKE NOW!"; Const uint8_t debug =false; void setup () {if (debug ==true) {Serial.begin (9600); while (! Serial) {}; } if (! SigFox.begin ()) {Serial.println ("Erro de escudo ou não presente!"); Retorna; } // Habilita o led de depuração e desabilita o sono profundo automático // Comente esta linha ao enviar seu projeto :) //SigFox.debug (); Serial.println ("Escudo Sigfox detectado"); String ID =SigFox.ID (); Serial.println ("ID =" + ID); atraso (100); // Envia o módulo para o sono mais profundo SigFox.end (); // conecta o pino da chave e habilita a interrupção no evento de aumento de tensão pinMode (SWITCH_PIN, INPUT_PULLUP); LowPower.attachInterruptWakeup (SWITCH_PIN, buttonPressed, RISING); // o switch está fechado por padrão, aberto ao apertar o botão} void loop () {// Dormir até que um evento seja reconhecido LowPower.sleep (); // se chegarmos aqui, significa que um evento foi recebido Serial.println ("Botão pressionado!"); atraso (100); sendString (carga útil);} void sendString (String str) {// Iniciar o módulo SigFox.begin (); // Aguarde pelo menos 30mS após a primeira configuração (100mS antes) delay (100); // Limpa todas as interrupções pendentes SigFox.status (); atraso (1); SigFox.beginPacket (); SigFox.print (str); ret int =SigFox.endPacket (); // envia buffer para a rede SIGFOX if (ret> 0) {Serial.println ("Sem transmissão"); } else {Serial.println ("Transmissão ok"); } Serial.println (SigFox.status (SIGFOX)); Serial.println (SigFox.status (ATMEL)); SigFox.end ();} void buttonPressed () {}
Github
https://github.com/aureleq/TrumpButtonProcesso de manufatura
- Botão
- Rede de área privada construída na rede pública Sigfox
- Luzes de dimerização com PWM usando o botão de ação
- Capturando as gotas de água com Arduino
- Giftduino - A caixa de presente perfeita do Arduino
- Como fazer um botão de teclado punível personalizável
- Como medir a massa da Terra usando o Arduino
- Usando o sensor de pulso vestível MAX30100 com Arduino
- Crie o aplicativo Fridgeye com uma tela Nextion
- Health Band - Um Assistente Inteligente para Idosos