Tradutor

sábado, 9 de fevereiro de 2013

Conhecendo o Arduino


Um Arduino é um microcontrolador de placa única e uma suite de software para programá-lo. O hardware consiste em um projeto simples e open-source com um processador AVR Atmel e suporte I/O on-board. O software consiste de uma linguagem de programação padrão e do gerenciador de inicialização que é executado na placa. Trata-se de uma placa open-source que permite conectar-se ao mundo físico através entradas e saídas e interfaceá-lo com o computador através da porta USB utilizando um sistema interativo de fácil programação onde é possível programar o processador para que execute funções de acordo com o desejado, ou seja,  sistema que pode interagir com o meio ambiente através da utilização de hardware e de software.

O Arduino pode ser usado para desenvolver projetos stand-alone com objetos interativos ou pode ser conectado a um computador, uma rede, ou mesmo a Internet para recuperar e enviar dados ao computador e para o Arduino e depois agir sobre esses dados. Em outras palavras, ele pode enviar um conjunto de dados recebidos de alguns sensores para algum outro dispositivo (na internet, celular, outro arduino, etc), que pode então ser apresentados sob a forma de gráficos, relatórios e pode também devolver uma resposta para que o arduino execute alguma ação.





Existem diversos modelos de arduinos com tamanhos menores e maiores, contendo mais ou menos portas para conexão de sensores, tais como:

- Arduino Uno               - Arduino Leonardo           - Arduino Due        - Arduino Esplora
- Arduino Mega 2560    - Arduino Mega ADK       - Arduino Ethernet  - Arduino Mini
- LilyPad Arduino         - LilyPad Arduino USB     - Arduino Micro     - Arduino Nano
- Arduino Pro Mini       - Arduino Pro                     - Arduino Fio


A placa Arduino é constituída com um microprocessador AVR Atmel, um cristal ou oscilador (que envia impulsos com uma frequência de tempo específica), e um regulador de 5 volts linear. Dependendo do tipo de Arduino, também pode ter uma entrada USB para conectar a um PC ou Mac para fazer o upload ou recuperação de programas e dados. A placa possui um microcontrolador com pinos de I/O (entrada / saída) de modo que você possa conectar os pinos com outros circuitos, sensores, motores e componentes.

Para programar o Arduino é necessário usar a sua IDE (Integrated Development Environment), que é um software livre em que você escreve códigos em linguagem C comunicando diretamente com o Arduino. A placa irá seguir estas instruções e interagir com o que estiver conectado a ele.



O Arduino Diecimila  é uma placa microcontrolada baseada no ATmega168, que possui 14 portas digitais de entrada / saída (dos quais 6 podem ser usadas ​​como saídas PWM), 6 entradas analógicas, um cristal oscilador de 16 MHz, uma conexão USB, um conector de alimentação, um ICSP Header, e um botão de reset. Ele contém tudo o que é necessário para suportar o microcontrolador, basta conectá-lo a um computador com um cabo USB ou ligá-lo com um adaptador AC para DC ou bateria.





MicrocontrollerATmega168
Operating Voltage5V
Input Voltage (recommended)7-12 V
Input Voltage (limits)6-20 V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins6
DC Current per I/O Pin40 mA
DC Current for 3.3V Pin50 mA
Flash Memory16 KB (of which 2 KB used by bootloader)
SRAM1 KB
EEPROM512 bytes
Clock Speed16 MHz


Este dispositivo pode utilizar diversos sensores e outras placas que aumentam ainda mais sua capacidade tais como os shields e sensores mostrados abaixo:

 

Seguem o esquemático e arquivos eagle:

Esquema: Arduino-Diecimila-schematic.pdf
Arquivos Eagle: arduino-diecimila-reference-design.zip


Energia
O Diecimila Arduino pode ser alimentado através da conexão USB ou com uma fonte de alimentação externa. A fonte de alimentação é selecionada pelo jumper PWR_SEL: para alimentar a placa a partir da conexão USB, coloque-o o jumper nos pinos mais próximos ao conector USB, para uma fonte de alimentação externa, os jumper nos dois pinos mais próximos da fonte.

A placa pode operar com uma fonte externa de 6 a 20 volts. Se for fornecido com menos de 7V, no entanto, o pino de 5V pode fornecer menos de cinco volts e a placa ficará instável. Se usar mais do que 12V, o regulador de voltagem pode superaquecer e danificar a placa, a variação recomendada é de 7 a 12 volts.

     VIN. A tensão de entrada para a placa Arduino quando é utilizada uma fonte de alimentação externa (a partir da conexão USB ou outra fonte de alimentação regulada). Você pode fornecer tensão por este pino ou, se o fornecimento de tensão for através da tomada de energia, poderá acessá-lo através deste pino.     

     5V. A fonte de alimentação regulada usada para alimentar o microcontrolador e outros componentes da placa. Isso pode vir do VIN através de um regulador on-board, ou fornecida pela USB ou outra fonte de 5V regulada.

     3V3. Uma fonte de voltagem 3,3 gerada pelo chip FTDI da placa. Consumo de corrente máxima é de 50 mA.

     GND. Pinos terra.

Memória

O ATmega168 tem 16 KB de memória flash para armazenamento de código (dos quais 2 KB são usados para o bootloader), possui 1 KB de SRAM e 512 bytes de EEPROM.

Entradas e Saídas

Cada um dos 14 pinos digitais do Diecimila pode ser usado como uma entrada ou saída, usando pinMode (), digitalWrite (), e digitalRead (). Eles operam a 5 volts. Cada pino pode fornecer ou receber um máximo de 40 mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50 kOhms. Além disso, alguns pinos têm funções especializadas:

     Serial: 0 (RX) e 1 (TX). Usados ​​para receber (RX) e transmitir (TX) dados seriais TTL. Estes pinos são ligados aos pinos correspondentes do chip FTDI USB-to-TTL Serial.

     Interrupções externas: 2 e 3. Estes pinos podem ser configurados para disparar uma interrupção por um valor baixo, uma borda de subida ou queda, ou uma mudança de valor. Veja a função attachInterrupt () para mais detalhes.


       PWM: 3, 5, 6, 9, 10, e 11. Fornece 8 bits de saída PWM com a função analogWrite ().

     SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estes pinos dão suporte à comunicação SPI que, embora suportada pelo hardware, não está incluído na linguagem Arduino.

     LED: 13. Há um built-in LED conectado ao pino digital 13. Quando o pino é de alto valor, o LED estará ligado, quando o pino é LOW, ele estará desligado.

O Diecimila tem 6 entradas analógicas, cada uma com 10 bits de resolução (1024 valores diferentes). Por padrão, eles medem de terra para 5 volts, embora seja possível mudar o limite superior de sua faixa usando o pino AREF e algum código de baixo nível. Além disso, alguns pinos têm funcionalidades especializadas:

     I2C: 4 (SDA) e 5 (SCL). Suporte à comunicação (TWI) I2C usando a biblioteca Wire.

Há um par de outros pinos na placa:

     AREF: Tensão de referência para as entradas analógicas. Usado com analogReference ().

   Reset: Trazer este LOW para resetar o microcontrolador. Tipicamente usado para adicionar um botão de reset para shields que bloqueiam a placa.

Comunicação

O Arduino Diecimila tem uma série de facilidades para se comunicar com um computador, com outro Arduino ou outros micro controladores. O ATmega168 fornece comunicação UART TTL (5V) de série, que está disponível nos pinos digitais 0 (RX) e 1 (TX). Um FT232RL FTDI possui canais de comunicação serial através da USB e os drivers FTDI (incluído com o software do Arduino), fornecem uma porta virtual (COM) para o software no computador. O software Arduino inclui um monitor serial que permite que dados simples de texto possam ser enviados entre o computador e a placa Arduino. O LEDs RX e TX na placa piscam quando os dados estão sendo transmitidos pelo chip FTDI e a conexão USB para o computador (mas não para comunicação serial nos pinos 0 e 1).


Para mais informações sobre o arduino acesse www.http://arduino.cc, segue uma referencia rápida contendo as principais portas e comandos utilizados na programação do arduino.