/
/
Linguagem Go com Arduino

Linguagem Go com Arduino

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-go-linguagem-capa

Introdução

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.

O que é esta Linguagem GO?

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

Oque é Arduino?

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.

Vantagens e Desvantagens

Golang Com Arduino

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.

Como Usar Golang com Arduino?

Aplicando a Linguagem GO ao Arduino

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.

Instalação da Linguagem GO e TinyGO

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

Para a instalação do TinyGO, é um pouco diferente:

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

Instalação e Configuração do IDE

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

Configurando Vscode para ser usado com a linguagem GO

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:

Exemplo de Código com TinyGo para Controlar Dois LEDs

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)
 }

}

Compilação do Código para o Arduino

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".

Circuito para Aplicar o Código

Conclusão

Aqui terminamos uma breve demonstração da linguagem do Google com o Arduino. Podemos ver que Go é uma linguagem muito poderosa, porém ainda com pouca visibilidade, e podemos passar e olhar brevemente o quão simples é a sintaxe desta linguagem e o quão amigável ela é com os iniciantes, e principalmente podemos ver os grandes pontos de vantagens sobre a linguagem do próprio Arduino, mas também podemos ver suas desvantagens que são Ide's não oficiais do Arduino e ter que instalar bibliotecas para que funcione a comunicação com Arduino.

Sobre o Autor


Davi Alexandre

Me chamo Davi sou Desenvolvedor de Software e entusiasta do ramo da eletrônica maker, Cursando Técnico em Automação Industrial integrado ao Ensino Médio no IFF - Instituto Federal Fluminense - Campus Santo Antonio de Padua

Esta postagem consiste em demonstrar a implementação da linguagem do Google que foi recentemente criada em 2007, a linguagem GO, com o microcontrolador da Arduino UNO, e as facilidades desta linguagem comparadas ao C++, e também suas vantagens e desvantagens com a Arduino Uno.

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *