Vous êtes sur la page 1sur 26

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE

CENTRO DE CIÊNCIAS E TECNOLOGIA


UNIDADE ACADÊMICA DE ENGENHARIA MECÂNICA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA

MICROCONTROLADORES

Álef Huan Pereira Souto


Breno Salvador de Freitas
Candido Portinari do Nascimento
Cayo César Batista Alves
Darlanny Silva Diniz
Felipe Andrade

Campina Grande
Fevereiro de 2014
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
CENTRO DE CIÊNCIAS E TECNOLOGIA
UNIDADE ACADÊMICA DE ENGENHARIA MECÂNICA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA

MICROCONTROLADORES

Álef Huan Pereira Souto


Breno Salvador de Freitas
Candido Portinari do Nascimento
Cayo César Batista Alves
Darlanny Silva Diniz
Felipe Andrade

Trabalho acadêmico
apresentada à disciplina Introdução a
Engenharia Elétrica da graduação em
Engenharia Elétrica da Universidade
Federal de Campina Grande como
parte dos requisitos para a obtenção de
de nota em Introdução a Engenharia
Elétrica.

Orientador: Damásio Fernandes Júnior.

Campina Grande
RESUMO

Um microcontrolador é um processador especial, geralmente contém no mesmo chip


diversos periféricos, sendo usado na maior parte das vezes como controle digital e tendo como
alguns elementos básicos: processador, unidade de controle, conjunto de instruções,
registradores, memória, barramentos de comunicação. Para um melhor entendimento, um
microcontrolador é como um computador, poŕém em vez de multiuso como os desktops, são
projetados para fins específicos e embutidos dentro de outros aparelhos eletrônicos.
Dedicados a tarefas singulares e possuindo um fim especifico, geralmente são pequenos e
baratos, tornando-se essenciais nos eletroeletrônicos. Os componentes que formam esse
dispositivo são escolhidos especialmente para minimizar o tamanho a o máximo e serem mais
os econômicos possíveis. Estes dispositivos possuem dentro de um único chip CPU, memória,
dispositivos de entrada e saída, temporizadores, relógio interno entre outros componentes.
Possuem inteligência programável, pois possui uma Unidade Lógica Aritmética, onde todas
as operações matemáticas e lógicas são executadas. Toda essa lógica é estruturada na forma
de um programa e gravada dentro do componente, logo, toda vez que o microcontrolador
recebe alimentação o programa interno é executado. Com uma memória regravável, possui
também funções especiais que auxiliam na execução do comando, como por exemplo,
suspender uma operação em andamento para que outras possam ser inseridas. Geralmente
com uma alimentação de corrente contínua que varia em uma faixa de tensão de 0 a 5 volts,
possuem frequências de clock de poucos MHz (Megahertz), operam a uma frequência muito
baixa se comparados com os microprocessadores convencionais. São inúmeras aplicações,
muitas vezes possuindo não um, mas vários microcontroladores, que juntamente com seus
softwares, agregam valor e viabilizam a produtos com maiores funcionalidades, eficiência,
usabilidade e segurança. Os microcontroladores estão em todo praticamente em todo lugar
lugar no nosso cotidiano, carros, aviões, TVs e entre outros, são exemplos da sua importância.
Na maior parte das vezes, nós não o vemos, porém de forma discreta quase invisível,
trabalham para para fornecer praticidade e conforto para nossa vida.

Palavras-chave: Microcontrolador, ATMEGA328, Microprocessador, Arduíno UNO.


Sumário

1 CAPÍTULO .................................................................................................................. 5

1.1 Introdução ............................................................................................................. 5

1.2 Objetivo do trabalho.............................................................................................. 6

1.2.1 Objetivos gerais .............................................................................................. 6

1.2.2 Objetivos específicos ...................................................................................... 6

1.3 Metodologia .......................................................................................................... 7

2. REVISÃO BIBLIOGRÁFICA ................................................................................... 8

2.1 Conhecendo os microcontroladores ...................................................................... 8

2.2 Elementos básicos de um microcontrolador ......................................................... 9

2.2.1 Processador ..................................................................................................... 9

2.2.2 Unidade de Controle ....................................................................................... 9

2.2.3 Conjunto de instruções ................................................................................. 10

2.2.4 Registradores ................................................................................................ 10

2.3 Arquitetura de microcontroladores ..................................................................... 10

2.3.1 RISC – Arquitetura Harward ........................................................................ 10

2.3.2 CISC – Arquitetura Von-Neumann (Princeton) ........................................... 11

2.4 Funcionamento de um microcontrolador ............................................................ 12

2.4.1 Ciclo da máquina .......................................................................................... 12

2.4.2 Reset ............................................................................................................. 13

2.4.3 Interrupção.................................................................................................... 14

2.5 Classificação dos microcontroladores ................................................................. 14

2.5.1 Memória ROM ............................................................................................. 14

2.5.2 Memória RAM ............................................................................................. 14

2.5.3 OTP .............................................................................................................. 15

2.5.4 FLASH ......................................................................................................... 15

2.5.5 EPROM ........................................................................................................ 15


2.5.6 EEPROM ...................................................................................................... 15

2.6 Programação em microcontroladores .................................................................. 15

2.6.1 Linguagem de Programação Assembly e C. ................................................. 16

2.7 Arduino uno r3 e seu microcontrolador ATMEGA328 ...................................... 17

2.7.1 Microcontrolador ATMEGA328 .................................................................. 17

2.7.2 Arduino uno r3 ............................................................................................. 20

2.8 Experimento prático ............................................................................................ 21

3. CONCLUSÃO .......................................................................................................... 22

REFERÊNCIA BIBLIOGRÁFICA .............................................................................. 23


6
1 CAPÍTULO

1.1 Introdução

5
1.2 Objetivo do trabalho

1.2.1 Objetivos gerais

Trazer de forma clara e precisa uma explicação de como funciona e o que é o sistema
computacional chamado microcontrolador, especificando suas características, seus
componentes, seus princípios de funcionamento e a principais aplicações, agregando
desenvolver nosso conhecimento. Elaboramos através de revisões bibliográficas um texto de
corpo denso de informações de nível intermediário, observando mostrar a importância que os
microcontroladores tem no nosso cotidiano e como são cada vez mais presentes no mundo
que nos rodeia.

1.2.2 Objetivos específicos

 Apresentar o funcionamento (ciclo máquina e pipeline);


 Mostrar as arquiteturas RISC, CISC, Haward e Princeton;
 Abordar as características dos microcontroladores, tomando como exemplo o
ATMEGA328;
 Caracterizar os tipos de memória;

6
1.3 Metodologia

A metodologia adotada tem como finalidade a coleta de dados de artigos, apostilas,


livros a respeito dos microcontroladores de maneira rudimentar, enfatizando os textos e
autores que abordam explicações simples e básicas, de modo que uma pessoa leiga na área
pudesse ler e compreender o essencial. Desta maneira, tendo em vista o publico direcionado
deste artigo, a intenção é apresentar os aspectos teóricos e práticos dos microcontroladores e
evidenciar a sua relevância na sociedade atual e futura. Com esse intuito, por intermédio de
estudos, foi feita uma divisão em etapas distintas. A princípio foram feitas pesquisas via
dados eletrônicos, como: Google, Ebah, UNESP, UNICAMP, Decom, UFOP. A palavra
chave adotada nas buscas foram Microcontroladores; Arquiteturas RISC e CISC,
Microcontroladores PIC, Arduíno UNO, Linguagem C.Tendo utilizado apenas arquivos em
formato PDFs. Depois, foi realizado esquematicamente reuniões semanais que abordavam
determinados temas para cada reunião, onde eram levantado as melhores coletas, e a criação
de um breve volume bibliográfico assim como, a definição do experimento prático com o
arduíno. Por fim, foi feito o artigo baseado nos volumes construídos anteriormente,
otimizando-os e complementando informações necessário que não estavam incluso no
material, sendo a apresentação com material audiovisual e o arduíno ATMEGA328.

7
2. REVISÃO BIBLIOGRÁFICA

2.1 Conhecendo os microcontroladores

Os microcontroladores estão ligados intensamente no cotidiano das pessoas, pois eles


estão presentes em diversos equipamentos, como carros, CD players, micro-ondas, controles
remotos, brinquedos, teclado do computador, disco rígido, relógio de pulso, máquinas de
lavar, telefone, entre outros, configurando um mercado que está em constante crescimento,
expandindo seu uso do campo industrial, para o residencial e muitos outros.
Um microcontrolador é um sistema computacional completo inserido em um único
circuito integrado, este formado por uma CPU, memória RAM, sistema Clock, porta de
entrada e saída, conversores analógico-digital, USB e Ethernet. Semelhante ao chip de
processador usado em notebooks ou desktops, porém projetados para aplicações especificas e
que exijam bem menos potência para funcionar. De forma mais simplória, um
microcontrolador é um “pequeno” componente eletrônico, dotado de uma “inteligência”
programável, utilizando no controle de processos lógicos, e geralmente são embarcados, ou
seja, ele é dedicado ao dispositivo ou sistema que ele controla. Como exemplo o controle de
periféricos, tais como: botões, LEDs, displays de (pressão, temperatura, luminosidade, som,
orientação, movimento, magnetismo). São chamados de controle lógicos pois a operação do
sistema baseia-se nas ações lógicas que devem ser executadas dependendo do estado dos
periféricos de entrada e saída. Comumente é programado para diversas funções, mas
executando apenas aquilo que está em seu programa, para executar outras funções ele tem que
ser reprogramado. Atualmente são muito utilizados, pois a capacidade que os
microcontroladores apresentam de gerenciar e otimizar as funções de dispositivos é
consideravelmente alta. Sua grande vantagem é ter um baixo custo, ter componentes
como memórias e conversores internamente e sua programação é fácil.
Diferente dos microcontroladores, os microprocessadores, também chamados de
processadores, são basicamente um circuito integrado que realiza o processamento de dados,
como uma unidade lógica e aritmética, com diversos registradores especiais, mas precisa
receber ordens externas e ter outros componentes externos para funcionar. Ele é um cérebro
eletrônico em um chip, que não trabalha sozinho e nem pode ser programado, ele apenas
executa as funções que outros componentes externos o enviam. Isso quer dizer que para
o microprocessador trabalhar, ele necessita de outros componentes externos (memória de
leitura e escrita para armazenamento de dados, dispositivos periféricos, conversores,

8
interfaces, etc). Em resumo, isso significa que o microprocessador é o verdadeiro coração do
computador.
Então, pode-se concluir, que o microcontrolador é um microprocessador, com
memória RAM, memória ROM, temporizadores, contadores, portas de entrada/saída e
conversores, tudo em um só circuito integrado, ou seja, um microcomputador de um só chip.

2.2 Elementos básicos de um microcontrolador

Figura 1: Ilustração dos recursos do microcontrolador. Fonte: (OKI; MANTOVANI, 2013)

2.2.1 Processador

Segundo REBOUÇAS (2014), esse componente obtém da memória os dados e


instruções, as decodificam para realizar as ações no dispositivo, realiza alguma atividade para
receber um dado necessário e que, caso seja preciso, armazena na memória. Ele tem uma
interação com os dispositivos de entrada e saída. Existe a unidade funcional da CPU que
executa operações lógicas e aritméticas entre palavras binárias, gerando uma outra palavra na
saída. (NICOLOSI, 2000)

2.2.2 Unidade de Controle

Determina as ordens das instruções que deverão ser realizadas ao processador, por
intermédios de sinais de controle. No caso de entrada, há Registrador de Instrução (IR), o flag,
um bit sinalizador, e o clock que é o circuito que gera um sinal cíclico em uma determinada
freqüência de tempo. (OKI; MANTOVANI, 2013). Sua unidade de medida é Hertz, pois é o
número de ciclos em um segundo. Portanto, quanto maior o clock, a frequência, mais rápida
9
será enviada a instrução mas, para cada instrução se faz necessário uma certa demanda de
ciclos.

2.2.3 Conjunto de instruções

Uma sequência de bits corresponde a um byte, ou seja, uma instrução. Sendo


linguagem Assembly, Basic ou C, esse conjuntos de instruções é basicamente, o comando, o
projeto criado para a determinada função pretendida.

2.2.4 Registradores

Os registradores são endereços na memória, que são formados por 8 números (bits),
podendo cada bit assumir o valor de 1 (um) ou 0 (zero). São considerados memórias
auxiliares internas à CPU e, portanto, tendem a guardar informação (dados ou instruções) o
mais temporariamente possível
Os microcontroladores possuem dois tipos de registradores básicos: Os registradores
visíveis ao usuário e os registradores de controle e de estado. Os registradores visíveis ao
usuário permitem ao programador em linguagem de máquina ou assembly minimizar as
referências à memória principal otimizando o uso dos registradores. Já os registradores de
controle e estado são usados pela unidade de controle para controlar a operação da CPU e os
programas do sistema operacional.

2.3 Arquitetura de microcontroladores

Um microcontrolador e formado por diversos circuitos interligados que caracterizam


as conexões e o funcionamento. Essa configuração e chamada de arquitetura de
microcontrolador.
Podemos ter a arquitetura de software (CISC e RISC) e também a arquitetura de
hardware (Princeton e Harward). Estas duas arquiteturas são distintas e caracterizam o
hardware e as conexões presentes em cada microcontrolador. (REBOUÇAS, 2014)

2.3.1 RISC – Arquitetura Harward

A sigla RISC vem do inglês (Reduced Instruction Set Computing) que significa
computador com conjunto de informações reduzidas. Esse tipo de arquitetura faz diversas
funções usando poucos comandos, tornando o microcontrolador muito rápido nas ações, pois

10
utiliza apenas um ciclo de clock, ou seja as instruções são executadas apenas com uma micro
instrução.

Figura 2: Representação da arquitetura RISC. Com alterações. (Fonte: REBOUÇAS, 2014)

2.3.1.1 Características:
a) conjunto menor de instruções;
b) programa variáveis em unidades separadas;
c) barramentos diferentes para memória de programa e de dados;
d) grande número de registradores de propósito geral;
e) instruções mais complexas são construídas a partir das mais simples;
f) acessa informações separadamente dos dados do programa usando também a técnica
pipeline.
A arquitetura Harvard é de certa forma oposta à Princeton, pois, possui dois
barramentos separados, um para dados, e o outro para instruções. Por isso, possui
desempenho melhor e mais rápido, pois pode também estar buscando uma nova instrução
enquanto está executando outra.

2.3.2 CISC – Arquitetura Von-Neumann (Princeton)

Figura 3: Funcionamento do RISC. (Fonte: Computer


Architecture)

11
Esse tipo de arquitetura é mais poderosa, porém mais lenta, pois necessita de muitos
recursos para funcionamento pleno, nesse tipo de arquitetura, quando o programa está
acessando a memória do programa, não pode acessar a memória de dados, pois usa os
mesmos barramentos.
As várias instruções trafegam em um mesmo barramento, o que compromete a
velocidade de operação, pois só processam uma informação por vez. O processador busca em
um ciclo a instrução na memória e a executa no outro ciclo. (REBOUÇAS, 2014)

Figura 4:Representação da arquitetura CISC. Com alterações. (Fonte: REBOUÇAS, 2014)

2.3.2.1 Características
a) programa e variáveis na mesma memória;
b) barramentos único para memória de programa e de dados;
c) conjunto de instruções complexas;
d) compiladores mais complexos.

2.4 Funcionamento de um microcontrolador

Figura 5: Funcionamento do CISC. (Fonte: REBOUÇAS,2014)

2.4.1 Ciclo da máquina

Para entender o ciclo da máquina, é preciso compreender o clock. O Clock permite um


tempo sequencial das atividades internas. Circuito que gera um sinal cíclico em uma
determinada frequência de tempo. (OKI; MANTOVANI, 2013). A sua medição é em Hertz,
pois é um determinado número de ciclos por um segundo. Portanto, quanto maior o clock, o

12
hertz, mais rápida será enviada a instrução mas, para cada instrução se faz necessário uma
certa demanda de ciclos.
Já o ciclo da máquina (CM) ou Ciclo de Instrução (Tcy) é um conjunto de clocks que
depende do microcontrolador, no caso do PIC, se faz o uso de 4 ciclos. Na figura 2 representa
o funcionamento básico, onde:

Figura 6:Ciclo. Onde, Q1: Decodificação da Instrução, Q2: Ciclo de Leitura de Instrução, Q3: Processamento do
Dado, Q4: Ciclo de Escrita da Instrução. (Fonte: CESAR, 2007).

E também existe o funcionamento pipelining, como citado anteriormente na


arquitetura RISC, uma técnica de que permite que a CPU realize a busca de novas instruções
enquanto está sendo executada um comando atual, sendo estes novos comandos colocados em
espera até que cheguem a sua vez. (REBOUÇAS,2014)

Figura 7: Ciclo pipelining. (Fonte: CESAR, 2007)

Ainda referente ao mesmo autor, Cesar(2007) faz uma analogia sobre os ciclos com ou
sem pipelining. O qual, utiliza de um roteiro de atividades com grupos de roupas sujas tendo
as seguintes etapas: lavar, secar, passar e dobrar. No caso do primeiro ciclo, um grupo de
roupa realizaria todas as etapas, quando finalizado, outro grupo passaria por essas atividades.
Já a pipelining, enquanto o segundo grupo estivesse lavando (etapa 1), o anterior estaria
secando (etapa 2). Ou seja, gastaria um tempo bem menor em relação ao ciclo máquina.

2.4.2 Reset

13
No microcontrolador, deverá ser feito um circuito para a reinicialização do sistema,
chamado de reset, que pode ser feito pelo uso do pino RST ou MCLR (Master Clean Reset).
É importante o uso desse circuito em algumas situações como na alimentação inicial do chip e
o Brown-Out — Situação em que o dispositivo está se desligando ou quando a energia
fornecida cai no limite.

2.4.3 Interrupção

Permite impedir a continuidade da execução e atuar em outra atividade. Em resumo, é


uma ocorrência que faz o microprocessador para a sua rotina e se desviar para outro ponto do
software, em que se localiza o serviço de interrupção que foi gerado pela ocorrência.
(NICOLOSI, 2000)

2.5 Classificação dos microcontroladores

Os microcontroladores podem ser classificados de acordo com o número de bits. O


segmento mais usado é o de 8 bits, sendo ainda existentes o de 4,16 e 32 bits. A frequência de
trabalho também varia muito de família para família. Temos, por um lado, famílias com
frequência de no máximo 3MHz e, por outro, famílias com frequência máxima de 60MHz.
Porém, na média, os microcontroladores trabalham de 8 a 12MHz. Outra forma de se
classificar os microcontroladores é em função do método de armazenamento do programa
(memória).

2.5.1 Memória ROM

É uma memória somente de leitura, ou seja, os dados são armazenados no processo de


fabricação, não permitindo nova gravação. É lá que que as informações básicas do
computador ficam armazenadas e se trata de uma memória não volátil, onde os dados
gravados não são perdidos na ausência de energia elétrica ao dispositivo.

2.5.2 Memória RAM

A memória RAM serve para armazenar temporariamente os dados que estão sendo
manipulados pelo processador. É responsável pela leitura dos conteúdos quando requeridos e
não armazena arquivos de forma permanente, podendo ser entendida como um espaço

14
temporário de trabalho, pois, após a tarefa ser realizada, os arquivos são retirados da memória
e mantidos no HD.

2.5.3 OTP

É um tipo de memória ROM programável apenas uma única vez. Nela é o usuário
pode escrever o programa no chip, mediante uma simples gravação, controlada por um
programa de um computador. Ela possui conexões formadas por fusíveis, e é programada
através do ROM programer, o qual queima os fusíveis da memória para não haver uma
determinada conexão

2.5.4 FLASH

Na memória flash, os dados podem ser armazenados por longos períodos, sem precisar
de uma fonte de alimentação elétrica. Ela armazena os bits de dados em células de memória,
onde são extremamente duráveis, sendo capazes de resistir a pressão intensa, variações
extremas de temperatura, e até mesmo imersão em água.

2.5.5 EPROM

É um tipo de dispositivo de memória de computador não-volátil, isto é, mantém seus


dados quando a energia é desligada. Ela é programada por um dispositivo eletrônico que dá
voltagens maiores do que os usados normalmente em circuitos elétricos. Uma vez
programada, uma EPROM pode ser apagada apenas por exposição a uma forte luz
ultravioleta. Pode manter dados armazenados por aproximadamente dez à vinte anos.

2.5.6 EEPROM

Assim como o EPROM, este tipo de memória ROM também permite a regravação de
dados, mas os dados são apagados eletronicamente e não por meio de luz ultravioleta. É uma
memória somente de leitura. Os Chips EEPROM podem ser acessado em altas velocidades.

2.6 Programação em microcontroladores

Hoje no mercado, encontram-se microcontroladores que são programados pelas mais


diversas linguagens de programação, sendo as principais delas, Assembly, C, PASCAL, BASIC

15
e hoje podemos até encontrar microcontroladores que são programados em JAVA. Com um
número elevado de opções de programar um microcontrolador, muitos ficam em dúvida sobre
qual seria a melhor opção para colocar em prática a tarefa que o usuário deseja executar. Uma
questão intrigante e ao mesmo tempo simples.
Antes de tudo, a linguagem de programação é o meio de interação entre o usuário e o
microcontrolador (neste caso), sendo a via que planeja a blocagem de tarefas que um
microcontrolador deve cumprir, como uma espécie de “porta-voz” da interação homem-
máquina. Cada linguagem de programação é dotada de uma sintaxe, regras de execução dos
códigos escritos, e uma lógica que deve ser seguida e compreendida pelo próprio
programador.
Com o grande número de opções a serem usadas para a programação de um
microcontrolador, a linguagem mais efetiva sempre será a que o programador domina, ou pelo
menos conhece bem, para que assim seja mais eficiente e mais rápida a solução do seu
problema. Jamais pode-se afirmar que uma linguagem é melhor que a outra, porém muitas
pessoas experientes nessa área costumam classificar as linguagens em níveis, sendo eles: alto,
médio e baixo. Dentre as linguagens de alto nível, estão linguagens como BASIC e PASCAL,
pois são consideradas mais interativas e de execução menos complexa. Dentre as linguagens
de baixo/médio nível, estão as linguagens C e assembly, onde a estrutura do código é
complexa e em determinadas tarefas é preciso que o programador tenha certo conhecimento
do hardware que está operando.
Escolhida a linguagem a ser usada na programação do microcontrolador, é preciso
somente que seja escolhido também um compilador, ou um software que faça com que toda a
linguagem escrita pelo programador surta efeito no microcontrolador. Na internet é possível
encontrar vários compiladores, muitos deles de graça e de interface fácil a ser trabalhada.

2.6.1 Linguagem de Programação Assembly e C.

A linguagem de programação original dos microcontroladores é o assembly, pois tem


seus comandos associados diretamente aos registradores e aos endereços de memória do
microcontrolador. Sendo assim, um programa que é escrito nessa linguagem, será mais
compacto e, consequentemente, sua execução será mais rápida. Como tudo possui
desvantagens, a linguagem assembly não está isenta desse contra. Por ser uma linguagem mais
complexa, o assembly não permite que o seu código seja migrado para outro modelo de

16
microcontrolador, sendo preciso reprogramar do zero o novo programa caso queira trabalhar
com um novo modelo de microcontrolador. Foi uma linguagem muito utilizada antigamente,
quando os microcontroladores tinham muito menos espaço para o armazenamento de
programas, então era de extrema importância que o seu compilador assembly gerasse um
código pequeno.
Com a inovação tecnológica dos microcontroladores, hoje em dia eles dispõem de uma
quantidade bem maior de memória para programas. Entre esse espaço de evolução, surgiu a
linguagem de programação C, uma linguagem de alto/médio nível muito mais produtiva e
segura do que o assembly, sendo uma linguagem portável, rápida, compacta e extremamente
eficiente, proporcionando uma maior facilidade caso seja preciso de uma manutenção do
código no futuro. Porém, a linguagem C ainda não é suficiente para que o assembly seja
desprezado totalmente, pois ainda pode ser necessário uma rotina que precise de toda a
velocidade que o hardware dispõe, para isso a rotina pode ser criada em assembly e logo
depois ser chamada a partir da linguagem C.

2.7 Arduino uno r3 e seu microcontrolador ATMEGA328

O arduino é uma plataforma de desenvolvimento para prototipar circuitos eletrônicos,


cada arduino tem seu microcontrolador que torna a plataforma um microcomputador. O
arduino tem várias versões, como UNO, Duemillanove, Leonardo, Mega, Nano e etc.
O Uno tem como microcontrolador o ATmega328. Dispõe de 14 pinos
digitais de entrada / saída (dos quais 6 podem ser usados como saídas
PWM), 6 entradas analógicas, um ressonador cerâmico 16 MHz, uma
conexão USB, um fone de poder, um cabeçalho ICSP, e um botão de
reset. Ele contém tudo o necessário para apoiar o microcontrolador;
basta conectá-lo a um computador com um cabo USB ou ligá-lo com
um adaptador AC-to-DC ou bateria para começar. (Arduino AS,2015)

No caso do Arduino UNO R3, tem-se o microcontrol6ador ATMEGA328 P-PU que é


da mesma família do ATMEGA328 e é muito comum nos kits iniciantes de arduino (kit que
vem com a placa, protoboard, alguns componentes eletrônicos e um manual) para aqueles que
não tiveram contato no mundo das plataformas de desenvolvimento, cuja ideia gira em torno
do DIY (Do It Yourself - Faça Você Mesmo).

2.7.1 Microcontrolador ATMEGA328

17
O ATmega328P é utilizado pelos dispositivos Arduino Uno, Arduino 2009 e possui
um processamento de 8 bits. O chip é fabricado pela ATMEL. A arquitetura RISC (Reduced
Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções, e
representa uma linha de processadores que apresentam um conjunto simples e pequeno de
instruções e que utilizam a mesma quantidade de tempo para executar as mesmas) com
frequência de operação em 16 MHz. O referido dispositivo ainda possui memórias do tipo
Flash, EEPROM e RAM, sendo que cada uma delas possui 32KB, 1KB e 2KB,
respectivamente. Na sua composição ainda estão vinte e três entradas e saídas digitais, com
tensão de operação de varia de 1.8 a 5.5V e baixo consumo de energia [ATMEL]. (SILVA,
2012)

Figura 8:mapa de pinos. (Fonte: Arduino icaruinfo)

Características do microcontrolador:
 Alta Performance, Low Power Atmel®AVR® 8-Bit microcontrolador;
 RISC Arquitetura Avançada;
 131 Instruções poderosas - Execução maioria Relógio Ciclo Único;
 32 x 8 de Uso Geral Registros de Trabalho;
 Operação totalmente estático;
 Os segmentos de memória de alta resistência não-voláteis;
 08/04 / 16 / 32Kbytes de memória de programa no sistema de auto programável flash
256/512/512 / 1KBytes EEPROM 512 / 1K / SRAM 1K / 2KBytes Interno;
 Escrita / apagamento Ciclos: 10.000 Flash / 100.000 EEPROM;
 Bloqueio de Programação para a Segurança Software;
 Apoio à biblioteca • Atmel® QTouch®;
 Qtouch e aquisição QMatrix®;
 Até 64 canais sensoriais.
18
Características dos periféricos:
 Dois de 8 bits Timer / Contadores com Prescaler e comparar o modo separado;
 Um 16-bit Timer / Contador com Prescaler separado, Compare Mode, e modo de
captura;
 Tempo real Contador com oscilador separado;
 Seis Canais PWM;
 8 canais ADC de 10 bits em TQFP e pacote QFN / MLF;
 Medição de Temperatura;
 6 canais ADC de 10 bits no pacote PDIP;
 Master / Slave SPI Interface Serial;
 Programável Watchdog Timer com oscilador separado On-chip;
 On-chip comparador analógico;
 Interrupção e Wake-up.

Características especiais do microcontrolador:


 Power-on Reset e detecção programáveis Brown-out;
Fontes de interrupção interna e externa;
 Seis modos de latência: Espera, Redução de Ruído ADC, de economia de energia, de
desligamento, de espera e de espera prolongado;
 Tensão de funcionamento: 1.8 - 5.5V;
 Faixa de temperatura: 40°C a 85°C;
 Velocidade Grade: (0 - 4MHz, 1.8 - 5.5V), (0 - 10MHz, 2.7 - 5.5.V), (0 - 20MHz, 4.5
- 5.5V);
 Consumo de energia em 1 MHz, 1.8V, 25ºC;
 Modo Ativo: 0.2mA;
 Modo Power-down: 0.1μA;
 Power-salvar Mode: 0.75μA (incluindo 32kHz RTC).
Fonte: Fabricante (Traduzido digitalmente, mantendo o conteúdo original).

19
Figura 9: CI do microcontrolador ATMEGA328P-PU. (Fonte: labdegaragem)

Áreas de aplicação:
 Medição de distância;
 Barreira Robótica;
 Detecção de Níveis;
 Segurança;
 Detecção de veículos em estacionamento;
 Aplicação para deficientes visuais;
 Entre muitas outras áreas.

2.7.2 Arduino uno r3

No caso do Arduino UNO R3, tem-se o microcontrolador ATMEGA328 P-PU que é


da mesma família do ATMEGA328 e é muito comum nos kits iniciantes de arduino (kit que
vem com a placa, protoboard, alguns componentes eletrônicos e um manual) para aqueles que
não tiveram contato no mundo das plataformas de desenvolvimento ainda, cuja ideia gira em
torno do DIY (Do It Yourself - Faça Você Mesmo).
Plataforma de computação embarcada de fonte aberta, baseada em
uma placa formada por entrada e saídas, que se desenvolve através de
uma linguagem conhecida como Processing, utilizado principalmente
para o desenvolvimento de objetos interativos independentes, ou
conectados a softwares de um computador. (Banzi, 2011).

Figura 10: Arduino com Microcontrolador destacado em vermelho. Com alterações (Fonte: Autoria
própria)

Características gerais:
• 6 Pinos de entrada Analógica (pinos 0-5);
• 14 Pinos Digitais de Entrada/Saída (pinos 0-13);

20
• 6 Pinos de saída Analógica (pinos 3,5,6,9,10 e 11);
• Microcontrolador ATmega328;
• Voltagem de Operação 5 volts;
• Voltagem de Entrada (recomendada) entre 7 a 12 volts;
• Voltagem de Entrada (limites) entre 6 a 20 volts;
• Corrente D/C por pino E/S: 40 mA;
• Corrente D/C por pino 3.3V: 50 mA;
• Memória Flash: 32 KB (Atmega328);
• SRAM: 2 KB (Atmega328);
• EEPROM: 1 KB (Atmega328);
• Clock Speed: 16 MHz.

2.8 Experimento prático

Tendo em vista os problemas encontrados com pessoas deficientes visuais, como a


dependência de algum acompanhante, ferramentas (bengala) ou até mesmo o cão guia, houve
a idealização da confecção de um protótipo o qual permitisse ao usuário informações prévias
do ambiente. Afim dessa finalidade, os materiais utilizados seguem o arduíno UNO, sensores
ultrasônicos, modulo de gravação ou o buzzer. O dispositivo inicialmente identifica a altura
do usuário, para obter informações necessárias na direção vertical, e condiz com algum sinal a
diferença vertical quando em movimento, informando algum obstáculo como escada, ou
algum buraco profundo, assim como, um sensor instalado na direção horizontal prevê alguma
parede, carro, ou alguma barreira que comprometa o seu deslocamento com conforto e
segurança. Em suma, o projeto tem como intuito afirmar a relevância dos microcontroladores
na melhoria de vida do homem, e introduzir uma proposta de produto para benefício da
sociedade.

21
3. CONCLUSÃO

Por meio dessa revisão bibliográfica, pode-se concluir a tamanha importância dos
microcontroladores para o avanço da eletrônica, tendo em vista a sua presença nos
dispositivos programados, desde os mais simples, como um carro de controle remoto, até os
mais complexos, como os telefones celulares. Portanto são indispensáveis para interação entre
o homem e a tecnologia.
Foi exposto que o microcontrolador é um circuito integrado, com características e
funcionamento semelhantes ao de um computador ,porém de pequeno porte. Para melhor fixar
o seu conhecimento ,foi apresentado de forma prática e precisa, uma demonstração abordando
o auxílio desta tecnologia a um deficiente visual.
Por fim, as expectativas foram atingidas, pois a metodologia empregada foi completa
e consistente, fazendo com que essa revisão bibliográfica seja útil para ser um complemento
de trabalhos futuros.

22
REFERÊNCIA BIBLIOGRÁFICA

ANTONIO, MARCO. Programação de microcontroladores pic usando linguagem c.


Vitoria, 2006.

Apostila de Microcontroladores Industriais. Disponível em :


<http://www.simonsen.br/its/pdf/apostilas/base-tecnica/2/microcontroladores-industriais-
eletronica-1-capitulo-2-ano.pdf> Acesso em: 10/01/2015.

Arduino icarusinfo disponível em:< http://arduino.icarusinfo.com/atmega328p-pu/>. Acesso


30 de janeiro de 2015.

BAPTISTA, João Paulo. Microcontroladores. 2001. Curso de Engenharia Electrotécnica,


ISEP, Pesqueira, 2001. Disponível em:
<http://www.lsa.isep.ipp.pt/~aprender/pagina_lsa/aprender/datasheets/Micros.pdf>. Acesso
em: 05 jan. 2015.

COUTO, Eduardo Henrique. Microcontroladores. Udesc, s.d. Disponível


em:<http://www.joinville.udesc.br/portal/professores/eduardo_henrique/materiais/apostila_mi
cro_do_Gustavo_Weber.pdf>. Acesso em: 05 jan. 2015. (Apostila)

Diferença entre Microcontrolador e Microprocessador. Disponível em :


<http://microcontrolador-pic.blogspot.com.br/2010/11/diferenca-entre-microcontrolador-
e.html> Acesso: 07/01/2015.

labdegaragem. Disponível em: < http://labdegaragem.com/profiles/blogs/tutorial-gravando-


bootloader-do-arduino-uno-atmega328p-pu-com-o-a>. Acesso em: 30 de janeiro 2015.

MELO, João Luiz Glovacki Graneman de; LEANDRO, Gideon Villar. Microcontrolador
pic 18f452 / proteus. 2011. 39 f. Curso de Engenharia Elétrica, Universidade Federal do
Paraná, Curitiba, 2011.

MICHAEL MCROBERTS. Arduino básico. Rua Luís Antônio Dos Santos 110 02460-000 -
São Paulo, Sp - Brasil, 2011.

Microcontrolador e Microprocessador - Arquivado no curso de Engenharia de Produção da


UNIARA. Disponível em:
<http://www.ebah.com.br/content/ABAAAAQ6AAJ/microcontrolador-microprocessador>.
Acesso em 16 de janeiro de 2015.

Microcontroladores - O que são, Para Que Servem e Onde São Usados. Disponível em :<
http://www.eletronicaprogressiva.net/2014/08/Microcontroladores-O-que-sao-Para-que-
servem-Onde-sao-usados.html> Acesso: 07/01/2015.

23
Microncontroladores: Noções gerais . Disponível em:
<http://paginapessoal.utfpr.edu.br/gustavobborba/material/files/mc_nocoesGerais.pdf>
Acesso em: 10/01/2015.
Microprocessadores e microcontroladores: Goiânia, s.d. Disponível em:
<http://www.emc.ufg.br/~jwilson/aulasmicro/Teoria de Micro - Parte 1.pdf>. Acesso em: 05
jan. 2015.

NICOLOSI, Denys Emilio Campion. Microncontrolador 8051 detalhado. 6ª ed. São Paulo:
ÉRICA.
OKI, NOBUO; MANTOVANI, SUELY CUNHA AMARO. Projeto de robos móveis.
Faculdade de Engenharia de Ilha Solteira- Departamento de Engenharia Elétrica, 2013.

PALPITE DIGITAL. Disponível em:


<http://www.palpitedigital.com.br/wp/2007/05/12/porque-utilizar-micrcontroladores/>.
Porque utilizar microcontroladores. [S.i], 2007. Acesso em 20 de janeiro de 2015.

Computer Architecture. Disponível


em:<http://computerarchitecture3.blogspot.com.br/2013/10/harvard-computer-
architecture.html>. Acesso 16 janeiro de 2015.
Programando o PIC: Diferença entre Microcontrolador e Microprocessador. Disponível
em: <http://microcontrolador-pic.blogspot.com.br/2010/11/diferenca-entre-microcontrolador-
e.html>. Acesso em 16 de janeiro de 2015.

REBOUÇAS, Pedro Pedrosa Filho. Microcontroladores PIC Linguagem C utilizando CCS


para leigos. 1ª ed. Maracanaú - Ceará: Instituto Federal de Educação, Ciência e Tecnologia
do Ceará - IFCE, 2014.

SENA, António Sérgio. Microcontroladores PIC. Microchip Academic Partner. Disponível


em:< http://www.ebah.com.br/content/ABAAAfRdIAE/livro-pic-microcontroladores-ptbr>.

Tendendo ao Infinito: Diferença entre Microcontrolador e Microprocessador. Disponível


em: <http://tendendo-aoinfinito.blogspot.com.br/2013/03/diferenca-entre-microprocessador-
e.html>. Acesso em 16 de janeiro de 2015.

24