Victory Fernandes
 Engenheiro Eletricista - UNIFACS
 Pós-Graduado em Docência do Ensino Superior - UNIFACS
 Mestrando em Medicina - Neurociências – UFBa
 www.tkssoftware.com/victory
 [email protected]
 @victoryjorge
www.tkssoftware.com/victory
Victory Fernandes
Experiência Docente com Microcontroladores
 Professor da UNIFACS – 2006 a 2010
 Disciplina ministrada com 8051
 Disciplina ministrada com PIC
 Professor da AREA1 – 2012 - Atual
 Disciplina ministrada com ARDUINO
Victory Fernandes
Experiência de Projetos com Microcontroladores
 Envolvido no projeto e competição de robôs
Autônomos desde 2006
 Sumô de Robôs – 3Kgx20x20cm e 500gx10x10cm
 Futebol de Robôs – Small Sized League
 www.roboticaaplicada.com.br
www.tkssoftware.com/victory
Victory Fernandes
Experiência de Projetos com Microcontroladores
 Projeto MDG - Multideglutógrafo
 Triagem de pacientes com Doença de Parkinson para
detecção de indicadores de aspiração silenciosa
Victory Fernandes
Experiência de Projetos com Microcontroladores
 Projeto ParkiGlove
 Armazenamento e análise do padrão dos tremores da
Doença de Parkinson
Victory Fernandes
Experiência de Projetos com Microcontroladores
 Projeto PATC
 Análise em tempo real do padrão dos tremores da
Doença de Parkinson e atuação via eletroestimulação
para supressão ativa do tremor.
Apresentação da
Disciplina
Sistemas Embarcados
Ementa
 O aluno identificará os conceitos básicos de um sistema
embarcado onde a análise e estudo requerem do projetista
um conhecimento não apenas de programação clássica,
mas também noções de controle de processos, sistemas de
tempo real, tecnologias de aquisição de dados
(conversores analógico-digitais e sensores de um modo
geral) e de atuadores (conversores digital-analógicos,
PWM, etc.), além de um cuidado especial no que se refere
à eficiência (estruturação, tamanho e velocidade) do
código produzido!
Objetivos Específicos
 Ao final da disciplina, o aluno deve ser capaz de:
 Identificar as diferenças e aplicabilidades de sistemas
embarcados
 Analisar projetos de sistemas embarcados sugerindo
melhorias utilizando os conceitos aprendidos.
 Realizar simulações e testes em sistemas embarcados
dentro das especificações requiridas e focando em
objetivos pré-determinados.
Apresentação da
Disciplina
Micro Controladores
Ementa
 Identificar as principais características e funcionalidades
das arquiteturas de um microcontrolador típico avaliando
suas limitações e aplicabilidade em projetos.
 O aluno desenvolverá a habilidade de criar e simular os
códigos.
 O aluno terá a oportunidade de utilizar kit de
microcontrolador.
 Todo esse processo será baseado em aulas expositivas,
aulas práticas em laboratório, simulações e projetos de
circuitos.
Objetivos Específicos
 Ao final da disciplina, o aluno deve ser capaz de:
 Interpretar o funcionamento de um microprocessador
baseado nos fundamentos aprendidos com a
finalidade de indicar aplicações de microcontrolador.
 Analisar projetos de microcontrolados sugerindo
melhorias utilizando os conceitos aprendidos.
 Projetar e realizar simulações e testes de projetos
microcontrolados os conceitos/comandos/instruções
aprendidos.
AVALIAÇÃO
 P1 – Prova Escrita individual
 Projeto proposto no enunciado da avaliação
 Algoritmo (Fluxograma) + Programa em C + Eletrônica
 P2 – Trabalho em equipe
 Projetos propostos no enunciado da avaliação
 Possível substituir por projetos de interesse do aluno
Conceitos Básicos de
ARDUINO
Professor Victory Fernandes
www.arduino.cc
 ARDUINO é uma plataforma open-source de
software e hardware para prototipagem
flexível, fácil de usar e multiplataforma!
Software
 O microcontrolador pode ser programado utilizando
a linguagem de programação C para Arduino
 Linguagem baseada em Wiring (www.wiring.org.co)
 O desenvolvimento dos aplicativos é feito no
ambiente de programação próprio do arduino
 Desenvolvido em Processing (www.processing.org)
Programação em C é requisito
básico desta disciplina!
1. Reservem livros
2. Revisem C
3. Tirem dúvidas
Arduino UNO
Arduino UNO
Arduino
UNO
Entradas e saídas digitais (I/O)
14 (6 com saída PWM)
Entradas analógicas
6
Clock de operação
16MHz
Processador
Atmega328 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
4 timers de 16 bits
Portas de comunicação
Gravação via USB;
1 porta RS-232 disponivel
Alimentação recomendada
7-12V (pode ser alimentado pela USB)
Corrente DC máxima por pino de I/O
40mA
Memória Flash
32kB (armazenar código)
Memória SRAM
2kB (rodar programa)
Memória EEPROM
1 kB (gravar dados)
Frequência
 Unidade no SI: Hertz[Hz] = 1ciclo/seg
Múltipl
o
Nome
Símbolo
Múltiplo
Nome
Símbolo
100
-hertz
Hz
101
deca-hertz
daHz
10–1
deci-hertz
dHz
102
hecto-hertz
hHz
10–2
centi-hertz
cHz
103
quilo-hertz
kHz
10–3
mili-hertz
mHz
106
mega-hertz
MHz
10–6
micro-hertz
µHz
109
giga-hertz
GHz
10–9
nano-hertz
nHz
1012
tera-hertz
THz
10–12
pico-hertz
pHz
1015
peta-hertz
PHz
10–15
femto-hertz
fHz
1018
exa-hertz
EHz
10–18
atto-hertz
aHz
1021
zetta-hertz
ZHz
10–21
zepto-hertz
zHz
1024
yotta-hertz
YHz
10–24
yocto-hertz
yHz
Clock de 16MHz
 Em eletrônica e especialmente em circuitos
digitais síncronos, o clock é um sinal usado para
coordenar as ações de dois ou mais circuitos
eletrônicos.
 Um sinal de clock oscila entre os estados alto e
baixo, normalmente usando um duty cycle de 50%,
e gerando uma onda quadrada.
 Unidade de frequência no SI: Hertz[Hz] = 1ciclo/seg
www.atmel.com
datasheet
 Não existe divisão interna de clock, arquitetura
Harvard conceito de “fast-access Register File”
permite executar 1 instrução por ciclo de clock
 Significa dizer que podemos executar até 16x106
instruções por segundo!
131 instruções Assembler...
a maioria de um único ciclo!
Arduino MEGA
Arduino MEGA
Arduino
UNO
Entradas e saídas digitais (I/O)
54 (15 com saída PWM)
Entradas analógicas
16
Clock de operação
16MHz
Processador
Atmega2560 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação
Gravação via USB;
4 portas RS-232 disponiveis
Alimentação recomendada
7-12V (pode ser alimentado pela USB)
Corrente DC máxima por pino de I/O
40mA
Memória Flash
256kB (armazenar código)
Memória SRAM
8kB (rodar programa)
Memória EEPROM
4kB (gravar dados)
Memória Flash
 Memória do tipo EEPROM, re-gravável que, ao
contrário de uma memória RAM convencional,
preserva o seu conteúdo sem a necessidade de fonte
de alimentação.
 Armazena o código do programa que gravamos no
Arduino, assim ao retirar a alimentação da placa o
código continua gravado e não é perdido!
Memória SRAM
 Static Random Access Memory, memória estática de
acesso aleatório, mantém dados armazenados
enquanto alimentação é mantida mas ao contrário
da DRAM, não requer refresh.
 Utilizada para executar o programa que gravamos no
Arduino, assim ao retirar a alimentação da placa
qualquer status de variáveis de execução do código
é perdido!
Memória EEPROM
 Electrically-Erasable Programmable ReadOnly Memory, memória não volátil, que ao contrário
de uma EPROM, uma EEPROM pode ser programada
e apagada eletricamente várias vezes.
 Utilizada para que seu programa grave dados que
deseje recuperar posteriormente caso a alimentção
seja perdida a exemplo de status de variáveis de
execução do código!
Onde comprar?
No Brasil...
No Brasil...
No Exterior...
No Exterior...
Arduino Shields
Arduino Shields
 O conceito de shields permite empilhar placas com
diferentes funcionalidades.
 Dá flexibilidade ao Arduino para se adequar a
diferentes projetos de forma rápida, basta comprar
o shield desejado e empilhar.
 Não encontrou um shield?! Você pode construir o
seu e pessoas do mundo todo poderão comprar e
será sempre compatível!
shieldlist.org
GSM-GPRS
GPS
Display de 7 segmentos
Display colorido
Display 16x2
Controle de Motor
Ponte H – 1A
Controle de Motor
Ponte H – 2A
GameDuino
Saida VGA
Audio Stereo
joystick
Ethernet
Wi-Fi
microSD
SDCard logger
CanBus
ZigBee
Saídas a Relé
ZigBee
Arduino MINI
Arduino MINI
Arduino
UNO
Entradas e saídas digitais (I/O)
14 (6 com saída PWM)
Entradas analógicas
8
Clock de operação
16MHz
Processador
Atmega168 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação
Gravação via RS-232
Alimentação recomendada
7-9V (pode ser alimentado pela USB)
Corrente DC máxima por pino de I/O
40mA
Memória Flash
32kB
Memória SRAM
2kB
Memória EEPROM
1 kB
Arduino NANO
Arduino NANO
Arduino
UNO
Entradas e saídas digitais (I/O)
14 (6 com saída PWM)
Entradas analógicas
8
Clock de operação
16MHz
Processador
Atmega328 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação
USB e RS-232
Alimentação recomendada
7-12V (pode ser alimentado pela USB)
Corrente DC máxima por pino de I/O
40mA
Memória Flash
16kB
Memória SRAM
1kB
Memória EEPROM
512 B
Dimensão
Miniaturização Simplificada!
Arduino LilyPad
Arduino Lilypad
Arduino
UNO
Entradas e saídas digitais (I/O)
14 (6 com saída PWM)
Entradas analógicas
6
Clock de operação
16MHz
Processador
Atmega328 – Atmel
Microcontrolador de 8bits
RISC com 131 instruções
2 timers de 8 bits
1 timer de 16 bits
Portas de comunicação
USB e RS-232
Alimentação recomendada
7-12V (pode ser alimentado pela USB)
Corrente DC máxima por pino de I/O
40mA
Memória Flash
32kB
Memória SRAM
2kB
Memória EEPROM
1 kB
Wearable Devices
Funcional
Estética
Diversão
Software
Software
Software
Tutoriais
Tutoriais
Tutoriais
Tutoriais
Tutoriais
Tutoriais
Tutoriais
Software
Software
Tutoriais
Tutoriais
professor
Victory Fernandes
www.tkssoftware.com/victory
Download

Introdução ao Arduino