Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Prof. MSc. Caique Kirilo
UNIDADE II
Tópicos de Atuação
Profissional
 Bloco I.
 Software embarcado.
 Bloco II.
 Arduino.
 Exemplo prático.
Agenda
 Sistema embarcado -> Sistema microprocessado no qual o computador é completamente 
encapsulado ou dedicado ao dispositivo ou sistema que ele controla, podendo representar 
uma ampla gama de sistemas e, por isso, é possível encontrar na literatura várias definições 
diferentes para ele. 
 Sistema embarcado é uma parte de um produto cujo usuário final não interage diretamente 
com o sistema.
O que é? 
 O termo sistema embarcado teve origem no final da década de 1960 com o primeiro Sistema 
Embarcado Moderno nomeado Apollo Guindace Computer, desenvolvido por Charles
Stark Draper.
Origem do termo
Fonte: https://www.embarcados.com 
 Os sistemas embarcados possuem a característica de interagir com o mundo real, 
recebendo sinais de sensores e enviando sinais de saída para atores que de alguma forma 
manipulam o ambiente.
Conceitos
SISTEMA EMBARCADO
UNIDADE DE
PROCESSAMENTO
R
A
M
E
N
T
R
A
D
A
/S
A
ÍD
A
S
O
F
T
W
A
R
E
E
M
B
A
R
C
A
D
O
N
V
M
F
O
N
T
E
 D
E
 E
N
E
R
G
IA
IN
T
E
R
F
A
C
E
S
 E
S
P
E
C
ÍF
IC
A
S
A
M
B
IE
N
T
E S
E
N
S
O
R
E
S
A
T
O
R
E
S
C
O
N
V
E
R
S
Ã
O
A
/D
C
O
N
V
E
R
S
Ã
O
D
/A
Esquema genérico de um 
sistema embarcado.
Fonte: adaptado de: Broekman; 
Notenboom (2002).
 O nome “embarcado” se dá ao fato de que esses sistemas são projetados, em geral, para 
serem autônomos de fontes de energia fixa como tomadas ou geradores. 
 É possível classificar um sistema como embarcado quando ele é destinado a uma única 
tarefa e interage constantemente com o ambiente ao seu redor por meio de sensores
e atuadores.
Conceitos
 Sistemas embarcados podem funcionar de duas formas: controle de tempo real ou modo 
reativo, sendo um desses dois modos o que definirá o comportamento e o funcionamento
da aplicação. 
Podem ser classificados em dois tipos:
 Hard Real Time: o tempo de resposta deve ser respeitado, podendo ter consequências 
sérias, caso contrário.
 Soft Real Time: realiza tarefas em um determinado intervalo de tempo, mesmo que esse 
tempo não seja respeitado.
Classificação de funcionamento
Sistemas embarcados podem ser definidos em três tipos: propósito geral, sistemas de controle 
e processamento de sinais:
 SE de controle: trabalham com realimentação em tempo real. Não possuem muita interação 
com o usuário e são sistemas mais robustos.
 Exemplos: sistemas automotivos, usinas nucleares, outros.
Definição dos tipos de Sistemas Embarcados
 SE de propósito geral: possuem semelhanças com computadores de mesa, existindo uma 
grande interação com o usuário, por meio de terminais de vídeos ou monitores. 
 Exemplos: videogames, caixa de banco, outros. 
 SE de processamento de sinais: recebem e processam uma grande quantidade de 
informações em curto espaço de tempo. Os sinais são recebidos pelos conversores AD, 
processados e novamente convertidos em sinais analógicos. 
 Exemplos: modens, tratamento de áudio, radares, outros.
Definição dos tipos de Sistemas Embarcados
Além da necessidade de respostas em tempo real, existem outras diferenças importantes entre 
sistemas embarcados e outros sistemas de software: 
1. Sistemas embarcados executam constantemente desde o momento em que o hardware é 
ligado e não param até que o hardware seja desligado.
Diferenças entre sistemas embarcados e outros sistemas de software
2. As interações com o ambiente do sistema são incontroláveis e imprevisíveis, por esse 
motivo, os sistemas embutidos de tempo real devem ser capazes de responder a eventos 
inesperados a qualquer momento. 
3. Pode haver limitações físicas como a energia disponível para o sistema e o espaço físico 
ocupado pelo hardware, afetando o projeto de um sistema. Essas limitações podem gerar 
requisitos, como a necessidade de conservar a energia, prolongando a vida útil da bateria.
Diferenças entre sistemas embarcados e outros sistemas de software
4. A interação direta com o hardware pode ser necessária, visto que existe uma camada de 
software que esconde o hardware do sistema operacional. Por outro lado, os sistemas 
embarcados podem interagir com uma diversidade de dispositivos de hardware que não 
possuem drivers separados do dispositivo. 
5. Questões de segurança e confiabilidade podem dominar o projeto de sistema, pois, em 
diversos casos, a falha pode ter custos humanos ou econômicos elevados.
Diferenças entre sistemas embarcados e outros sistemas de software
Sobre a definição de sistemas embarcados, podem ser definidos em três tipos:
a) SE de Controle, SE de Propósito Geral e SE de Processamento de Sinais.
b) SE de Estado, SE de Processamento e SE de Preposição.
c) SE de Caso, SE de Uso e SE de Relacionamento.
d) SE de Máquina, SE de Dispositivo e SE de Controle.
e) SE de Controle, SE de Processamento de Estado e SE de Propósito de Interação.
Interatividade
Sobre a definição de sistemas embarcados, podem ser definidos em três tipos:
a) SE de Controle, SE de Propósito Geral e SE de Processamento de Sinais.
b) SE de Estado, SE de Processamento e SE de Preposição.
c) SE de Caso, SE de Uso e SE de Relacionamento.
d) SE de Máquina, SE de Dispositivo e SE de Controle.
e) SE de Controle, SE de Processamento de Estado e SE de Propósito de Interação.
Resposta
 O arduino é uma pequena placa microcontroladora com plugue de conexão USB, permitindo 
a conexão com outros dispositivos externos, por exemplo, computadores e notebooks.
 É um computador pequeno com capacidade de programar comandos para processar 
entradas e saídas de dispositivos e seus componentes, sendo ele uma plataforma física
com interação do hardware e programado pelo software.
O que é? 
Fonte: arduino.cc
 O arduino foi desenvolvido com o objetivo de ser um dispositivo barato, funcional e fácil de 
programar, com a finalidade de auxiliar estudantes com pouco ou nenhum conhecimento em 
eletrônica no desenvolvimento de produtos tecnológicos.
Origem do termo
 Em 2005, o arduino foi projeto por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca 
Martino e David Mellis, inspirados pelo projeto Processing e pelo projeto Wiring Board de 
Hernando Barragan. Essas inspirações serviram como apoio para tornar mais acessível a 
prototipagem de projetos envolvendo eletrônica e programação. 
 O projeto inicial foi melhorado e novas versões foram introduzidas nos comércios. Desde 
então, um número de diferentes versões de placas de arduino foi comercializado.
Origem do termo
 Além disso, o arduino possui outros tipos de terminais que permitem a conexão com 
motores, sensores luminosos, diodos a laser, alto-falantes e outros tipos de equipamentos.
 O arduino é uma plataforma que atraiu a imaginação dos entusiastas da eletrônica pelo 
simples fato dessa plataforma ser Open-Soure e por proporcionar uma maior facilidade no 
momento de auxiliar no desenvolvimento de projetos, por ser um equipamento 
de fácil manuseio.
Conceito
 A troca de dados entre dispositivos eletrônicos é realizada de modo digital. Essas 
informações são representadas em formato de bits de dados individuais, que podem ser 
agrupados em mensagens de vários bits.
Conceito – comunicação serial
 Um canal de comunicação pode ser classificado como canal simplex, em que a direção da 
informação transmitida é inalterada; canal half-duplex, em que a direção da informação 
transmitida pode ser revertida, ou seja, a informação poderá fluir nas duas direções; e canal 
full-duplex, em que as informações transmitidas podem trafegar simultaneamente no canal 
de comunicação em ambas as direções.
Conceito – comunicação serial
 Para criar um projeto, clique em “Criar novo circuito”.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Da paleta de componentes, insira uma bateria de 9V e um transistorNPN. Oriente-o 
conforme a imagem.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Também vamos inserir um LED e um resistor para o coletor do transistor. Defina seu valor 
para 10KΩ.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Vamos às ligações: do positivo da bateria, leve um fio ao resistor de 1KΩ e dele, outro fio ao 
ânodo do LED. Do seu cátodo, leve um fio ao coletor do transistor e do emissor deste, outro 
fio ao negativo da bateria.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 A seguir, insira da paleta um botão e mais um resistor. Defina o seu valor para 10KΩ.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Do positivo da bateria, traga um fio ao terminal 1 do botão e do terminal 2 deste ao resistor. 
O outro lado do resistor vai à base do transistor.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Ao iniciar a simulação, note que o LED praticamente não acende. Como não há
corrente circulante na base, também não há no coletor, mantendo o transistor cortado
e o LED apagado.
Simulando circuitos
Fonte: https://www.tinkercad.com/
 Ao iniciar a simulação, note que o LED praticamente não acende. Como não há
corrente circulante na base, também não há no coletor, mantendo o transistor cortado
e o LED apagado.
Simulando circuitos
O diminuto brilho do LED se dá pelas FUGAS naturais do 
silício utilizado no transistor, não há como fugir disso!
Fonte: https://www.tinkercad.com/
 Podemos agora mudar para disparadores e, em seguida, escolher a opção arduino.
Simulando com Arduino
Fonte: https://www.tinkercad.com/
 Vão aparecer vários projetinhos prontos para estudarmos, vamos escolher um deles.
Simulando com Arduino
Fonte: https://www.tinkercad.com/
 Aqui no caso escolhemos o Blink e então eu arrastei para a área de trabalho.
Simulando com Arduino
Fonte: https://www.tinkercad.com/
 Vamos agora mudar para a visualização do código e entender o que acontece lá.
Fonte: https://www.tinkercad.com/
Alternar editor de código
Código
Fonte: https://www.tinkercad.com/
Referente ao código apresentado no projeto blink encontrado na plataforma thinkercad, qual 
será a ação se alterarmos o campo “aguardar” para “50”?
a) O LED irá queimar.
b) O LED não acenderá.
c) O LED piscará mais rápido.
d) O LED piscará com um intervalo maior.
e) O LED piscará em cores diferentes.
Interatividade
Referente ao código apresentado no projeto blink encontrado na plataforma thinkercad, qual 
será a ação se alterarmos o campo “aguardar” para “50”?
a) O LED irá queimar.
b) O LED não acenderá.
c) O LED piscará mais rápido.
d) O LED piscará com um intervalo maior.
e) O LED piscará em cores diferentes.
Resposta
 BERGER, A. (2001). Embedded Systems Design: An Introduction to Processes, Tools and 
Techniques. CMP Books.
 BROEKMAN, B.; NOTENBOOM, E. (2002). Testing Embedded Software. Addison-Wesley.
 CANZIAN, E. (2011). MINICURSO Comunicação Serial RS232. São Paulo.
 MCROBERTS, M. (2011). Arduino Básico. São Paulo: Novatec.
 MONK, S. Programação com Arduino. São Paulo: Bookman, 2013.
Referências
 OSSADA, J. M.; RANIERI, B. S.; BELGAMO, A. Guia de Elicitação de Requisitos para 
Sistemas Embarcados. Workshop em Engenharia de Requisitos, 2012.
 SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Prentice Hall, 2012.
 TIAN, P.; WANG, J.; LENG, H.; QIANG, K. Construction of Distributed Embedded Software 
Testing Environment. International Conference on Intelligent Human-Machine Systems and 
Cybernetics, 2009.
 TONIOLO, C. P. Processo de reúso de requisitos não funcionais para sistemas embarcados 
usando NFR Framework, 2012.
Referências
ATÉ A PRÓXIMA!

Mais conteúdos dessa disciplina