Arduino com JavaScript

Arduino com JavaScript

15-07-2019 On Por Sinesio Bittencourt

Como você provavelmente já sabe (ou já ouviu falar), o Arduino é uma ótima plataforma para aprender e hackear eletrônicos que, de outra forma, seriam muito difíceis de usar para um iniciante.

É uma ótima introdução para programação, eletrônica e engenharia em geral. Mas, mesmo assim, quanto mais uma melhoria o Arduino está sobre a maneira tradicional de trabalhar com a eletrônica, ainda pode ser um pouco assustador escrever o código semelhante ao C. Então, se você pudesse usar uma linguagem de nível superior como JavaScript?

Com linguagens como JavaScript, você não precisa se preocupar com detalhes de baixo nível, como ponteiros e alocação de memória, o que pode ser confuso para iniciantes. Em vez disso, você pode se concentrar na lógica do aplicativo e utilizar as centenas de milhares de bibliotecas de código aberto para fornecer ao seu projeto todos os tipos de funcionalidade com apenas algumas linhas de código.

Johnny Five

A biblioteca Johnny Five é o que permite controlar um Arduino (ou Raspberry Pi, Beaglebone, Photon e muito mais) com JavaScript.

Veja também:

Agora, como muitas coisas boas, há um pequeno problema. O código JavaScript na verdade não roda diretamente no Arduino, ele deve, na verdade, ser executado em um computador host e comunicar suas instruções em tempo de execução ao dispositivo por meio de um cabo USB ou algum outro protocolo / meio serial. Para algumas aplicações, isso é um problema, já que elas não podem ter essa ligação física em seu projeto (como em um drone), mas para outras, pode não ser um grande negócio. Por exemplo, se tudo que você precisa fazer é controlar um braço robótico em sua mesa, Johnny Five pode ser o ajuste perfeito. Afinal, o foco principal é a robótica, daí o nome.

A biblioteca funciona aproveitando o protocolo Firmata, que é uma maneira de se comunicar com microcontroladores a partir de software em um computador host (ou smartphone / tablet, etc). Isso significa que você pode executar toda a lógica do programa no seu computador, mas sempre que precisar fazer qualquer IO no dispositivo, como ler um pino GPIO, enviar via SPI, etc., o programa da área de trabalho usará o protocolo Firmata para informar o Arduino para executar o IO específico.

O código abaixo, por exemplo, apenas pisca o LED no pino 13. Assim, a única vez que ele se comunica com o Arduino é quando ele quer ligar ou desligar o LED, caso contrário, o Arduino fica lá esperando receber instruções do host computador.

Para executá-lo, você deve primeiro carregar o código Firmata do Arduino na placa. Faça isso abrindo o IDE do Arduino e clicando em Arquivo-> Exemplos-> Firmata-> StandardFirmata. Isto irá abrir o código na janela do editor. Finalmente (supondo que sua placa esteja conectada via USB), clique em Upload.

led-13.png

Para executar a parte de Johnny-Five do código, navegue até o diretório do projeto, verifique se você executou o npm install e, em seguida, execute o nó index.js, assumindo que o arquivo é chamado de index.js.

A coisa boa sobre Johnny Five é que, na moda típica do Node, há uma biblioteca para quase tudo. O autor já escreveu todo o código necessário para executar tarefas típicas de robótica, como motores de giro, entradas de sensores de leitura, interface com dispositivos de comunicação e muito mais. Você pode encontrar uma lista enorme de exemplos úteis direno no site johnny-five.io/examples/

Conclusão

Espero que com este artigo e os exemplos que mostrei você tenha uma idéia melhor sobre o que é possível usando Johnny Five / JavaScript com Arduino, Raspberry Pi, Beaglebone, etc Claro, C / C ++ pode dominar o campo da eletrônica embarcada, mas Com bibliotecas como Johnny Five e o protocolo Firmata, você pode mergulhar facilmente usando familiares e protótipos ainda mais rapidamente do que antes.

Não deixe de acessar a documentação do Johnny Five para saber mais. Existem alguns ótimos tutoriais e guias de solução de problemas para quando você ficar preso.

Há algum projeto ou exemplo que você gostaria de ver feito com Johnny Five? Deixe-nos saber nos comentários!

Fontes:
http://johnny-five.io/examples/
https://www.slideshare.net/LhasRodrigues/dando-vida-ao-arduino-com-javascript

Até a próxima!

Leia também:

Este artigo foi escrito pelo Sinesio Bittencourt, Technology Evangelist da HostGator.