Вы находитесь на странице: 1из 5

Arduino

Origem: Wikipédia, a enciclopédia livre.


Saltar para a navegaçãoSaltar para a pesquisa

Arduino

Arduino Uno

Desenvolvedor • Massimo Banzi, David Cuartielles,


Tom Igoe, Gianluca Martino e David
Mellis.
• Baseado no Processing, de Casey
Reas e Ben Fry.
• Comunidade Código aberto.

Plataforma C/C++

Lançamento 2005

Versão estável 1.8.2 (22 de março de 2017; há 2 anos [1])

Versão em teste 1.5.8 (10 de janeiro de 2014; há 5 anos[1])

Linguagem Java

Sistema Microsoft Windows, Linux, Mac OS


operacional X[2][3]

Gênero(s) Ambiente de desenvolvimento


integrado

Licença • Software em LGPL ou GPL


• Hardware em Creative Commons
Estado do Ativo
desenvolvimento

Página oficial http://www.arduino.cc/en/(em inglês)

Arduino[2][4][5] é uma plataforma de prototipagem eletrônica de hardware livre e de placa


única,[6] projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido,
uma linguagem de programaçãopadrão,[7] a qual tem origem em Wiring, e é essencialmente C/C++.[8] O
objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se
usar por principiantes e profissionais. Principalmente para aqueles que não teriam alcance aos
controladores mais sofisticados e ferramentas mais complicadas.[9]
Pode ser usado para o desenvolvimento de objetos interativos independentes, ou ainda para ser
conectado a um computador hospedeiro. Uma típica placa Arduino é composta por um controlador,
algumas linhas de E/S digital e analógica, além de uma interface serial ou USB, para interligar-se ao
hospedeiro, que é usado para programá-la e interagi-la em tempo real. A placa em si não possui
qualquer recurso de rede, porém é comum combinar um ou mais Arduinos deste modo, usando
extensões apropriadas chamadas de shields[10]. A interface do hospedeiro é simples, podendo ser
escrita em várias linguagens. A mais popular é a Processing, mas outras que podem comunicar-se
com a conexão serial são: Max/MSP,[11] Pure Data,[12] SuperCollider,[13] ActionScript[14] e Java.[15] Em
2010 foi realizado um documentário sobre a plataforma chamado Arduino: The Documentary.

Índice

 1História
o 1.1Hardware
o 1.2Software
 2Aplicações
 3Hardware oficial
o 3.1Distribuidores Oficiais Arduino
o 3.2Licenças de Hardware e Software
o 3.3Acessórios
 4Clones
o 4.1Modelos Clone
o 4.2Clones com bootloaders compatíveis
o 4.3Placas sem ATmega
 5Referências
 6Ligações externas

História[editar | editar código-fonte]


O projeto iniciou-se na cidade de Ivrea, Itália, em 2005, com o intuito de interagir em projetos escolares
de forma a ter um orçamento menor que outros sistemas de prototipagem disponíveis naquela época.
O sucesso foi sinalizado com o obtenção de uma menção honrosa na categoria Comunidades
Digitais em 2006, pela Prix Ars Electronica,[16][17] além da marca de mais de 50.000 placas vendidas
até outubro de 2008.[18][19]
Atualmente, o seu hardware é feito através de um microcontrolador Atmel AVR, sendo que este não é
um requisito formal e pode ser estendido se tanto ele quanto a ferramenta alternativa suportarem a
linguagem arduino e forem aceites pelo seu projeto.[7] Considerando esta característica, muitos projetos
paralelos inspiram-se em cópias modificadas com placas de expansões, e acabam recebendo os seus
próprios nomes.
Hardware[editar | editar código-fonte]
Arduino conectado a uma protoboard

A sua placa consiste num microcontrolador Atmel AVR de 8 bits, com componentes complementares
para facilitar a programação e incorporação noutros circuitos. Um importante aspecto é a maneira
padrão como os conectores são expostos, permitindo o CPU ser interligado a outros módulos
expansivos, conhecidos como shields. Os Arduinos originais utilizam a série de chips megaAVR,
especialmente os ATmega8, ATmega168, ATmega328 e a ATmega1280; porém muitos outros
processadores foram utilizados por clones deles.[20]
A grande maioria de placas inclui um regulador linear de 5 volts e um oscilador de cristal de
16 MHz (podendo haver variantes com um ressonador cerâmico), embora alguns esquemas como
o LilyPad usem até 8 MHz e dispensem um regulador de tensão embutido, por terem uma forma
específica de restrições de fator. Além de ser microcontrolador, o componente também é pré-
programado com um bootloader, o que simplifica o carregamento de programas para o chip
de memória flash embutido, em comparação com outros aparelhos que geralmente demandam
um chip programador externo.[20]

FTDI acoplado num Arduino NG

Conceptualmente, quando o seu software é utilizado, ele monta todas as placas sobre uma
programação de conexão serial RS-232, mas a forma de implementação no hardware varia em cada
versão. As suas placas de serie contêm um simples circuito inversor para converter entre os sinais dos
níveis RS-232 e TTL. Atualmente, existem alguns métodos diferentes para realizar a transmissão dos
dados, como por placas programáveis via USB, adicionadas através de um chip adaptador USB-para-
Serial, como o FTDI FT232. Algumas variantes, como o Arduino Mini e o não oficial Boarduino, usam
um módulo, cabo adaptador USB, bluetooth ou outros métodos. Nestes casos, são usados com
ferramentas microcontroladoras ao invés do Arduino IDE, utilizando assim a programação padrão AVR
ISP.[21][22]
A maioria dos pinos de E/S dos microcontroladores são para uso de outros circuitos. A
versão Diecimila, que substituiu a Duemilanove, por exemplo, disponibiliza 14 pinos digitais, 6 das
quais podem produzir sinais MLP, além de 6 entradas analógicas. Estes estão disponíveis em cima da
placa, através de conectores fêmeas de 0,1 polegadas (ou 0,25 centímetros).[23]
O modelo Nano, Boarduino e placas compatíveis com estas, fornecem conectores machos na parte de
baixo da placa, para serem conectados em protoboards.[20]
Tela do Arduino IDE mostrando um simples programa exemplo

Software[editar | editar código-fonte]


O Arduino IDE é uma aplicação multiplataforma escrita em Java derivada dos
projetos Processing e Wiring.[20][24] É esquematizado para introduzir a programação para artistas e para
pessoas não familiarizadas com o desenvolvimento de software. Inclui um editor de código com
recursos de realce de sintaxe, parênteses correspondentes e identação automática, sendo capaz de
compilar e carregar programas para a placa com um único clique. Com isso não há a necessidade de
editar Makefiles ou rodar programas em ambientes de linha de comando.[9][25]
Tendo uma biblioteca chamada "Wiring", ele possui a capacidade de programar em C/C++. Isto
permite criar com facilidade muitas operações de entrada e saída, tendo que definir apenas duas
funções no pedido para fazer um programa funcional:[20]

 setup() – Inserida no início, na qual pode ser usada para inicializar configuração, e
 loop() – Chamada para repetir um bloco de comandos ou esperar até que seja desligada.
Habitualmente, o primeiro programa que é executado tem a simples função de piscar um LED. No
ambiente de desenvolvimento, o utilizador escreve um programa exemplo como este:[26]

// define LED_PIN 13
int LED_PIN = 13;

void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital
(OUTPUT).
}

void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}

O código acima não seria visto pelo compilador como um programa válido, então, quando o utilizador
tentar carregá-lo para a placa, uma cópia do código é escrita para um arquivo temporário com um
cabeçalho extra incluído no topo, e uma simples função principalcomo mostrada abaixo:
# include<WProgram.h>

void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital
(OUTPUT).
}

void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}

int main(void)
{
// define LED_PIN 13
int LED_PIN = 13;

init();

setup();

for (;;)
loop();

return 0;
}

"WProgram.h" é um recurso para referenciar a biblioteca Wiring, e a função main( ) apenas faz três
chamadas distintas: init( ), definida em sua própria biblioteca, setup( ) e loop( ), sendo as duas últimas
configuradas pelo usuário.
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.[27]

Aplicações[editar | editar código-fonte]


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 ele é possível enviar ou receber
informações de basicamente qualquer sistema eletrônico, como identificar a aproximação de uma
pessoa e variar a intensidade da luz do ambiente conforme a sua chegada. Ou abrir as janelas de um
escritório de acordo com a intensidade da luz do sol e temperatura ambiente.[28]
Os campos de atuação para o controle de sistemas são imensos, podendo ter aplicações na área
de impressão 3D,[29] robótica,[30] engenharia de transportes,[31] engenharia agronômica[32] , musical.[2][33] ou
até mesmo em ambiente escolar, para o desenvolvimento de experimentos otimizando assim a
aprendizagem dos alunos tanto na área de física quanto de química.

Вам также может понравиться