Controle de LED com Jarvis, Arduino e C#
Autor: Benedito Amaral | Publicado: 2016-12-05T12:01:00-08:00


Mostramos aqui todos os passos para que você possa utilizar o assistente virtual Jarvis para controlar um LED (ligar ou desligar) obedecendo ao seu comando de voz, conforme mostra o vídeo abaixo!






Muito bem, agora para que a gente possa prosseguir baixe os arquivos necessários no link abaixo:



Clique aqui para baixar!



Código (Sketch) para o Arduino:



Depois de baixar os arquivos descompacte tudo! 

Agora entre na pasta descompactada e depois na pasta "LED_LigaDesliga". Dê um duplo clique no arquivo que está dentro dela (LED_LigaDesliga.ino) e o Arduino irá abrir... (Obs: Para que isso aconteça o programa já deve estar instalado no PC).









Para maior clareza clique na imagem!











Neste código definimos o pino 13 do Arduino, mas você pode definir qualquer outro, assim como definimos os caracteres "a" e "b" que serão recebidos pelo Arduino pela porta serial e serão lidos como códigos ASCII, ou seja: (a = 97) e (b = 98), e que obviamente podem ser trocados!

Carregue esse programa no Arduino e não se esqueça de anotar em qual porta o ele está conectado ao seu computador, pois precisaremos destas informações para os programas em C#! Abra o Serial Monitor e faça uns testes enviando os caracteres "a" e "b"! Observe as mensagens recebidas e o LED do Arduino!



Agora vamos aos códigos em Visual C#:



O programa "Liga" (figura abaixo):





Abra o Visual Studio e inicie um novo projeto em Visual C# e escolha a opção "Console Application", conforme a figura: (OBS: Siga os mesmos passos para compilar o programa "Desliga")



Para maior clareza clique na imagem!


Em "Name" defina um nome para o seu projeto, no nosso caso, "Liga"! Depois Escolha uma pasta para o seu projeto em "Browse" e posteriormente clique em OK! A tela abaixo será exibida!



Para maior clareza clique na imagem!




Apague todos esses códigos...



Na pasta que você descompactou, abra o arquivo "liga.txt", copie todos os códigos e cole no Visual Studio (Onde estavam os códigos que foram apagados anteriormente)! Ficará Assim: 



Para maior clareza clique na imagem!






Observe que "COM33" é a porta serial que estamos utilizando, pois o nosso Arduino está conectado na mesma (verifique em qual porta está conectado o seu Arduino); "a" é o caractere que será enviado ao Arduino dando o comando para ligar o LED!




Para maior clareza clique na imagem!








Você pode salvar o seu projeto e compilar clicando em Start! Se o Arduino estive conectado você já poderá ver o LED acender!

Quando a compilação estiver completa você poderá acessar o programa compilado na pasta onde você salvou o seu projeto dentro de: \bin\Debug. Aí vai estar o "Liga.exe"!





Para maior clareza clique na imagem!



Copie o arquivo "Liga.exe" para a pasta de automação que você criou... Ex: C:\MeusComandos.

O programa "Desliga" (figura abaixo):






Para criar o programa "Desliga.exe", repita os mesmos passos que foram feitos para a criação do programa "Liga.exe": Abra o arquivo "desliga.txt" na pasta que você descompactou, copie os códigos, inicie um novo projeto Visual C# no Visual Studio (console), apague os códigos, cole os códigos copiados anteriormente do arquivo "desliga.txt", salve e compile o projeto! Depois coloque o arquivo gerado (Desliga.exe) na mesma pasta de automação onde você colocou o programa "Liga.exe"! Exemplo: C:\MeusComandos.

Com os arquivos copiados agora vamos inserir os comandos no Jarvis conforme imagem abaixo:



Para maior clareza clique na imagem!





Crie os comandos Shell para o Jarvis executar esses arquivos, um para o "Liga.exe" e outro para o "Desliga.exe".
Se preferir, crie atalhos para os dois arquivos e direcione o Jarvis para abrir os mesmos no lugar dos arquivos ".exe" diretamente. Isso permitirá que as aplicações sejam executadas minimizadas, bastando, para isso, mudar as propriedades dos atalhos em Executar.




As devidas alterações devem ser feitas, pois agora os URLs devem estar direcionados para "Liga.lnk" e "Desliga.lnk", respectivamente que são as extensões dos atalhos (na mesma pasta). Assim:



Para maior clareza clique na imagem!



Depois de tudo pronto, salve as alterações feche a janela "Comandos Personalizados" do Jarvis e fale o comando: "Atualizar comandos" e estará tudo pronto!
Para Ligar e Desligar Lâmpadas ao invés de LEDs basta apenas acoplar ao Arduino um modulo relé apropriado!

Boa sorte!!!