Arduino é uma plataforma open-source que permite que microcontroladores detectem e controlem objetos do mundo físico. Ela simplifica o processo de programação desses dispositivos para estudantes, professores e amadores interessados em sistemas físicos. O ambiente de programação Arduino é fácil de usar para iniciantes, mas também flexível para usuários avançados.
1. Arduino
Arduino é uma ferramenta que torna os computadores capazes de detectar e controlar elementos do mundo
físico. É uma plataforma open-source de computação física baseada em um microcontrolador a bordo de
uma placa simples, além de um ambiente de desenvolvimento para escrever softwares para a placa.
O Arduino pode ser utilizado para desenvolver objetos autônomos ou iterativos (como um sistema de
controle que necessita de acesso aos objetos do mundo físico), tomando as entradas a partir de uma
variedade de sensores ou switches e controlando atuadores como LEDs, servo-motores, relés ou outros tipos
de saída. Os projetos podem ser autônomos baseados na rotina escrita para o microcontrolador ou podem se
comunicar com um software em execução no computador.
A plataforma Arduino simplifica o processo de trabalhar com microcontroladores, alocando os detalhes
confusos e complexos de programação desses componentes em um pacote easy-to-use (fácil de utilizar),
oferecendo grande vantagem a professores, estudantes e amadores interessados em sistemas físicos.
Placas Arduino são relativamente baratas em comparação com outras plataformas de microcontroladores. A
versão mais barata do módulo Arduino pode ser montada à mão, e até mesmo os módulos pré-montados
Arduino podem ser encontrados à venda no Brasil.
O ambiente de programação Arduino é fácil de usar para iniciantes, mas suficientemente flexível para
usuários avançados tirarem máximo proveito. Para os professores, é convenientemente com base no
ambiente de programação Processing, por isso os alunos ao aprenderem a programar nesse ambiente vão
estar familiarizados com a aparência e o sistema do Arduino.
Códigos-fonte abertos e extensíveis do ambiente Arduino são publicados, disponíveis para aperfeiçoamento
por programadores experientes. A linguagem pode ser expandida através de bibliotecas C++, e pessoas que
querem entender os detalhes técnicos podem fazer a mudança do Arduino para a linguagem de programação
AVR-C em que ele se baseia. Da mesma forma, você pode adicionar o código AVR-C diretamente no
Arduino seus programas se desejar.
Open source e hardware extensível, o Arduino é baseado nos microcontroladores Atmel ATMEGA8 e
ATMEGA168. Os projetos dos módulos são publicados sob a licença Creative Commons, desenvolvedores
2. de circuito experientes podem fazer sua própria versão do módulo, estendendo-o e melhorando. Mesmo
utilizadores mais inexperientes podem construir a versão da placa base do módulo, a fim de compreender
como ela funciona e economizar dinheiro.
Ambiente de Programação
3. Linguagem de referência
Estrutura Variáveis Funções
setup() Con stan ts Digital I/O
loop()
HIGH | LOW pinMode()
Con trol S tru ctu res INPUT | OUTPUT|INPUT_PULLUP digitalWrite()
true | false digitalRead()
if integer constants
if...else floating point constants Analog I/O
for
switch case Data T yp es analogReference()
while analogRead()
do... while void analogWrite() - PWM
break boolean
char Advanced I/O
continue
return unsigned char
tone()
goto byte
noTone()
int
shiftOut()
Fu rth e r S yn tax unsigned int
shiftIn()
word
; (semicolon) pulseIn()
long
{} (curly braces) unsigned long
Time
// (single line comment) float
/* */ (multi-line comment) double millis()
#define string - char array micros()
#include String - object delay()
array delayMicroseconds()
Ari th meti c O p e rat ors
Con versi on Math
= (assignment operator)
+ (addition) char() min()
- (subtraction) byte() max()
* (multiplication) int() abs()
/ (division) word() constrain()
% (modulo) long() map()
float() pow()
Co mp ari s on O p erators
sqrt()
Vari ab l e S cop e & Q u al if i ers
== (equal to)
Trigonometry
!= (not equal to) variable scope
< (less than) static sin()
> (greater than) volatile cos()
4. <= (less than or equal to) const tan()
>= (greater than or equal to)
Uti l i ti es Random Numbers
B ool ean O p erators
sizeof() randomSeed()
&& (and) random()
|| (or)
! (not) Bits and Bytes
Poi n te r Ac ces s lowByte()
O p erators highByte()
bitRead()
* dereference operator bitWrite()
& reference operator bitSet()
bitClear()
B i tw i s e O p erators bit()
& (bitwise and) External Interrupts
| (bitwise or)
^ (bitwise xor) attachInterrupt()
~ (bitwise not) detachInterrupt()
<< (bitshift left)
>> (bitshift right) Interrupts
Co mp ou n d Op erato rs interrupts()
noInterrupts()
++ (increment)
-- (decrement) Communication
+= (compound addition)
Serial
-= (compound subtraction)
Stream
*= (compound multiplication)
/= (compound division)
Leonardo Specific
&= (compound bitwise and)
|= (compound bitwise or) Keyboard
Mouse