Esse artigo consiste em brevemente falar sobre a poderosa linguagem recente do Google criada em 2007 para otimizar processos da web, que agora é permitida ser usada com microcontroladores, e se tornando muito poderosa devido a seus aspectos muito vantajosos que iremos falar mais a frente. Mas, como tudo tem suas desvantagens, Go também tem seus pontos fracos com os microcontroladores. Porém, Go apesar de suas desvantagens, ainda é demasiadamente superior à linguagem original do Arduino.
Golang, também conhecido como Go, é uma linguagem de programação de código aberto desenvolvida pela Google em 2007. Ela foi criada para resolver alguns problemas comuns encontrados em outras linguagens de programação, como C e C++, e também alguns processos da Web. Go é projetada para ser rápida, simples, segura e escalável, e tem como objetivo tornar a programação mais produtiva e eficiente. Algumas das características mais notáveis do Go são a sintaxe simples e legível, o suporte para concorrência e paralelismo, a coleta de lixo ou no inglês, garbage collection eficiente, e o suporte integrado para testes unitários.
Arduino é uma plataforma de prototipagem eletrônica de código aberto, que utiliza microcontroladores programáveis para controlar dispositivos eletrônicos. Foi criada em 2005 pelo italiano Massimo Banzi e sua equipe e, desde então, tem sido usado por milhares de pessoas em todo o mundo para criar projetos eletrônicos de todos os tipos, o Arduino é composto por uma placa de circuito impresso que contém um microcontrolador, uma série de pinos para entrada e saída de dados, um ambiente de desenvolvimento integrado (IDE) e uma linguagem de programação própria baseada em C++ que tem algumas limitações que podem ser sanadas pela linguagem Go.
Embora o Arduino tenha sua própria linguagem de programação, baseada em C++, nem todos os programadores estão familiarizados com essa linguagem ou gostam de usá-la. Além disso, a linguagem do Arduino pode ser limitada em alguns aspectos, como algumas falhas de segurança. Golang, por outro lado, tem suporte integrado para concorrência e paralelismo, o que é essencial para muitos projetos eletrônicos. Além disso, a sintaxe simples e legível do Go torna mais fácil para os programadores escreverem e manterem o código. Golang também é uma linguagem segura, com recursos integrados para prevenir falhas de segurança comuns, como desbordamento de buffer. Porém, nem tudo são flores, como diz o ditado popular. Go tem suas desvantagens com Arduino, como não ter um IDE especifico para fazer upload dos códigos: os códigos têm que ser feito por meio de conversores de GO para C++ para que o Arduino entenda as instruções. O conversor seria uma biblioteca Go, sobre a qual falaremos mais adiante. Inclusive, é notável citar que parte do Arduino IDE é criada em Go.
Para a comunicação do código Go com o Arduino, primeiro, precisaremos de um Ambiente de Desenvolvimento Go. Uma alternativa seria o Goland da JetBrains ou, mesmo, o Visual Studio Code da microsoft. Isto tudo com a linguagem já instalada no computador, para fazer o download dos IDE’s acima, basta ir ao site das fabricantes e, para instalar o Go, você precisará de ter o windows ou linux instalado em seu PC e, logo em seguida, ir ao site da linguagem Golang. Agora, partiremos para parte do código no Arduino. Para isso, precisaremos de uma biblioteca Go, chamada TinyGO. Basicamente, o que esta biblioteca faz é, por baixo dos panos, pegar todo o código GO,e entregar um código C++ legível para o Arduino. Isso é possível pela extrema semelhança do GO com C++. Nesta biblioteca, já se tem pronta todas as funções do Arduino, desde os endereçamentos dos pinos digitais e analógicos, até as funções mais complexas.
Siga os passos para a instalação da linguagem GO e, também, da biblioteca TinyGO
Passo 1: Instalar o executável direto do site da linguagem
Passo 2: Executar o Arquivo baixado:
Passo 3: Instalar o Go no computador
Primeiramente, para instalar o TinyGo, iremos instalar o scoop, um instalador de pacotes do windows bem simples de usar. Para instalar ele, abra seu terminal PowerShell e digite os seguintes comandos:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
logo em seguida, digite o comando
irm get.scoop.sh | iex
Se tudo ocorreu bem, agora só precisaremos digitar o comando para realizar a instalação do TinyGO:
scoop install tinygo
Para ter certeza que esta com o TinyGO instalado, digite o seguinte comando em seu PowerShell:
tinygo version
Caso o tinygo version retorne um erro de caminho ou diretorio, no caso do caminho do PATH, basta adicionar ele ao PATH e, logo em seguida, reiniciar o computador.
Insira este comando para adicionar o TinyGO ao Path:
set PATH=%PATH%;"C:\tinygo\bin";
Se estiver usando Arduino Uno, você tera que baixar o “avrdude” para funcionar:
scoop install avrdude
O IDE escolhido é o Visual Studio Code, da Microsoft, ele é um software grátis e com suporte a várias linguagens de programação. Siga os passos para instalação e configuração.
Passo 1: Baixar o arquivo do site oficial da Microsoft
Passo 2: Executar o arquivo baixado e configurar a Linguagem
Passo 3: Uma tela de Boas-vindas surgirá. Basta clicar em “next”
Passo 4: Escolha o diretório onde deseja instalar o Vscode
Passo 5: Criação do atalho de inicialização
Passo 6: Setar o Vscode no path do computador
Passo 7: Instalação propriamente dita
Passo 8: Finalização do processo de instalação
Passo 1: Instalar extensão da Linguagem GO
Logo após, crie uma pasta e abra-a no Vscode. Clique no canto superior esquerdo, onde está escrito “File”:
Agora, crie um arquivo chamado main.go:
Logo depois, cole o código abaixo ou digite o código no arquivo GO:
package main import ( "machine" "time" ) func main() { ledVermelho := machine.D10 ledAzul := machine.D8 ledVermelho.Configure(machine.PinConfig{Mode: machine.PinOutput}) ledAzul.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { // Esta primeira parte liga o Led Vermelho e deixa o Led Azul desligado ledVermelho.High() time.Sleep(time.Millisecond * 1000) ledVermelho.Low() //Logo em seguida espera 1 segundo Liga o Led azul time.Sleep(time.Millisecond * 1000) // Esta segunda parte liga o Led Azul e deixa o Led Vermelho desligado ledAzul.High() time.Sleep(time.Millisecond * 1000) ledAzul.Low() // FICA 1 Segundo inativo para repetir o codigo novamente time.Sleep(time.Millisecond * 1000) } }
Para compilar o código, você tera que estar com seu TinyGO e a linguagem GO ja instalados no computador
Passo 1: Abra um terminal no Vscode
Passo 2: Digite o seguinte comando e aperte enter
Se preferir, copie e cole, no terminal, o comando abaixo:
tinygo flash -target arduino -port COM4 main.go // ou o diretorio do arquivo
para saber a porta de comunicação do seu Arduino, basta ir no Arduino IDE e verificar, na parte de ferramentas, em Porta, ou em “Port”.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!