Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Travesseiro Amo você

Componentes e suprimentos

Arduino MKR IoT Bundle
× 1

Aplicativos e serviços online

Telegrama

Sobre este projeto


Observação:este tutorial pode estar desatualizado, vá aqui para uma versão mais atual.

Todos nós sabemos que ficar sem aquela pessoa especial em sua vida pode ser difícil, mas e se você pudesse enviar amor e carinho remotamente pela Internet apenas abraçando um travesseiro?

Agora, não podemos realmente mandar abraços ... mas o que podemos enviar é um emoji doce por meio de um aplicativo de mensagens, acionado por você dando um abraço em um travesseiro.

Quando você abraça o Travesseiro Eu te amo você ouvirá o som de um batimento cardíaco vindo da campainha interna. Dependendo da duração do seu abraço, um emoji diferente será enviado de um Telegram Bot para qualquer chat que você escolher.

Fique em contato com sua pessoa amada com este dispositivo que pode ser abraçado!





Em poucas palavras


Neste experimento, usaremos folha de alumínio para criar um sensor capacitivo DIY que será usado para detectar abraços.

Para criar nosso dispositivo de envio de abraços, precisaremos dos seguintes componentes:
  • Buzzer
  • Folha de alumínio
  • 1 resistor 5M ohm
  • Placa de ensaio
  • fios





Metas de aprendizagem

  • Apresentando os bots de telegrama
  • Gerenciamento de sensores capacitivos
  • Bots de telegrama e bate-papos em grupo #ProTips
  • Práticas recomendadas de WiFi #ProTips

Dicas profissionais são etapas úteis, mas não estritamente necessárias, que adicionam uma camada de complexidade ao projeto.





Quer saber mais?


Este tutorial é parte de uma série de experimentos que o familiarizam com o MKR1000 e a IoT. Todos os experimentos podem ser construídos usando os componentes contidos no MKR IoT Bundle.
  • Travesseiro Eu te amo
  • Caixa de quebra-cabeça
  • Gato de Pavlov
  • O Nerd
  • Comunicador de planta





Apresentando Bots de Telegram


Telegram é um aplicativo de mensagens popular para dispositivos móveis e desktops. Além de nos permitir conversar com nossos amigos, também nos permite criar bots de bate-papo úteis e poderosos!

Um chat-bot nada mais é do que um contato com o qual você pode conversar, mas em vez de uma pessoa por trás dele, há uma máquina que responde de acordo com o código que você escreveu.

A biblioteca TelegramBot para Arduino nos oferece uma maneira fácil de implementar a lógica por trás do chat-bot.





Crie seu bot


Criar um bot é tão fácil!

Basta seguir estas etapas simples ou dar uma olhada na documentação aqui.





Configure o Conselho


Em primeiro lugar, certifique-se de que temos todas as bibliotecas necessárias.

Aqui está a lista de todas as bibliotecas de que precisaremos:
  • WiFi101
  • TelegramBot
  • ArduinoJson
  • CapacitiveSensor

Você pode instalá-los facilmente seguindo este guia simples.

Para usar a API do Telegram, primeiro precisamos fazer o upload dos certificados no MKR1000. Isso se aplica à maioria dos serviços online e APIs!

Faça upload do exemplo do Firmware Updater da biblioteca WiFi101 e adicione api.telegram.org aos domínios.

Se você estiver usando o Editor da Web do Arduino, esse recurso ainda não foi implementado e você precisa fazer isso por meio do Aplicativo de desktop Arduino.

Deixe a mágica acontecer!

Abra o exemplo EchoBot da biblioteca TelegramBot, preencha suas credenciais de WiFi e o token de API que você recebeu do BotFather e faça upload!

Você acabou de criar um bot que ecoa todas as suas mensagens.





EchoBot e Emoji


Emojis estão por toda parte! Nós os usaremos para enviar nosso amor e abraços. Usar o exemplo EchoBot é uma maneira fácil de ver como os bots lêem seu emoji.

Infelizmente, a maneira como o bot recebe o emoji não é a mesma usada para enviá-los. Para enviar um emoji, precisaremos usar UNICODE personagens.

Por exemplo, para enviar um emoji de coração, usaremos: \ U00002764

Você pode ver a lista completa de códigos de emoji Unicode aqui. Para criar um bot que responde a um emoji de coração com outro emoji de coração, usaremos um código como este:
  void loop () {mensagem m =bot.getUpdates (); // Lê novas mensagens if (m.chat_id! =0) {// Verifique se há alguma atualização Serial.println (m.text); // imprime a mensagem recebida if (m.text =="u2764ufe0f") {// verifique se recebeu um emoji de coração bot.sendMessage (m.chat_id, "\ U00002764"); // Responder ao mesmo bate-papo com o emoji de coração}}}  

O resultado será:





Sensor capacitivo


Chega de Telegram, vamos começar a construir nosso sensor capacitivo DIY!

A biblioteca CapacitiveSensor transforma dois ou mais pinos do Arduino em um sensor capacitivo, que pode detectar a capacitância elétrica do corpo humano. Tudo o que a configuração do sensor requer é um resistor de valor médio a alto e um pedaço de folha de alumínio.

Na sua forma mais sensível, o sensor começará a detectar uma mão ou corpo a centímetros do sensor e por meio de diferentes tipos de materiais . Vamos esconder nosso sensor dentro do travesseiro!

Faça upload do esboço de exemplo, conecte os fios e veja o resultado no console:
  #include  CapacitiveSensor foil =CapacitiveSensor (5,4); // resistor de 10M entre os pinos 5 e 4, o pino 4 é o pino do sensor, adicione um fio e / ou foilvoid setup () {foil.set_CS_AutocaL_Millis (0xFFFFFFFF); // desativa a calibração automática Serial.begin (9600); } loop vazio () {início longo =milis (); valor_do_sensor longo =foil.capacitiveSensor (30); Serial.print (millis () - início); // verifica o desempenho em milissegundos Serial.print ("\ t"); // caractere de tabulação para espaçamento de janela de depuração Serial.print (sensor_value); // imprime a saída do sensor Serial.println ("\ t"); // imprime a saída do sensor 3 delay (500); // atraso arbitrário para limitar os dados à porta serial}  

Fiação e resultados

Usaremos sensor_value como um limite para detectar abraços!





O batimento cardíaco


Quanto mais você abraça, mais batimentos cardíacos você ouve. Quanto mais o coração bate, mais amor você envia (e também emojis diferentes).

Iremos emular o som de um batimento cardíaco usando uma campainha e algumas linhas simples de código.
  int Buzzer =8; // Pin anexado à campainha void setup () {} void loop () {HeartBeat (); atraso (1000); } void HeartBeat () {tom (Buzzer, 31, 200); // tom (Pin, Nota, Duração); atraso (200); tom (campainha, 31, 400); atraso (200); noTone (Buzzer); atraso (1000); }  

Para um uso mais complexo da campainha e da função Tone, dê uma olhada nos exemplos do menu suspenso e procure por Digital> ToneMelody





#ProTip:Chat-id e Group-chat


Para enviar mensagens, um bot precisa de um chat-id.

O chat id é o identificador único de um chat entre alguém e um bot. Para fazer com que o bot envie mensagens para uma pessoa específica, você primeiro precisa que essa pessoa envie uma mensagem de texto para o bot e salve o id do bate-papo específico.

Neste projeto, o bot responderá apenas até a última pessoa que enviar uma mensagem de texto, não importa quem seja.

Os bots são públicos, todos podem enviar uma mensagem de texto para um bot!

Se você quiser incluir o bot em um chat em grupo, você precisa desabilitar o modo de privacidade, permitindo que o bot leia todas as mensagens, caso contrário, ele só será capaz de detectar comandos que começam com /:





#ProTip:Melhores práticas de WiFi


O WiFi pode ser complicado. Às vezes, ele desliga apenas por alguns segundos, aparentemente sem motivo algum. Isso pode ser um problema para o seu Arduino, pois na maioria das vezes executamos a função de conexão WiFi apenas no início do esboço.

Os serviços online também podem ser complicados. Quando o Arduino envia uma solicitação a um servidor (Telegram, neste caso), ele aguarda uma resposta. Por centenas de razões, uma resposta pode não chegar, mantendo o Arduino em um loop infinito.

Para tornar seu projeto mais estável, você pode adicionar um watchdog.

Um watchdog é um cronômetro que deve ser atualizado periodicamente, caso contrário, ele reinicializará a placa.

Você pode usar essas duas bibliotecas para adicionar um watchdog ao seu projeto:
  • Adafruit SleepyDog
  • Adafruit ASF Core // deve ser baixado e instalado manualmente do Github

O exemplo EchoBot ficará assim:
  #include  #include  #include  #include  // Inicializar a conexão Wifi ao roteador char ssid [] ="xxxx"; // SSID da sua rede (nome) char pass [] ="yyyy"; // sua chave de rede // Inicializar telegrama BOT const char BotToken [] ="xxxx"; Cliente WiFiSSLClient; Bot TelegramBot (BotToken, cliente); void setup () {Serial.begin (115200); while (! Serial) {} delay (3000); // tentativa de conexão à rede Wifi:Serial.print ("Connecting Wifi:"); Serial.println (ssid); while (WiFi.begin (ssid, pass)! =WL_CONNECTED) {Serial.print ("."); atraso (500); } Serial.println (""); Serial.println ("WiFi conectado"); bot.begin (); Watchdog.enable (10000); // define o cronômetro para 10 segundos} void loop () {Watchdog.reset (); // se esta função não for chamada em 10 segundos, o tabuleiro se reinicializará message m =bot.getUpdates (); // Lê novas mensagens if (m.chat_id! =0) {// Verifica se há alguma atualização Serial.println (m.text); bot.sendMessage (m.chat_id, m.text); // Responder ao mesmo bate-papo com o mesmo texto} else {Serial.println ("sem nova mensagem"); }}  

Código

Esboço completo

Esquemas


Processo de manufatura

  1. 9 passos para forjar uma faca:tudo o que você precisa saber
  2. Como você planeja uma lista de materiais (BOM)?
  3. Onde você deve construir?
  4. As 3 principais formas de marcação de peças que você deve conhecer
  5. O que é Micrômetro? | Como você lê um micrômetro
  6. O equipamento de usinagem horizontal que você pode precisar
  7. Por que você precisa de um ferreiro mecânico?
  8. Todos os tipos de unidade de rebarbação para você
  9. Você já ouviu falar em ferro fundido branco?
  10. Tudo o que você precisa saber sobre o Plunge EDM