- Lançador de foguete controlado por voz baseado em Alexa - Funcionando
- Barra de lançamento para nosso controlador de lançamento de foguete NodeMCU
- Componentes necessários para o lançador de foguetes controlado por Alexa
- Diagrama de circuito do lançador de foguete Arduino
- Construindo o Circuito no PerfBoard
- Programando NodeMCU para o lançador de foguetes controlado por Alexa
- Configurando Alexa com o aplicativo Alexa Android
- Lançador de foguetes controlado por Alexa - Teste
Conforme a temporada de inverno se aproxima; chega aquela época do ano em que o festival das luzes é celebrado. Sim, estamos falando de Diwali, que é um verdadeiro festival indiano celebrado em todo o mundo. Este ano, o Diwali já acabou, e vendo pessoas bombinhas, tive a ideia de construir o lançador de foguetes controlado por voz baseado no Alexa ou Igniter, que pode lançar foguetes apenas com comando de voz, tornando-o muito seguro e divertido para as crianças.
Para deixar claro, não estou aqui para encorajar as pessoas a atirar biscoitos em Diwali, o governo indiano impôs restrições aos biscoitos para reduzir a poluição e é nossa responsabilidade cumpri-las. A ideia aqui é que, em vez de passar o dia inteiro disparando biscoitos, vamos construir um dispositivo de ignição de foguete Arduino controlado por voz e disparar alguns foguetes com estilo. Eu vejo isso como um ganha-ganha.
Este lançador de foguetes Arduino será muito diferente dos outros. Ele tem um chassi muito robusto feito de madeira compensada, um mecanismo de controle baseado em relé confiável e um mecanismo único para lançar e recarregar os foguetes, portanto, sem mais demora, vamos direto ao processo de construção.
Lançador de foguete controlado por voz baseado em Alexa - Funcionando
O mecanismo de funcionamento do circuito é muito simples, o principal componente responsável pelo lançamento do foguete é o fio de nicromo, que tem a forma de uma bobina de aquecimento. Este fio de nicromo atuará como o dispositivo de ignição do foguete. Quão? Eu vou te mostrar mais tarde.
Como vocês podem ver na imagem acima, o fio de nicromo vem em forma de bobina aquecedora, pra mim foi a maneira mais fácil de conseguir. Temos que puxá-lo reto e dobrá-lo para formar uma forma semelhante à mostrada na imagem abaixo.
Depois de fazer isso, vamos alimentá-lo com uma bateria de chumbo-ácido de 12V e ele ficará vermelho vivo. Isso será suficiente para acender a pólvora negra dentro do foguete e funcionará como uma dose normal de fusível. Esteja ciente de que este é um controlador de lançamento de foguete de alta potência, a corrente necessária para tornar o fio vermelho quente é alta. Siga os conselhos de segurança ao trabalhar com altas correntes.
Assim que o teste for concluído, a única coisa que resta é o processo de controle, o que faremos à medida que prosseguirmos neste artigo.
Barra de lançamento para nosso controlador de lançamento de foguete NodeMCU
Para esta construção, vamos fazer uma plataforma de lançamento. Com a barra de lançamento pronta, podemos recarregar facilmente alguns crackers e iniciá-los com muita facilidade. Eu construí uma barra de lançamento que se parece com a mostrada na imagem abaixo.
Vamos seguir o processo passo a passo de construção da barra de lançamento. Para os dois lados da moldura, usei pedaços de compensado de duas (25 x 3 x 1,5) polegadas de comprimento. Para a parte superior, usei um pedaço de compensado de (20X3X1,5) polegadas de comprimento e, para a base, usei um pedaço de compensado de (20X6X1,5) polegadas de comprimento, o que lhe dará um pouco mais de estabilidade. A imagem abaixo lhe dará uma ideia clara.
Agora, é hora de fazer os filamentos à base de fios de nicromo, que vão funcionar como um fusível para o nosso foguete. Para isso, comprei uma bobina de aquecimento de base de fio de nicromo de 1000W, endireitei-a e fiz a estrutura mostrada abaixo. Tive que usar dois alicates e alicates laterais para dar forma ao fio de nicrômio, conforme mostrado abaixo.
Uma vez feito isso, eu dividi o pedaço de 20 ”de bloco de madeira compensada em sete pedaços medidos e perfurei orifícios para colocar os filamentos baseados em arame de nicrômio, e uma vez feito isso, parecia com as imagens abaixo.
Mas antes de colocar os filamentos, coloquei fio de cobre de 1 mm2 de espessura em cada terminal e passei pelos orifícios, uma vez que tudo estava feito, ficou como na imagem abaixo.
Como você pode ver, também coloquei o adesivo de dois componentes para prender o fio e os filamentos no lugar. Feito isso, nossa plataforma de lançamento está completa. E como você pode ver na primeira foto desta seção, eu conectei diretamente os fios do filamento ao PCB porque estamos lidando com correntes muito altas, então não me preocupei em colocar um terminal de parafuso, e isso marca o fim do nosso chassi processo de construção.
Componentes necessários para o lançador de foguetes controlado por Alexa
Para o lado do hardware, usamos peças muito genéricas que você pode obter facilmente em sua loja local de hobby, uma lista completa de itens é fornecida abaixo.
- 12V-Relay - 3
- Transistor BD139 - 3
- Diodo 1N4004 - 3
- Terminal de parafuso 5,08 mm - 1
- LM7805 - Regulador de Tensão - 1
- Capacitor de desacoplamento 100uF - 2
- Diodo Zener 5.1 V - 1
- Placa NodeMCU (ESP8266-12E) - 1
- Quadro Pontilhado de Perf - ½
- Fio de Conexão - 10
Diagrama de circuito do lançador de foguete Arduino
O esquema completo para o Lançador de foguetes controlado por Alexa é fornecido abaixo. Usei tags para conectar um pino a outro. Se você olhar de perto, não deve ser difícil interpretar o esquema.
A construção do circuito é bastante direta, então não irei entrar em detalhes.
Primeiro, temos o IC1, que é um regulador de tensão LM7805, com seus capacitores de desacoplamento de 100uF indicados por C1 e C2. Depois disso, temos o coração do nosso projeto, a placa NodeMCU, que abriga o módulo ESP-12E. Já que estamos usando uma bateria de chumbo-ácido de 12 V para alimentar todo o circuito, é por isso que temos que usar o LM7805 para primeiro convertê-lo para 12 V em 5 V para alimentar a placa NodeMCU. Estamos fazendo isso porque o regulador de tensão AMS1117 integrado não é suficiente para converter 12 V diretamente para 3,3 V, por isso o 7805 é necessário.
Seguindo em frente, temos três relés de 12V, para esta demonstração, estamos usando três relés, mas como mencionamos anteriormente, a plataforma de lançamento tem um espaço reservado para 7 foguetes. Você pode ajustar o código um pouco e colocar todos os sete foguetes para serem lançados juntos. Os três relés são acionados por um T1, T2 e T3, que são três transistores NPN e são suficientes para acionar a carga de um real. Finalmente, temos três diodos de giro livre que protegem o circuito de picos de alta tensão gerados pelo relé.
Construindo o Circuito no PerfBoard
Como você pode ver na imagem principal, a ideia era fazer um circuito simples que pudesse lidar com uma grande quantidade de corrente por um curto período, de acordo com nossos testes, 800 milissegundos é suficiente para iluminar um pedaço de papel. Então, nós construímos o circuito em um pedaço de perfboard e conectamos todas as conexões principais com fio de cobre de 1 mm² de espessura. Depois de terminarmos de soldar a placa. Assim que terminamos, parecia algo que é mostrado abaixo.
Programando NodeMCU para o lançador de foguetes controlado por Alexa
Agora que o hardware está pronto, é hora de começar a codificar para o nosso lançador de foguetes controlado por voz baseado no Alexa. O código completo pode ser encontrado no final desta página, mas antes de começarmos, é importante adicionar as bibliotecas necessárias ao seu IDE Arduino. Certifique-se de adicionar as bibliotecas corretas do link fornecido a seguir, caso contrário, o código irá gerar erros quando compilado.
- Baixar Biblioteca Espalexa
Depois de adicionar as bibliotecas necessárias, você pode carregar diretamente o código fornecido na parte inferior desta página para verificar se o circuito está funcionando. Se você quiser saber como o código funciona, continue lendo.
Como sempre, começamos o programa adicionando os arquivos de cabeçalho necessários e definindo os nomes dos pinos e credenciais para nosso ponto de acesso.
#incluir
Continuando com nosso código, temos nossos protótipos de função e definições de função de retorno de chamada.
A função connectToWiFi () é usada para se conectar à rede Wi-Fi e esta função retorna verdadeiro quando o Wi-Fi é conectado com sucesso.
A seguir, temos nossas funções de callback , essas funções serão chamadas quando dermos um comando para Alexa, a API espalexa trata dessas funções
void allrockets (brilho uint8_t); void firstrocket (brilho uint8_t); void secondrocket (brilho uint8_t); terceiro vazio (brilho uint8_t);
Em seguida, definimos os nomes dos dispositivos. Esses nomes de dispositivos definidos serão refletidos no aplicativo Alexa e, quando dissermos um comando, Alexa reconhecerá os dispositivos por esses nomes. Portanto, esses nomes são muito importantes.
// Nomes dos dispositivos String First_Device_Name = "Todos os foguetes"; String Secound_Device_Name = "Rocket One"; String Third_Device_Name = "Foguete Dois"; String Forth_Device_Name = "Foguete Três";
A seguir, definimos uma variável booleana wifiStatus, que manterá o status da conexão do Wi-Fi. Finalmente, criamos um objeto Espalexa espalexa. Estaremos usando este objeto para configurar o NodeMCU.
// verificação do status do wifi boolean wifiStatus = false; // Espalexa Object Espalexa espalexa;
A seguir, temos nossa seção void setup () . Nesta seção, inicializamos a comunicação serial para depuração com a função Serial.begin () . Definimos todos os pinos definidos anteriormente como saída com a função pinMode () , em seguida chamamos a função connectToWiFi () , ela tentará se conectar ao Wi-Fi quinze vezes se estiver conectada, retornará verdadeiro se não se conectar, ele retornará falso e o código executará um loop while () para sempre. Se a conexão Wi-Fi for bem-sucedida, adicionamos os dispositivos definidos anteriormente ao objeto Alexa usando a função espalexa.addDevice (). Essa função leva dois argumentos, o primeiro é o nome do dispositivo, o segundo é o nome da função de retorno de chamada, quando enviamos um comando para Alexa, a função adjacente será chamada. Assim que terminarmos de fazer isso para todos os quatro dispositivos, chamaremos os métodos begin () para o objeto espalexa.
configuração vazia () {Serial.begin (115200); // Habilita Serial para mensagens de depuração pinMode (ROCKET_1_PIN, OUTPUT); // configura os pinos ESP como saída pinMode (ROCKET_2_PIN, OUTPUT); // configura os pinos ESP como saída pinMode (ROCKET_3_PIN, OUTPUT); // configura os pinos ESP como saída wifiStatus = connectToWiFi (); // Conecte-se à rede Wi-Fi local se (wifiStatus) {// configure todos os dispositivos espalexa // Defina seus dispositivos aqui. espalexa.addDevice (First_Device_Name, allrockets); // definição mais simples, estado padrão fora espalexa.addDevice (Secound_Device_Name, firstrocket); espalexa.addDevice (Third_Device_Name, secondrocket); espalexa.addDevice (Forth_Device_Name, thirdrocket); espalexa.begin (); } else {while (1) {Serial. println ("Não é possível conectar ao WiFi. Verifique os dados e reinicie o ESP."); atraso (2500); }}}
Na seção de loop , chamamos o método loop () do objeto espalexa que sempre verificará qualquer comando de entrada e chamará a função de retorno de chamada se for verdadeiro.
void loop () {espalexa.loop (); atraso (1); }
A seguir, definimos todas as nossas funções de retorno de chamada, nesta seção, definiremos o que acontece quando essa função de retorno de chamada é chamada. Quando a função allrockets () é chamada, todos os foguetes serão lançados juntos. Para isso, vamos ligar o relé por 00 ms e após isso, vamos desligar os relés. Em meus testes, descobri que, para o comprimento especificado do fio de nicromo, preciso de 800 ms de atraso para aquecer completamente o fio; esse pode ou não ser o seu caso. Portanto, escolha o atraso de acordo.
void allrockets (brilho uint8_t) {if (brilho == 255) {digitalWrite (ROCKET_1_PIN, HIGH); digitalWrite (ROCKET_2_PIN, HIGH); digitalWrite (ROCKET_3_PIN, HIGH); atraso (800); digitalWrite (ROCKET_1_PIN, LOW); digitalWrite (ROCKET_2_PIN, LOW); digitalWrite (ROCKET_3_PIN, LOW); Serial.println ("Todos os foguetes lançados"); }}
Em seguida, temos nosso primeiro rocket (), que é chamado quando chamamos Alexa e dizemos o comando tie para lançar o primeiro foguete. O processo é muito parecido, ligamos o relé por 800ms e desligamos.
void firstrocket (brilho uint8_t) {if (brilho == 255) {digitalWrite (ROCKET_1_PIN, HIGH); atraso (800); digitalWrite (ROCKET_1_PIN, LOW); Serial.println ("Lançado o primeiro foguete"); }}
Finalmente, temos nossa função connectToWiFi () . Esta função é bastante genérica e autoexplicativa, então não irei entrar em detalhes sobre ela. Esta função conecta o ESP ao Wi-Fi e retorna o status da conexão.
boolean connectToWiFi () {boolean state = true; int i = 0; WiFi.mode (WIFI_STA); WiFi.begin (ssid, senha); Serial.println (""); Serial.println ("Conectando ao WiFi"); // Aguarde a conexão Serial.print ("Conectando…"); enquanto (WiFi.status ()! = WL_CONNECTED) {atraso (500); Serial.print ("."); se (i> 15) {estado = falso; pausa; } i ++; } Serial.println (""); if (estado) {Serial.print ("Conectado a"); Serial.println (ssid); Serial.print ("endereço IP:"); Serial.println (WiFi.localIP ()); } else {Serial.println ("Falha na conexão."); } estado de retorno; }
Esta função definida marca o fim da parte de codificação.
Configurando Alexa com o aplicativo Alexa Android
Alexa só aceitará comandos se e somente se reconhecer o dispositivo esp8866. Para isso, precisamos configurar o Alexa com a ajuda do aplicativo Alexa no Android. Uma coisa importante a fazer antes de prosseguirmos é que precisamos ter certeza de que Alexa está configurada com nosso aplicativo Android.
Para fazer isso, vá para a seção mais do aplicativo Alexa e clique na opção Add a Device, clique em Light, role para baixo na parte inferior da página e clique em Other.
Em seguida, clique em DESCOBRIR DISPOSITIVO e aguarde um momento até que Alexa encontre novos dispositivos. Assim que Alexa encontrar os dispositivos, você precisa clicar neles e adicioná-los aos seus respectivos locais / categorias e pronto.
Lançador de foguetes controlado por Alexa - Teste
Para o processo de teste, fui ao meu jardim, tirei todos os fusíveis do foguete, coloquei-os em seus respectivos lugares e gritei Alexa…! Ligue todos os foguetes, com meus dedos cruzados. E todos os foguetes voaram marcando meus esforços como um grande sucesso. Parecia algo assim.
Por fim, mais uma vez disse Alexa…! Ligue todos os foguetes para obter uma imagem épica dos filamentos que você pode ver abaixo.
Para uma experiência mais épica, recomendo fortemente que você assista ao vídeo.