Arduino
Arduino é um projeto Open-Source que
utiliza eletrônica e programação embarcada de alto nível. O Arduino é composto de duas partes Hardware
e Software:
O Hardware
O hardware consiste de um
microcontrolador Atmel AVR de 8 bits, com componentes complementares que
facilitam a programação e incorporação de outros circuitos, os conectores são
expostos, permite interligar o Arduino
com outros módulos expansivos conhecidos como Shields.
O Software
O Software é composto da Arduino
IDE que é uma aplicação multiplataforma escrita em Java derivada dos projetos
Processing e Wiring. Inclui um editor de código com recursos de realce de
sintaxe, parênteses correspondentes e indentação automática, sendo capaz de
compilar e carregar programas para a placa com um único clique.
O
Arduino IDE usa o Conjunto de ferramentas GNU e o AVR
Libc para compilar os
programas, para depois, com o avrdude, enviar os programas para a placa.
Aplicações
A principal finalidade do Arduino
num sistema é facilitar a prototipagem, implementação ou emulação do controle
de sistemas interativos, a nível doméstico, comercial ou móvel, da mesma forma
que o CLP controla sistemas de funcionamento industriais. Com o Arduino é
possível receber e enviar informações de quase todos os tipos de sistemas eletrônicos.
Possíveis aplicações são: Identificar a aproximação de uma pessoa
através de sensores ou variar a intensidade da luz de uma ambiente.
Expansões do Arduino
O Arduino tem um conjunto de
extensões que expandem a funcionalidade do Arduino para que o mesmo adquira
funções especializadas, desde a conexão através de Bluetooth até o controle de
motores. Tais extensões são feitas através de um hardware chamado Shields – que
são placas para serem montadas em cima da placa Arduino.
Alguns exemplos:
XBee Shield - Permite que uma
placa Arduino comunicar-se sem fios a distâncias de até 100 pés (interiores) ou
300 pés (outdoors), utilizando o Maxstream Xbee - módulo ZigBee.
Motor Shield - Permite que uma
placa Arduino controle motores DC e leia os codificadores.
Ethernet Shield - Permite que uma
placa Arduino conectar-se à internet.
Programando com o Arduino
As duas partes básicas de um
programa Arduino são feitas através de dois métodos.
void setup() {
}
void loop() {
}
O método setup é executado uma
única vez quando a placa é ligada e o método loop terá o código de execução por
todo o tempo que a placa estiver ligada. No método setup é onde se define os
pinos de entrada e saída e os parâmetros de inicialização.
Sintaxe
Tendo o Arduino uma sintaxe igual
a programação em C/C++.
“//” – Começa um comentário de
uma linha.
“/*texto */” – Comentário de
várias linhas.
“{}” – Um bloco de comandos.
“;” – Termino de Comando.
Tipos de Variáveis
Aqui está sendo mostrado os tipos
mais comuns e utilizados. No Site Arduino mostra todos os tipos e o que cada um
faz.
"boolean" - Sendo
Verdadeiro(true) ou Falso(false). Existe também Alto(HIGH) e Baixo(LOW).
"int" - Sendo os
números inteiros(de -32768 a 32767).
"unsigned int" - Sendo
os números inteiros positivos(de 0 a 65535).
"long" - Sendo os
números inteiros(de -2147483648 a 2147483647).
"unsigned long" - Sendo
os números inteiros positivos(de 0 a 4294967295).
"float" - Sendo os números
inteiros com decimais(-3.4028235*(10 elevado a +38) a 3.4028235*(10 elevado a
+38)).
"char" - Sendo um
caractere - Obs: Existe o "string" que é um conjunto de caracteres.
Operadores Matemáticos
"=" - Atribui um valor
a uma variável.
"+" - Soma.
"-" - Subtração.
"*" - Multiplicação.
"/" - Divisão.
"%" - Resto da divisão.
Ex: 5%2 -> O resto da divisão de 5 por 2 é 1.
Operadores de comparação
"==" - "é igual
a".
"!=" - "é
diferente a".
"<" - "é menor
a".
">" - "é maior
a".
Estruturas de controle
"if(condição){comandos1} -
Se a condição for verdadeira então faça os comandos1
else if(condição){comandos2} -
Senão se a condição for verdadeira então faça os comandos2
else{comandos3}" - Senão
faça os comandos3. Esta estrutura pode ter apenas o "if" caso tenha
apenas uma condição.
"for(variável=início;condição;modifica){comandos}" - Para a
variável=início e a condição for verdadeira faça os comandos, depois modifica e
verifica se a condição é verdadeira. Geralmente o "for" é utilizado
para executar os comandos um número n de vezes dentro do void loop() {}.
"while(condição){comandos}" - Enquanto a condição for verdadeira faça
os comandos. Parecido com o "for". Esta estrutura verifica primeiro a
condição e depois executa os comandos.
"do
{comandos}
while(condição)" - Faça os
comandos enquanto a condição for verdadeira. Esta estrutura executa primeiro os
comandos e depois verifica a condição.
Portas digitais e analógicas
Na prática ligamos componentes em
portas digitais e analógicas e através do código Arduino, manipulamos as
portas: pinMode(<porta>, <modo>): configura uma porta digital para
ser lida ou para enviarmos dados.
digitalWrite(<porta>, 0 ou
1): envia 0 ou 1 para porta digital.
digitalRead(<porta>):
retorna um 0 ou 1 lido da porta.
analogRead(<porta>):
retorna de 0 a 1023 com o valor da porta analógica.
analogWrite(<porta>,
<valor>): escreve em uma porta PWM um valor de 0 a 255.
Compilação
A imagem abaixo mostra a tela que
se abre ao executar a IDE do Arduino.
|
IDE do Arduino |
Após abrir o IDE do Arduino, clique em Tools, depois em board e
selecione o modelo do seu Arduino, conecte o Arduino na porta USB,
clique novamente em Tools, depois em Port e selecione a porta de comunicação do
seu Arduino.
Para se selecionar um Sketch para se trabalhar clique em File, depois em Examples, em Basics clique em Blink. Irá abrir
outra janela com a programação do exemplo "Piscar o LED (Blink)".
|
Sketch do exemplo do Blick |
Para fazer a compilação e mandar o código para o Arduino clique no botão upload como mostrado na
figura abaixo:
|
Mandando o Sketch para o Arduino |
Se a compilação correu tudo certo e também a porta selecionada estive certa, irá piscar o LED L na
placa, senão, mude a porta de comunicação do Arduino.
Essa é uma pequena introdução
sobre Arduino e espero ter ajudado alguém.
Até a próxima.