blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • O que é esta Linguagem GO?
  • Arduino
  • Vantagens e Desvantagens
  • Como Usar Golang com Arduino?
  • Instalação da Linguagem GO e TinyGO
  • Instalação e Configuração do IDE
  • Exemplo de Código com TinyGo para Controlar Dois LEDs
  • Compilação do Código para o Arduino
  • Video circuito Exemplo
  • Materiais Necessários para o Projeto Linguagem Go com Arduino
  • Circuito para Aplicar o Código
  • Conclusão
  • Referencias e Fontes
  • Sobre o Autor
Tutoriais

Linguagem Go com Arduino

Eletrogate 20 de abril de 2023

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


Video circuito Exemplo

https://blog.eletrogate.com/wp-content/uploads/2023/03/VID-20230303-WA0010.mp4

Materiais Necessários para o Projeto Linguagem Go com Arduino

  • Protoboard 830 Pontos
  • Led Difuso 5mm Vermelho
  • Led Difuso 3mm Azul
  • Resistor 560R 1/4W (10 Unidades)
  • Uno R3 + Cabo Usb para Arduino
  • Jumpers – Macho/Macho – 20 Unidades de 20cm

cta_cart


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.

Referencias e Fontes

  • Biblioteca TinyGO
  • Tutorial introdutorio da biblioteca
  • Video Explicativo da biblioteca TinyGO
  • Linguagem GO e suas caracteristicas
  • Referencias do 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


Eletrogate

20 de abril de 2023

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!

Sensores

Guia de Uso do Sensor de Chama com Arduino

Eletrogate1 de junho de 2023

Aprenda a usar o Sensor Infravermelho de Chama e Fogo com a placa Arduino Leonardo R3 para dar mais segurança a seus projetos.

Sensores

Guia de Uso do Sensor de Chama com Arduino

Eletrogate1 de junho de 2023

Aprenda a usar o Sensor Infravermelho de Chama e Fogo com a placa Arduino Leonardo R3 para dar mais segurança a seus projetos.

Automação Residencial

Controle de Luminosidade com LDR sem Arduino

Eletrogate25 de maio de 2023

Podemos usar um sensor LDR junto com uma placa Arduino para interpretar a variação luminosa. Mas, também podemos usar poucos componentes eletrônicos para fazer isso, sem programação.

Automação Residencial

Controle de Luminosidade com LDR sem Arduino

Eletrogate25 de maio de 2023

Podemos usar um sensor LDR junto com uma placa Arduino para interpretar a variação luminosa. Mas, também podemos usar poucos componentes eletrônicos para fazer isso, sem programação.

Módulos Wifi

Deauther com NodeMCU ESP-12E

Eletrogate18 de maio de 2023 Atualizado em: 29 maio 2023

No post de hoje, iremos aprender a fazer um deauther com o esp8266. Venha conferir!

Módulos Wifi

Deauther com NodeMCU ESP-12E

Eletrogate18 de maio de 2023 Atualizado em: 29 maio 2023

No post de hoje, iremos aprender a fazer um deauther com o esp8266. Venha conferir!

Componentes Eletronicos

Conhecendo a Pastilha Piezoelétrica

Eletrogate11 de maio de 2023

Como converter energia mecânica em energia elétrica e ainda usar o Arduino para gerenciar isso tudo.

Componentes Eletronicos

Conhecendo a Pastilha Piezoelétrica

Eletrogate11 de maio de 2023

Como converter energia mecânica em energia elétrica e ainda usar o Arduino para gerenciar isso tudo.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2023 - Todos os direitos reservados. Termos de uso e Política de privacidade.