Qual a linguagem de programação utilizada em Arduino

Qual a linguagem de programação utilizada em Arduino

Quase duas décadas depois do surgimento, o Arduino é uma realidade quando os assuntos são desenvolver protótipos, investir menos dinheiro para fazer testes e ganhar uma imensidão de possibilidades por conta da versatilidade da placa.

Popularizado por ter software e hardware livres, o Arduino ganhou espaço nas mesas de testes e nas telas de computador onde são programadas, tornando-se um grande aliado da educação. Some isso à adesão da comunidade de tecnologia ao produto e o que se tem é uma solução em constante evolução e barateamento. 

O Arduino é uma plataforma versátil que aceita gravações desde pequenos códigos, como acender uma lâmpada de LED, porém, pode ser usada em operações mais complexas como reconhecer gases através de sensores. 

A junção do baixo custo e da versatilidade fizeram com que o Arduino ganhasse relevância em alguns setores de produção, em especial, na tecnologia. 

E algumas dúvidas surgiram. Neste texto vamos explicar uma dúvida comum: Qual a linguagem de programação utilizada em Arduino? Boa leitura!

O que é Arduino?

O Arduino é uma plataforma de prototipagem eletrônica open source e é também um hardware livre. Ele funciona como um computador. O que isso significa? Primeiro que pode ser comercializado de forma livre, tanto quando se fala da parte física, quanto do software. 

Além disso, ele aceita a inserção de programas e é possível controlar o comportamento da placa através de um computador. As atividades programadas para que a placa funcione são escritas no ambiente de desenvolvimento integrado (IDE - Integrated development environment). Em outras palavras, um local próprio para desenvolver o software que será gravado na placa Arduino. 

Prototipagem é uma palavra que ilustra bem o que é um Arduino. Ela significa criar um protótipo vantajoso do ponto de vista operacional e financeiro. Para se ter uma ideia, alguns projetos já foram desenvolvidos com Arduino e resultaram em automações residenciais como identificar gases, por exemplo. Os aspiradores de pós robô, interruptores inteligentes, exemplificam, na prática, resultados de protótipos desenvolvidos com Arduino.

Qual a linguagem de programação usada em Arduino?

O nome da linguagem baseada em C++ não poderia ser outro senão Arduino. Ela está disponível para macOS, Linux e Windows. 

O Arduino é baseado na linguagem C++. Para compilar um programa é necessário ter um ambiente de desenvolvimento, neste caso, o Arduino IDE que é um aplicativo de computador com compilador integrado. Na prática, para testar o Arduino, a placa deve estar conectada a um terminal onde o código está escrito será gravado. 

Como funciona uma placa Arduino?

Muito parecido a um computador. Ele armazena o software que vai controlar a placa. Para isso, o Arduino conta com diversos componentes que podem ser configurados e gravados via USB. 

As placas são compostas por entradas digitais (linha verde na imagem), analógicas, pinos de voltagem e GND (abreviação de ground). 

Porém, existem diversos modelos de Arduino que se diferenciam pela quantidade de entradas, memória e também de recursos adicionais. Vamos conhecer alguns deles. 

1. Arduino Uno R3

É a placa ideal para quem está começando. São 6 pinos de entradas analógicas, 14 entradas e saídas digitais, 6 podem ser usadas como PWM - que possibilita a placa entender a intensidade do sinal, um volume de música. Mas como saber quais podem ser usados como PWM, você deve ter se perguntado? Eles vêm com o sinal “~” ao lado. 

2. Arduino Leonardo

Este modelo tem mais recursos se comparado ao Uno. O computador chega até a reconhecer esta placa como um periférico, como um mouse. O Leonardo tem o dobro de entradas analógicas, totalizando 12, 20 entradas e saídas digitais e 7 saídas PWM.  

3. Arduino Mega R3

É uma versão tunada da placa Uno. São 54 entradas digitais, 14 funcionam como PWM e 16 entradas analógicas. Esta placa é indicada quando o projeto tem muitos botões. 

4. Arduino Due

Enquanto isso, o Arduino Due é um dos modelos de ponta. Ele conta com 54 entradas e saídas digitais (doze podem ser PWM), 12 entradas analógicas e 4 interfaces seriais. 

5. Sensores e módulos

Para quem gosta de testar mesmo, as placas Arduino ainda podem ser combinadas com sensores módulos para medir intensidade da luz,  temperatura, grau de inclinação, proximidade e conexão com a internet. Como por exemplo, os sensores de estacionamento. 

Como começar o seu projeto Arduino?

Para iniciar projetos com Arduino é importante entender as linguagens C e C++, saber um pouco sobre eletrônica (não precisa ser expert) e ser muito criativo. Entenda melhor abaixo. 

Estude um pouco de eletrônica

Trabalhar com o Arduino não é nenhum bicho de sete cabeças, mas é preciso ter alguma noção em eletrônica. Sabendo como montar os circuitos, entender as tensões e correntes elétricas você já consegue tirar o projeto do papel. 

Estude as linguagens de programação C e C++

O Arduino possui uma linguagem própria e homônima. Porém, essa linguagem é baseada em C e C++. Dessa forma, se você entender como programar em C e C++ não vai ter problemas em programar no Arduino IDE. 

Explore a sua criatividade

Mostramos aqui que alguns protótipos já foram feitos com Arduino e, inclusive, já há produtos no mercado com funções que foram testadas na plataforma. Pense na automatização de uma casa e como a rotina poderia ser mais fácil, por exemplo, e mãos à massa.

Comprar uma placa

Chegou a hora de investir em uma placa em um protoboard. Isso serve para que o software possa ser testado na placa. Se você ainda não está seguro para usar uma placa física, vamos te mostrar uma opção bem legal. No site Tinkercard, você consegue fazer todos os testes com o Arduino de forma online e gratuita. 

Referência da Linguagem Arduino - Funções

A programação em Arduino pode ser analisada em três partes diferentes. As funções têm como finalidade controlar a placa e realizar computações. Veja alguns exemplos abaixo: 

Entradas e Saídas Digitais

digitalRead()

digitalWrite()

pinMode()

Entradas e Saídas Analógicas

analogRead()

analogReference()

analogWrite()

Apenas Zero, Due e Família MKR

analogReadResolution()

analogWriteResolution()

Entradas e Saídas Avançadas

noTone()

pulseIn()

pulseInLong()

shiftIn()

shiftOut()

tone()

Funções Temporizadoras

delay()

delayMicroseconds()

micros()

millis()

Funções Matemáticas

abs()

constrain()

map()

max()

min()

pow()

sq()

sqrt()

Funções Trigonométricas

cos()

sin()

tan()

Caracteres

isAlpha()

isAlphaNumeric()

isAscii()

isControl()

isDigit()

isGraph()

isHexadecimalDigit()

isLowerCase()

isPrintable()

isPunct()

isSpace()

isUpperCase()

isWhitespace()

Números Aleatórios

random()

randomSeed()

Bits e Bytes

bit()

bitClear()

bitRead()

bitSet()

bitWrite()

highByte()

lowByte()

Interrupções Externas

attachInterrupt()

detachInterrupt()

Interrupções

interrupts()

noInterrupts()

Comunicação

Serial

Stream

USB

Keyboard

Mouse

Referência da Linguagem Arduino - Variáveis

Já as variáveis são linhas que delimitam o tipo de dado e constantes da linguagem Arduino. High e Low, por exemplo, são os comandos para ligar e desligar determinada entrada. Veja outras aparições de variáveis a seguir: 

Constantes

HIGH | LOW

INPUT | OUTPUT | INPUT_PULLUP

LED_BUILTIN

true | false

Constantes de Ponto Flutuante

Constantes Inteiras

Conversão

byte()

char()

float()

int()

long()

word()

Tipos de Dados

bool

boolean

byte

char

double

float

int

long

short

size_t

string

String()

unsigned char

unsigned int

unsigned long

vetor

void

word

Escopo de Variáveis e Qualificadores

const

escopo

static

volatile

Utilitários

PROGMEM

sizeof()

Referência da Linguagem Arduino - Estruturas

A estrutura é, basicamente, a linguagem Arduino, inspirada na C++. São elas: 

Sketch

loop()

setup()

Estruturas de Controle

break

continue

do...while

else

for

goto

if

return

switch...case

while

Outros Elementos da Sintaxe

#define (define)

#include (include)

/* */ (comentário em bloco)

// (comentário)

; (ponto e vírgula)

{} (chaves)

Operadores Aritméticos

% (resto)

* (multiplicação)

+ (adição)

- (subtração)

/ (divisão)

= (operador de atribuição)

Operadores de Comparação

!= (diferente de)

< (menor que)

<= (menor que ou igual a)

== (igual a)

> (maior que)

>= (maior que ou igual a)

Operadores Boleanos

! (NÃO lógico)

&& (E lógico)

|| (OU lógico)

Operadores para Ponteiros

& (referência)

* (desreferência)

Operadores Bitwise

& (E)

<< (deslocamento à esquerda)

>> (deslocamento à direita)

^ (OU EXCLUSIVO)

| (OU)

~ (NÃO)

Operadores de Atribuição Composta

%= (compound remainder)

&= (atribuição por e)

*= (atribuição por multiplicação)

++ (incremento)

+= (atribuição por adição)

-- (decremento)

-= (atribuição por subtração)

/= (atribuição por divisão)

^= (atribuição por ou exclusivo)

|= (atribuição por ou)

Conclusão

O Arduino é uma solução versátil para quem faz testes com protótipos, sejam eles aplicados à tecnologia ou outras atividades. Ele tem sido muito utilizado em universidades e escolas para ensinar programação, já que testes podem ser feitos de forma gratuita e pela internet. 

Na prática, ele pode aceitar gravações simples como acender uma lâmpada através de palmas, ou até mesmo ser aplicado no uso industrial. E como tem sido usado de forma colaborativa há quase duas décadas, está em constante melhoria e atualização. 

Ele também oferece possibilidades interessantes para testar programas e também para ver na prática se o funcionamento das linguagens aplicadas nele estão corretas. O Arduino é uma plataforma que oferece desde testes simples de programação até soluções para a indústria.

Se você gostou desse conteúdo e gostaria de entrar na área de programação, eu recomendo que você faça a sua inscrição na próxima turma da Kenzie Academy Brasil.