Você está na página 1de 94

Uma abordagem

preliminar sobre os
Sistemas Embarcados
Prof. Dr. Helder Anibal Hermini
Sistemas
Embarcados
O que é um sistema embarcado?

Um sistema embarcado é um
sistema microprocessado no
qual o computador é
completamente encapsulado ou
dedicado ao dispositivo ou
sistema que ele controla.
O que é um sistema embarcado?

Diferentemente de computadores
de propósito geral, um sistema
embarcado realiza um conjunto de
tarefas predefinidas, geralmente
com requisitos específicos.
O que é um sistema embarcado?

Em resumo, um sistema embarcado


é um computador construído para o
único propósito da sua aplicação,
ao invés de prover um sistema
computacional generalizado.
O que é um sistema embarcado?

Em geral sistemas
embarcados não podem ter sua
funcionalidade alterada durante o
uso. Caso queira-se modificar o
propósito é necessário
reprogramar todo o sistema.
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?

HCI - Hyper Converged Infrastruture


Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
Onde se empregam os
sistemas embarcados?
r i a u m a v i a d e
Qual s e
p a ra s e in i c ia ro
entrada stu dos
m e nt o de e
desenvolvi te m a s
e s d e S i s
e aplicaçõ
?
Embarcados??
u s ar o A rd u in o
Podemos
a pre n de r s o bre
para ?
s e m b arc ad o s
sistema
Sistemas Embarcados e o ARDUINO
Hoje a Plataforma de desenvolvimento ARDUINO,
geralmente é a porta de entrada para que estudantes e
entusiastas tenham o primeiro contato com sistemas
embarcados. Infelizmente as escolas técnicas e faculdades
nem sempre conseguem comprar ferramentas de
desenvolvimento mais adequadas para estudos de sistemas
embarcados e que possibilitam a exploração de mais
recursos. Assim, geralmente o Arduino é opção escolhida
para integrar o kit de aprendizagem/aplicação do aluno
para iniciar o desenvolvimento de muitos sistemas
embarcados.
O que é o ARDUINO?

O ARDUINO surgiu na
Itália em 2005, e permite que se
crie vários projetos envolvendo a
eletrônica, por exemplo, sem
precisar dominar totalmente a
eletrônica, abrindo as portas para
pessoas criativas, permitindo
assim o desenvolvimento de
projetos muito interessantes.
O que é o ARDUINO?
 É uma plataforma de computação
física com um microcontrolador
que permite um controle de
entrada e de saída de sinais e
dispositivos.

 Podemos até dizer que ARDUINO


tem o comportamento muito
similar ao de um computador, pois
podemos criar programas para
manipular as entradas e saídas,
como por exemplo, sensores, leds,
relês, etc.
O que é o ARDUINO?
 Devido ao seu baixo custo, permite o
acesso aos estudantes, professores e
hobistas.
Sensor De Obstáculo Reflexivo Sensor De Umidade Do Solo
 Qualquer dispositivo que emita Infravermelho

dados, seja sinais analógicos ou


digitais, ou que possa ser controlado,
pode ser conectado ao ARDUINO.
Sensor Ultrassônico Sensor Mq-2 Gás Metano Butano Glp
Fumaça Arduino

 Dentre esses dispositivos, podemos


citar: leds, sensores de qualquer
espécie, como por exemplo,
temperatura, luz, pressão, umidade,
módulos Ethernet, receptores GPS, Modulo Ethernet Shield W5100 Com Módulo Gps Rs232 Blox Neo 6m C/ Antena,
etc. Slot Sd - Para Arduino Nmea
Comparando Arduino e Computador
t eg r a m o s t o d os
Como in
s e s s e n s o re s ,
es
s , IH M s a t ra v és
atuador e
a P la t a fo r m a de
d
e n v o lv im e n t o
des
Arduino???
C om o v a m o s
proced e r ? P o r
on d e d ev e m o s
co m e ç a r ?
Conceitos Básicos sobre as Plataformas
de Desenvolvimento ARDUINO
1. A família ARDUINO;
2. Estrutura de um ARDUINO;
3. Descrição da estrutura de ambiente de programação IDE
(Integrated Development Environment);
4. Os quesitos necessários para se programar um ARDUINO;
5. Algumas formas de como simular um sistema
mecatrônico elaborado na plataforma ARDUINO.
A FAMÍLIA ARDUINO
ARDUINO UNO
Características do
ARDUINO UNO Rev.3
Características do
ARDUINO UNO Rev.3
ARDUINO LEONARDO
Características do
ARDUINO LEONARDO
ARDUINO MEGA
Características do
ARDUINO MEGA
ARDUINO DUE
Características do
ARDUINO DUE
ARDUINO ETHERNET
ARDUINO NANO
Características do
ARDUINO NANO
SHIELDS DE ARDUINO
Shields são placas de circuito
impresso normalmente fixadas no
topo do ARDUINO através de uma
conexão por pinos-conectores.

Shield CNC Shield RAMPS Shield Comando de Voz


Estrutura de um
ARDUINO
Descrição da estrutura do
Arduino
 O hardware do Arduino é baseado nos
microcontroladores AVR da Atmel,
particularmente o ATmega 328 (Arduino
UNO) e o ATmega 1280 (Arduino MEGA).
A figura a seguir mostra o diagrama de
blocos do microcontrolador ATmega 328P
da Atmel.
Pinos do Arduino
(Pinos com funções especiais)
Existem pinos do Arduino que
possuem características especiais, que
podem ser usados efetuando as
configurações adequadas através da
programação. São eles:
Pinos do Arduino
(Pinos com funções especiais)
PWM (pinos 3, 5, 6, 9, 10 e 11)
PWM (pinos 3, 5, 6, 9, 10 e 11): Tratado
como saída analógica, na verdade é uma
saída digital que gera um sinal alternado (0 e
1) onde o tempo que o pino fica em nível 1
(ligado) é controlado. É usado para controlar
velocidade de motores, ou gerar tensões com
valores controlados pelo programa.
Pinos do Arduino
Porta serial USART (pino 0 - Rx
(Pinos com funções especiais) recebe dados e pino 1 - Tx envia
dados):
Porta serial USART (pino 0 - Rx recebe
dados e pino 1 - Tx envia
dados): Podemos usar um pino para
transmitir e um pino para receber dados no
formato serial assíncrono (USART). É
possível conectar um módulo de
transmissão de dados via bluetooth, por
exemplo, e nos comunicarmos com o
ARDUINO remotamente.
Pinos do Arduino
Comparador analógico (pinos 6 e 7)
(Pinos com funções especiais)

Comparador analógico (pinos 6 e


7): Podemos usar dois pinos para
comparar duas tensões externas, sem
precisar fazer um programa que leia
essas tensões e as compare. Essa é
uma forma muito rápida de comparar
tensões sendo feita pelo hardware sem
envolver programação.
Pinos do Arduino Interrupção externa (pinos 2 e 3)
(Pinos com funções especiais)
Interrupção externa (pinos 2 e
3): Podemos programar um pino para avisar
o software sobre alguma mudança em seu
estado. Podemos ligar um botão a esse
pino, por exemplo, e cada vez que alguém
pressiona esse botão o programa rodando
dentro da placa é desviado para um bloco
que você escolheu. Usado para detectar
eventos externos à placa.
SPI
10 (SS) – Slave Select
11 (MOSI) – Master Out Slave In
12 (MISO) – Master In Slave Out
13 (SCK) – Serial Clock
Ambiente de
programação IDE
(Integrated Development Environment)
Ambiente de programação IDE
(Integrated Development Environment)

É na interface gráfica IDE que são criados os programas para


posteriormente serem carregados para o hardware do ARDUINO.
Instalação do software IDE

O link abaixo acessa o site oficial do Arduino. Clicar na


opção Download para selecionar o software que inclui o
executável “Arduino IDE” e respectivo driver. O Arduino pode
ser executado em plataforma Windows, Mac ou Linux.

https://www.arduino.cc/en/Main/Software
Instalação do programa
 A figura ao lado mostra a placa ARDUINO
sendo reconhecida pelo Windows. A partir daí,
basta instalar o driver e o software que pode
ser baixado gratuitamente no site do
ARDUINO.

 Observe no “sketch” do Arduino que a Serial


Port deve ser coincidente com a porta detectada
no gerenciador de dispositivos do Windows,
caso contrário o ARDUINO não funcionará.

 É recomendável baixar o software e driver do


site oficial, pois lá são disponibilizadas as
atualizações que inclui as versões mais
atualizadas dos processadores da placa
ARDUINO.
Instalação do programa
A figura a seguir mostra que a placa do Arduino UNO está
devidamente reconhecida para iniciar o desenvolvimento dos projetos
(Tools -> Board).
Bootloader

• Temos no menu Ferramentas, a opção Burn


Bootloader para gravar no Arduino o
Bootloader, que é um trecho de código do
chip, para torná-lo compatível com o próprio
IDE do Arduino.

• O Bootloader é um programa inicializador.


Seu objetivo geralmente é de preparar o
hardware para o funcionamento correto da
aplicação e/ou aplicar atualizações dessa
aplicação. No caso do ARDUINO quando o
ligamos a energia, ou pressionamos o botão
de reset, o primeiro programa a ser
executado é o Bootloader.
Bootloader

• O principal objetivo desse pequeno


programa inicial no ARDUINO é de
verificar e receber um novo Sketch do
ARDUINO IDE desenvolvido no
computador, e gravá-lo na memória do
microcontrolador. Isso ocorre facilmente
pela porta serial USB do Arduino. Sem o
Bootloader isso não seria possível,
teríamos que recorrer a um hardware
programador para o ATmega328.
O IDE do Arduino Barra de Menus

IDE (Integrated Development


Environment), é um ambiente
integrado para desenvolvimento
de software.

Depois de instalado, o IDE do Conjunto de instruções e códigos


Arduino deve ter o aspecto da normalmente em linguagem C.
figura ao lado:

Mensagens
O IDE do Arduino

Barra de Menus

Barra de Ferramentas

Verifica/compila

Verifica/compila (Verify) – verifica se há erros de código


O IDE do Arduino

Barra de Menus

Barra de Ferramentas

Upload

Upload – faz o upload do sketch para a placa do Arduino.


O IDE do Arduino

Barra de Menus

Barra de Ferramentas

Novo

Novo (New) – cria um Sketch em branco.


O IDE do Arduino

Barra de Menus

Barra de Ferramentas

Abre

Abre (Open) – mostra uma lista de Sketches em seu Sketchbook


para abrir.
O IDE do Arduino

Barra de Menus

Barra de Ferramentas

Salva

Salva (Save) – Salva o Sketch atual em seu Sketchbook.


O IDE do Arduino

Barra de Menus

Barra de Ferramentas

MonitorSerial

Monitor Serial – Exibe os dados seriais enviados do Arduino. O


monitorserial é muito útil na depuração de código, pois exibe os
dados enviados do ARDUINO. Da mesma forma, essa ferramenta
permite que sejam enviados dados de volta para o Arduino.
O IDE do Arduino

A figura ao lado mostra a


opção “Sketchbook” em File (barra
de menus).
O IDE do Arduino
No Sketchbook ficam armazenados os seus projetos. A localização do
Sketchbook pode ser determinada pelo usuário, conforme ilustra a figura a
seguir.
O IDE do Arduino
Configurando o Arduino para idioma português do Brasil

Para mudar o idioma do


editor, basta clicar na barra de
menu: File => Preferences =>
Editor language, conforme
mostra a figura ao lado:
O IDE do Arduino
 Quando tratamos de software na plataforma do Arduino, podemos
referir-nos: ao ambiente de desenvolvimento integrado do Arduino e
ao software desenvolvido por nós para enviar para a nossa placa.

 O ambiente de desenvolvimento do Arduino é um compilador GCC (C


e C++) que usa uma interface gráfica construída em Java.

 Basicamente se resume a um programa IDE muito simples de se


utilizar e de estender com bibliotecas que podem ser facilmente
encontradas.

 As funções da IDE do Arduino são basicamente duas: Permitir o


desenvolvimento de um software e enviá-lo à placa para que possa
ser executado.
Códigos do Arduino (Language reference)

1 – Estrutura (Structure)

2 – Valores (Values) onde estão


incluídos variáveis (variables) e constantes (constants)

3 – Funções (functions)
Testando o Arduino
Para verificar se a instalação do
driver e do IDE Arduino estão corretos,
podemos fazer um teste, fazendo um
upload de um exemplo para a placa do
Arduino. Escolheremos um exemplo
bem simples, no caso led piscante
(Blink) apenas para testar se está tudo
em ordem.
Testando o Arduino Clicar no botão “upload”

• Ao abrir o exemplo, o sketch deverá


ter a aparência mostrada na figura
ao lado.

• Os comentários contidos entre


/*..............*/ são ignorados e da
mesma forma, qualquer observação
colocada após // em qualquer linha
também será ignorada.

• O próximo passo é fazer o


“upload” para o Arduino. Para tal,
clicar no botão .
Testando o Arduino
A figura abaixo mostra que o upload ocorreu sem problemas. Após
concluído o upload, na barra de status aparecerá a informação “Done
uploading” e os micro leds TX e RX param de piscar.
Testando o Arduino
 Não é necessário ligar nenhum LED para fazer o
teste, pois no ARDUINO já existe ligado no pino
13 um micro led (SMD), de cor amarela que
permite visualizar a experiência. Durante o
processo de upload, os micro leds TX e RX
piscarão. Embora o micro led da placa do
ARDUINO esteja ligado internamente ao pino
13, este pino pode também ser utilizado para
qualquer tipo de conexão externa.

 Após alguns segundos o ARDUINO deverá estar


funcionando, de acordo com os códigos inseridos
no sketch, ou seja, o micro LED deverá estar
piscando. A ligação do Arduino via USB assegura
a alimentação de 5V necessária ao seu
funcionamento, não havendo a necessidade de
conectá-lo uma fonte externa.
Programando o ARDUINO pela Internet
Criando projetos ARDUINO e Simulando
os sistemas pela Internet
Considerações Finais
Bons Estudos
e
Bons Experimentos

Você também pode gostar