Buscar

Capítulo 1 - Hardware Arduino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. O Hardware Arduino
	
Neste capítulo iremos estudar sobre as principais características do hardware referente à Placa Arduino UNO R3 (figura 1), mais diretamente do Microcontrolador ATmega328 (figura 1), embarcado nesta placa. 
Primeiramente, iremos relembrar ou conhecer alguns conceitos relacionados aos sinais digitais e analógicos.
Figura 1 – Placa Arduino UNO R3 e o Microcontrolador ATmega328
Fonte: http://tekntools.com/wp-content/uploads/2015/01/arduino-.jpg (adaptado).
É importante saber que não é possível estabelecer conceitos sobre programação sem que seja reconhecido o hardware a ser programado. 
1.1 Revisão dos fundamentos de base
1.1.1 O Sinal Digital
O sinal digital é utilizado internamente pelos sistemas microprocessados para o processamento de informações, traduzindo a mudança de estados de um bit ou um conjunto de bits (bytes e word).
Um sinal digital é caracterizado por assumir somente dois estados, um considerado como “nível alto”, sendo este caracterizado por assumir o valor máximo de tensão, ou estado lógico “1” e o outro como “nível baixo”, caracterizado por assumir o valor mínimo de tensão, ou estado lógico “0” alternando-se temporalmente, ou seja, possuindo um período de ciclo (T) em segundos, que determinada uma frequência (f) em Hertz. 
Ainda, existem os estados de transição entre os níveis que são denominados como “borda de descida”, sendo esta caracterizada pela transição do nível alto para o baixo, bem como “borda de subida”, caracterizada pela transição do nível baixo para o alto.
A figura 2 apresenta as características supracitadas de um sinal digital.
Figura 2 – Características de um sinal digital
O bit é a menor unidade de grandeza utilizada no “mundo digital”, assumindo somente os valores 0 e 1 (base binária). O byte é caracterizado por uma informação com um conjunto de até 8 bits. Para informações com mais de 8 bits, dá-se o nome de word.
1.1.2 O Sinal Analógico
O sinal analógico traduz o comportamento de grandezas que variam no tempo, entre valores de amplitude máximos e mínimos, denominados como “range”, conforme apresentado na figura 3.
Figura 3 – Características de um sinal analógico
Esse tipo de sinal é gerado por sensores e transdutores que detectam grandezas analógicas, tais como, temperatura, pressão, umidade, luminância, dentre outros, e as transformam em variações de amplitude de tensão ou corrente elétrica.
Na verdade, para que esse sinal seja utilizado por um sistema microprocessado, ainda deve ser tratado por um conversor analógico/digital, que será estudado nesse curso.
1.2 Os recursos da Placa Arduino UNO R3
A placa Arduino UNO já está em sua terceira revisão (R3) e você pode baixar seu esquema elétrico em formato PDF no site do Arduino (https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf), ou até mesmo todos os arquivos do projeto para edição para softwares de prototipagem. 
Ela tem duas camadas apenas e várias características interessantes de projeto. A seguir serão apresentadas as principais características do seu hardware.
1.2.1 Alimentação da Placa Arduino UNO R3
A placa pode ser alimentada pela conexão USB ou por uma fonte de alimentação externa, conforme exibido na figura 4.
Figura 4 – Alimentação da Placa Arduino UNO R3
Fonte: http://tekntools.com/wp-content/uploads/2015/01/arduino-.jpg (adaptado).
 
A alimentação externa é feita através do conector Jack com o polo positivo no centro, sendo que o valor de tensão da fonte externa deve estar entre os limites de 6V a 20V. Porém, se alimentada com uma tensão abaixo de 7V, a tensão de funcionamento da placa, que no Arduino Uno é 5V, pode ficar instável e quando alimentada com tensão acima de 12V, o regulador de tensão da placa pode sobreaquecer e danificar a placa. Dessa forma, é recomendado para tensões de fonte externa valores de 7V a 12V.
O circuito regulador para entrada externa é apresentado na figura 5. Nota-se que o CI responsável pela regulação de tensão é o NCP1117, fabricado pela Empresa OnSemi. Destaque para o diodo D1 que protege o circuito caso uma fonte com tensão invertida for ligada.
Figura 5 – Circuito regulador de tensão e diodo de proteção
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
Quando o cabo USB é plugado a um PC, por exemplo, a tensão não precisa ser estabilizada pelo regulador de tensão. Dessa forma a placa é alimentada diretamente pela USB. O circuito da USB apresenta alguns componentes que protegem a porta USB do computador em caso de alguma anormalidade. Na figura 6 é apresentado o circuito de proteção da USB da placa Arduino UNO.
Os dois varistores (Z1 e Z2) podem suportar picos elevados de transientes. 
O resistores de 22 (RN3A e RN3D), limitam uma corrente resultante de alguma descarga elétrica eventual de um usuário em contato com o conector USB, resultante de transientes rápidos, protegendo, dessa forma, os pinos do microcontrolador. 
 O fusível resetável (F1) de 500 mA impede que a porta USB do computador queime, caso ocorra algum problema de projeto ou uma falha no circuito e ultrapasse a corrente de 500 mA, quando a  placa estiver conectada ao PC. O ferrite L1 foi incluído no circuito para que ruídos da USB externa não entrem no circuito da placa Arduino, através do conector terra.
Figura 6 – Circuito de proteção da USB da placa Arduino UNO R3
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
 Além dos recursos apresentados anteriormente, a  placa conta com um circuito pra comutar a alimentação automaticamente entre a tensão da USB e a tensão da fonte externa. 
Varistor ou Resistor Dependente de Tensão é um componente eletrônico cujo valor de resistência elétrica é uma função inversa da tensão aplicada nos seus terminais. Isto é, a medida que a diferença de potencial sobre o varístor aumenta, sua resistência diminui.
Na figura 7 são exibidos os conectores de alimentação para conexão de shields e módulos na placa Arduino UNO.
Figura 7 – Conectores de Alimentação
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
IOREF: fornece uma tensão de referência para que shields possam selecionar o tipo de interface apropriada, dessa forma shields que funcionam com a placas Arduino que são alimentadas com 3,3V, podem se adaptar para ser utilizados em 5V e vice-versa.
RESET: pino conectado a pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino.
3,3 V: fornece tensão de 3,3V para alimentação de shield e módulos externos. Corrente máxima de 50 mA.
5 V: fornece tensão de 5 V para alimentação de shields e circuitos externos.
GND: pinos de referência, terra.
Vin: pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack, a tensão da fonte estará nesse pino.
1.2.2 Comunicação USB da Placa Arduino UNO R3
Como interface USB para comunicação com o computador, há na placa um microcontrolador ATMEL ATMEGA16U2, conforme figura 8.
Figura 7 – Conectores de Alimentação
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
Este microcontrolador é o responsável pela forma transparente como funciona a placa Arduino UNO, possibilitando o upload do código binário gerado após a compilação do programa feito pelo usuário. 
Possui um conector ICSP para gravação de firmware através de um programador ATMEL, para atualizações futuras.
Nesse microcontrolador também estão conectados dois leds (TX, RX), controlados pelo software do microcontrolador, que indicam o envio e recepção de dados da placa para o computador. 
Esse microcontrolador possui um cristal externo de 16 MHz. É interessante notar a conexão entre este microcontrolador com o ATMEL ATMEGA328, onde é feita pelo canal serial desses microcontroladores. Outro ponto interessante que facilita o uso da placa Arduino é a conexão do pino 13 do ATMEGA16U2 ao circuito de RESET do ATMEGA328, possibilitandoa entrada no modo bootloader automaticamente quando é pressionado o botão Upload na IDE. 
Essa características não acontecia nas primeiras placas Arduino, onde era necessário pressionar o botão de RESET antes de fazer o Upload na IDE.
Modo Bootloader é.
1.2.3 Portes de I/O da Placa Arduino UNO R3
A placa Arduino UNO possui pinos de entrada e saídas digitais, assim como pinos de entradas e saídas analógicas. A figura 8 apresenta a pinagem conhecida como o padrão Arduino.
Figura 8 – Os portes de I/O da Placa Arduino UNO R3
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
Conforme exibido na figura, a placa Arduino UNO R3 possui 14 pinos que podem ser usados como entrada ou saída digitais. Estes Pinos operam em 5 V, onde cada pino pode fornecer ou receber uma corrente máxima de 40 mA. Cada pino possui resistor de pull-up interno (conectado ao Vcc) que pode ser habilitado por software. 
Alguns desse pinos possuem funções especiais:
 
PWM : 3,5,6,9,10 e 11 podem ser usados como saídas PWM de 8 bits através da função analogWrite();
Comunicação serial: 0 e 1 podem ser utilizados para comunicação serial. Deve-se observar que estes pinos são ligados ao microcontrolador responsável pela comunicação USB com o PC;
Interrupção externa: 2 e 3 . Estes pinos podem ser configurados para gerar uma interrupção externa, através da função attachInterrupt().
Para interface com o mundo analógico, a placa Arduino UNO possui 6 entradas, onde cada uma tem a resolução de 10 bits. Por padrão a referência do conversor AD está ligada internamente a 5V, ou seja, quando a entrada estiver com 5V o valor da conversão analógica digital será 1023. O valor da referência pode ser mudado através do pino AREF. 
Fique tranquilo, veremos com detalhes os canais de conversão A/D e D/A nas próximas aulas.
1.3 O Cérebro do Arduino UNO R3
O componente principal da placa Arduino UNO é o microcontrolador ATMEL ATMEGA328, um dispositivo de 8 bits da família AVR com arquitetura RISC (Reduce Instruction Set) avançada e com encapsulamento DIL28 (Dual in Line). 
Ele conta com 32 KB de Flash (mas 512 Bytes são utilizados para o bootloader), 2 KB de RAM e 1 KB de EEPROM. 
Pode operar a até 20 MHz, porém na placa Arduino UNO opera em 16 MHz, valor do cristal externo que está conectado aos pinos 9 e 10 do microcontrolador. 
Esse microcontrolador pode operar com tensões bem baixas, de até 1,8 V, mas nessa tensão apenas opera até 4MHz. 
Possui dois modos de consumo super baixos, o Power-down Mode e o Power-save Mode, para que o sistema possa poupar energia em situações de espera. 
Possui, como periféricos uma USART (Canal Universal Serial Assíncrono Receptor Transmissor) que funciona a até 250kbps, uma SPI, que vai a até 5MHz, e uma I2C que pode operar até 400kHz. Conta com um comparador analógico interno ao CI e diversos timers, além de 6 PWMs. A corrente máxima por pino é de 40mA, mas a soma da corrente de todo o CI não pode ultrapassar 200mA. Ele possui um oscilador interno de 32kHz que pode ser utilizado, por exemplo, em situações de baixo consumo.
Neste momento serão apresentadas as características principais dos pinos do Microcontrolador ATmega328, conforme o diagrama apresentado na figura 9.
Figura 9 – Pinagem do Microcontrolador ATmega328
Fonte: http://www.vwlowen.co.uk/arduino/bootloader/pinmap.jpg.
1.3.1 Pino VCC
Tensão de alimentação digital.
1.3.2 Pino GND
Terra.
1.3.3 Os Portes do ATmega328 
Um Porte é caracterizado por uma porta do tipo I/O (entrada e saída) bidirecional de 7 ou 8 bits com resistores internos pull-up (resistores que são ligados ao pino e +VCC), habilitados para cada bit. 
Um Porte configurado como saída, possui buffers que têm como principal característica a alta capacidade de drenagem de corrente, ou seja, possibilita a ligação de diversas entradas de outros circuitos digitais ou de potência (alto fanout). 
Configurados como entrada, os pinos de um Porte são caracterizados pela baixa condução de corrente, devido à alta impedância. 
A figura 10 apresenta o diagrama elétrico da estrutura de um porte de I/O digital genérico do Arduino.
Figura 10 – Diagrama elétrico de um porte de I/O genérico do Arduino
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
Fanin e fanout .
1.3.4 As funções específicas do Porte B do ATmega328
Além da função de I/O digital, os portes do ATmega328 possuem outras funções, de acordo com a tabela 1.
Tabela 1 – Funções específicas do Porte B do ATmega328.
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
	Você lembra o que é um sinal de clock? 
Clock é um sinal de onda quadrada utilizado para sincronizar circuitos digitais, tais como flip-flops de um circuito contador. Nesse curso, esse sinal será utilizado para que todos os dispositivos do microcontroladro Atmega328 tenham seu pleno funcionamento.
· O Porte B, bit 7 – XTAL2, TOSC2 e PCINT7
XTAL2: Chip clock pino oscilador 2. Usado como pino de entrada de clock para oscilador de cristal ou oscilador de cristal de baixa frequência. Quando usado como um pino de clock, o pino não pode ser usado como um pino de I/O.
TOSC2: Pino do oscilador do temporizador 2. Utilizado apenas se o oscilador RC interno calibrado for selecionado como fonte de clock. Neste modo, um oscilador de cristal está ligado a este pino e o pino não pode ser utilizado como um pino de E / S.
PCINT7: Pin Change Interrupt Source 7. O pino PB7 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 6 – XTAL1, TOSC1 e PCINT6
XTAL1: Chip clock pino oscilador 1. Usado como pino de entrada de clock para oscilador de cristal ou oscilador de cristal de baixa frequência. Quando usado como um pino de clock, o pino não pode ser usado como um pino de I/O.
TOSC1: Pino do oscilador do temporizador 1. Utilizado apenas se o oscilador RC interno calibrado for selecionado como fonte de clock. Neste modo, um oscilador de cristal está ligado a este pino e o pino não pode ser utilizado como um pino de E / S.
PCINT6: Pin Change Interrupt Source 6. O pino PB7 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 5 – SCK e PCINT5
SCK: Saída Master Clock, pino de entrada Slave Clock para o canal SPI (Serial Peripheral Interface). Quando o SPI está habilitado como Slave, este é configurado como uma entrada. Quando o SPI é habilitado como Master, a direção dos dados neste pino é controlada. 
PCINT5: Pin Change Interrupt Source 5. O pino PB5 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 4 – MISO e PCINT4
MISO: Pino de saída de dados para o canal SPI, mas quando o SPI é habilitado como um mestre, este pino é configurado como uma entrada. 
PCINT4: Pin Change Interrupt Source 4. O pino PB4 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 3 – MOSI, OC2A e PCINT3
MOSI: Pino de entrada de dados para o canal SPI, mas quando o SPI é habilitado como um mestre, este pino é configurado como uma saída. 
OC2A: O pino PB3 pode servir como uma saída externa para o Timer/ Contador/Comparador. O pino OC2 é também o pino de saída para a função temporizador do modo PWM (Modulação por Largura de Pulso). 
PCINT3: Pin Change Interrupt Source 3. O pino PB3 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 2 – OC1B e PCINT2
OC1B: O pino PB2 pode servir como uma saída externa para o Timer/ Contador/Comparador. O pino OC1 é também o pino de saída para a função temporizador do modo PWM (Modulação por Largura de Pulso). 
PCINT2: Pin Change Interrupt Source 2. O pino PB2 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 1 – OC1A e PCINT1
OC1A: O pino PB1 pode servir como uma saída externa para o Timer/ Contador/Comparador. O pino OC1 é também o pino de saída para a função temporizador do modo PWM (Modulação por Largura de Pulso). 
PCINT1: Pin Change Interrupt Source 1. O pino PB1 pode servir como uma fonte de interrupção externa.
· O Porte B, bit 0 – ICP1, CLKO e PCINT0
ICP1: O pino PB0 pode atuar como um pino de entrada para Timer/Countador1. 
CLKO: O clockdo sistema pode ser emitido no pino PB0. O clock do sistema será emitido se o registrador CKOUT estiver programado, independentemente das definições. Será também uma saída durante a reinicialização.
PCINT0: Pin Change Interrupt Source 0. O pino PB0 pode servir como uma fonte de interrupção externa.
1.3.5 As funções específicas do Porte C do ATmega328
Vamos analisar a tabela 2, que apresenta as funções específicas do Porte C do Atmega328.
Tabela 2 – Funções específicas do Porte C do ATmega328.
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
· O Porte C, bit 6 – /RESET e PCINT14
/RESET: Pino utilizado como entrada de sinal de reinicialização do sistema.
PCINT14: Pin Change Interrupt Source 14. O pino PC6 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 5 – ADC5, SCL e PCINT13
ADC5: Entrada do Canal 5 do conversor Analógico/Digital.
SCL: Entrada/Saída de sinal de clock do canal serial.
PCINT13: Pin Change Interrupt Source 13. O pino PC5 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 4 – ADC4, SDA e PCINT12
ADC4: Entrada do Canal 4 do conversor Analógico/Digital.
SDA: Entrada/Saída de sinal do canal serial.
PCINT12: Pin Change Interrupt Source 12. O pino PC4 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 3 – ADC3 e PCINT11
ADC3: Entrada do Canal 3 do conversor Analógico/Digital.
PCINT11: Pin Change Interrupt Source 11. O pino PC3 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 2 – ADC2 e PCINT10
ADC2: Entrada do Canal 2 do conversor Analógico/Digital.
PCINT10: Pin Change Interrupt Source 10. O pino PC2 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 1 – ADC1 e PCINT9
ADC1: Entrada do Canal 1 do conversor Analógico/Digital.
PCINT9: Pin Change Interrupt Source 9. O pino PC1 pode servir como uma fonte de interrupção externa.
· O Porte C, bit 0 – ADC0 e PCINT8
ADC0: Entrada do Canal 0 do conversor Analógico/Digital.
PCINT8: Pin Change Interrupt Source 8. O pino PC0 pode servir como uma fonte de interrupção externa.
1.3.6 As funções específicas do Porte D do ATmega328
Vamos analisar a tabela 3, que apresenta as funções específicas do Porte D do Atmega328.
Tabela3 – Funções específicas do Porte D do ATmega328.
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
· O Porte D, bit 7 – AIN1 e PCINT23
AIN1: Canal 1 do Comparador Analógico.
PCINT23: Pin Change Interrupt Source 23. O pino PD7 pode servir como uma fonte de interrupção externa.
· O Porte D, bit 6 – AIN0, OC0A e PCINT22
AIN0: Canal 0 do Comparador Analógico.
OC0A: O pino PD6 pode servir como uma saída externa para o Timer/ Contador, bem como saída para a função temporizador do modo PWM.
PCINT22: Pin Change Interrupt Source 22. O pino PD6 pode servir como uma fonte de interrupção externa.
· O Porte D, bit 5 – T1, OC0B e PCINT21
T1: Entrada do Timer/Contador 1.
OC0B: O pino PD6 pode servir como uma saída externa para o Timer/ Contador, bem como saída para a função temporizador do modo PWM.
PCINT21: Pin Change Interrupt Source 21. O pino PD5 pode servir como uma fonte de interrupção externa.
· O Porte D, bit 4 – XCK, T0 e PCINT20
XCK: Entrada de clock da USART (Canal Universal Serial Assíncrono Receptor Transmissor).
T0: Entrada do Timer/Contador 0.
PCINT20: Pin Change Interrupt Source 20. O pino PD4 pode servir como uma fonte de interrupção externa.
· O Porte D, bit 3 – OC2B e PCINT19
OC2B: O pino OC2B é também o pino de saída para a função temporizador do modo PWM.
PCINT19: Pin Change Interrupt Source 19. O pino PD3 pode servir como uma fonte de interrupção externa (INT1).
· O Porte D, bit 2 – PCINT18
PCINT18: Pin Change Interrupt Source 18. O pino PD2 pode servir como uma fonte de interrupção externa (INT0).
· O Porte D, bit 1 – TXD e PCINT17
TXD: Pino de transmissão de dados do USART.
PCINT17: Pin Change Interrupt Source 17. O pino PD1 pode servir como uma fonte de interrupção externa.
· O Porte D, bit 0 – RXD e PCINT16
RXD: Pino de recepção de dados do USART.
PCINT16: Pin Change Interrupt Source 16. O pino PD0 pode servir como uma fonte de interrupção externa.
1.3.7 Pino AVCC
O AVCC é um pino que recebe nível de tensão externa de referência do circuito de Conversão A/D que deve ser conectado à alimentação VCC.
1.3.8 Pino AREF
O pino AREF é utilizado como entrada de tensão de referência do conversor A/D, quando necessita-se de utilização de uma tensão diferente de VCC.
1.4 Visão Geral do ATmega328 
Este chip é um microcontrolador CMOS de 8 bits de baixa potência, baseado na Arquitetura RISC (Conjunto de Instruções Reduzidas) aprimorada. Ao executar instruções poderosas em um único ciclo de clock, o ATmega328 atinge rendimentos próximos de 1 MIPS (milhões de instruções por segundo) para otimizar o consumo de energia em relação à velocidade de processamento. A figura 11 apresenta o diagrama de bloco de um Atmega328.
Figura 11 - Diagrama de blocos de um Atmega328
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
O núcleo AVR combina um rico conjunto de instruções com 32 registradores (flip-flops) de trabalho de propósito geral. Todos os 32 registradores são diretamente conectado à Unidade Lógica Aritmética (ALU), permitindo o acesso de dois registradores independentes em uma única instrução executada em um ciclo de clock. 
A arquitetura resultante é mais eficiente em termos de código, até dez vezes mais rápido do que os microcontroladores CISC (Conjunto de Instruções Complexas) convencionais.
O ATmega328 possui as seguintes características: 4K/8Kbytes de Memória Flash programável com recursos de leitura durante a gravação, 256/512/512/1Kbytes EEPROM, 512/1K/1K/2Kbytes SRAM, 23 linhas de E/S de uso geral, 32 registradores de trabalho de uso geral, 3 Timers/Contadores flexíveis com modos de comparação, interrupções internas e externas, um USART programável em série, um Canal Serial de 2 fios orientado por byte, uma porta serial SPI, um Conversor ADC de 6 canais de 10 bits, um Watchdog Timer Programável com oscilador interno, e cinco modos de economia de energia selecionável pelo software.
1.4.1 Comparação entre processadores
Os modelos de Atmega 48A/PA/88A/PA/168A/PA/328/P diferem apenas em tamanhos de memória, suporte de carregador de inicialização e interrupção. A Tabela 4 resume as diferentes configurações de memória e vetor de interrupção para os dispositivos.
Tabela3 – Funções específicas do Porte D do ATmega328.
Fonte: ATmega48A/PA/88A/PA/168A/PA/328/P, 2015.
1.4.2 Recursos
Um conjunto abrangente de ferramentas de desenvolvimento, notas de aplicação e folhas de dados estão disponíveis para download em http://www.atmel.com/avr.
1.4.3 Retenção de dados
Confiabilidade dos resultados de qualificação mostram que a taxa de falha de retenção de dados projetada é muito menor do que 1 PPM (partes por milhão) sobre 20 anos a 85°C ou 100 anos a 25°C.
Para finalizar, a figura 12 apresenta a relação entre os pinos do microcontrolador ATMEL ATMEGA328 e a pinagem do Arduino UNO.
Figura 12 – Relação entre o Atmega328 com a Placa Arduino UNO R3
Fonte: http://blog.fazedores.com/wp-content/uploads/2014/11/ArduinoUno_R3_ Front.jpg (adaptado).
1.5 Que tal realizar uma pesquisa? 
Neste momento, você deverá realizar uma pesquisa sobre os seguintes termos, para que possa se atualizar e relembrar as características dos mesmos:
1. Contador;
2. Timer;
3. Conversores A/D;
4. Sinal Digital;
5. Sinal Analógico;
6. Flip-flops como unidade de memória;
7. Fan-in e Fan-out;
8. Memórias RAM, EEPROM e FLASH.
Referências
ATMEL CORPORATION, Datasheet ATmega48A/PA/88A/PA/168A/PA/328/P - 2015. Disponível em: http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcon troller-ATmega48A-48PA-88A-88PA-168A-168PA-328328P_datasheet_Complete.pdf >. Acesso em: 01 jan. 2016.

Continue navegando