Buscar

Princípios de Prototipagem Eletroeletrônica

Prévia do material em texto

Interfaceamento 
Eletroeletrônico I 
Material Teórico
Responsável pelo Conteúdo:
Prof. Esp. Elvis Luiz dos Santos
Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Princípios de Prototipagem
• Introdução;
• Programa para Acionar o Display como Contador de 0 A 9;
• Como Acionar um Pino de Saída por Meio de um Pino de Entrada.
• Programação e prototipagem via aplicativo on-line.
OBJETIVO DE APRENDIZADO
Princípios de Prototipagem
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas: 
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua 
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e 
de aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Princípios de Prototipagem
Introdução
Para darmos início a este nosso material, precisamos entender como funciona 
um simulador on-line de programação e prototipagem on-line.
 
Entre vários simuladores on-line de proramação e prototipagem existentes, vamos utilizar o 
Tinkercad. Disponível em: http://bit.ly/2X69NroEx
pl
or
Esse aplicativo é gratuito e requer apenas uma inscrição para se obter o login. 
Nele, você poderá descobrir vários projetos compartilhados e também comparti-
lhar os seus.
Para nossos projetos, você deverá escolher no menu à esquerda a opção circuits e 
depois criar novo circuito como na Figura 1.
Figura 1 – Tela principal do aplicativo
Fonte: Acervo do Conteudista
Nosso primeiro projeto é fazer uma interface para mover um servo motor para 
a direita e para a esquerda, utilizando dois botões.
Para isso, utilizaremos dois botões na, um Arduino uno e um servo motor 9G.
Assista ao vídeo sobre o funcionamento do Servo Motor. 
Disponível em: https://youtu.be/VitG0Sq6kNYE
xp
lo
r
8
9
Figura 2 – Servo motor 9G
Fonte: Divulgação
Chave táctil e sua simbologia elétrica. Disponível em: http://bit.ly/371KXxp
Ex
pl
or
Figura 3 – Arduino UNO
Fonte: Divulgação
Para controlar o servo motor, vamos utilizar o programa a seguir.
#include <Servo.h> //este comando inclui no programa uma biblioteca
 do fabricante do servo
Servo motor; //criação das variáveis 
9
UNIDADE Princípios de Prototipagem
int angulo = 90;
bool b1,b2;
void setup()
{
 motor.attach(9); //comando da própria biblioteca 
 pinMode(A0, INPUT_PULLUP); //declaração dos pinos de entrada dos botões e
 //colocação do resistor virtual de PULLUP, 
 isso garante que 
 //quando o pino não está pressionado a entrada 
 está em nível 
 //1, evitando ruídos.
 pinMode(A1, INPUT_PULLUP);
}
void loop()
{
b1 = digitalRead(A0); 
b2 = digitalRead(A1);
if(!b1 == HIGH)
{
angulo = angulo +1;
 if (angulo > 180){angulo = 180;
} 
motor.write(angulo);
 delay(10);}
 
if(!b2 == HIGH)
{
angulo = angulo -1;
 if (angulo < 0){angulo = 0;
} 
motor.write(angulo);
delay(10);
} 
 }
10
11
Figura 4 – Processo de instalação da biblioteca
Fonte: Acervo do Conteudista
Para instalar qualquer biblioteca, que se define como um programa à parte que é 
juntado ao programa principal quando o colocamos com #include, o uso da biblioteca 
reduz bruscamente o trabalho do programador.
Devemos, inicialmente, buscar e baixar na internet e, logo após, seguindo os 
passos da Figura 4, direcionar a pesquisa para o local no qual salvamos a biblioteca 
e instalá-la.
A falta da biblioteca não permite a compilação e, consequentemente, a carga do 
programa no Arduino, gerando o erro da Figura 5.
Figura 5 – Tela de erro no rodapé da IDE
Fonte: Acervo do Conteudista
Montagem do Circuito no Tinkercad
Toda a montagem e a digitação do programa podem ser feitas no tinkercad, e 
depois simular o funcionamento.
11
UNIDADE Princípios de Prototipagem
 
Figura 6 – Circuito eletrônico com servo motor
Fonte: Acervo do Conteudista
Nosso próximo projeto é uma interface de medição de distância, utilizando sen-
sor ultrassônico, como o sensor de ré do carro.
Circuito sensor ultrassônico. Disponível em: http://bit.ly/2NBdbaO
Ex
pl
or
Figura 7 – Sensor ultrassônico
Fonte: Divulgação
Figura 8 – Programa do sensor ultrassônico
Fonte: Acervo do Conteudista
12
13
O resultado da detecção do valor da medida vai ser mostrado no serial monitor 
da IDE do Arduino.
Figura 9
Fonte: Acervo do Conteudista
Nosso próximo projeto vai acionar um display de 7 segmentos, utilizando uma 
programação bastante didática. 
Figura 10 – Controlando display 7 segmentos com Arduino
Fonte: Acervo do conteudista
13
UNIDADE Princípios de Prototipagem
Figura 11 – Pinagem do display 7 segmentos
Fonte: Adaptado de draw.io
Figura 12 – Display 7 segmentos
Fonte: Divulgação
Programa para Acionar o Display 
como Contador de 0 A 9
byte A=0; 
byte B=1;
 byte C=2; 
byte D=3; 
byte E=4; 
byte F=5; 
byte G=6; 
void setup() 
{ pinMode(A,OUTPUT);
 pinMode(B,OUTPUT); 
14
15
pinMode(C,OUTPUT); 
pinMode(D,OUTPUT); 
pinMode(E,OUTPUT); 
pinMode(F,OUTPUT); 
pinMode(G,OUTPUT);
 } 
void loop() 
{ 
//digito 0 
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(D,HIGH); 
digitalWrite(E,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,LOW); 
delay(1000); 
//digito 1 
digitalWrite(A,LOW); 
digitalWrite(B,HIGH);
 digitalWrite(C,HIGH); 
digitalWrite(D,LOW); 
digitalWrite(E,LOW); 
digitalWrite(F,LOW); 
digitalWrite(G,LOW); 
delay(1000); 
//digito 2 
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(C,LOW); 
digitalWrite(D,HIGH); 
digitalWrite(E,HIGH); 
digitalWrite(F,LOW); 
digitalWrite(G,HIGH); 
delay(1000); 
15
UNIDADE Princípios de Prototipagem
//digito 3 
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(D,HIGH); 
digitalWrite(E,LOW);
 digitalWrite(F,LOW);
 digitalWrite(G,HIGH); 
delay(1000);
//digito 4 
digitalWrite(A,LOW); 
digitalWrite(B,HIGH); 
digitalWrite(C,HIGH);
 digitalWrite(D,LOW); 
digitalWrite(E,LOW); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
delay(1000);
//digito 5
digitalWrite(A,HIGH); 
digitalWrite(B,LOW);
 digitalWrite(C,HIGH);
 digitalWrite(D,HIGH);
 digitalWrite(E,LOW); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
delay(1000);
//digito 6
digitalWrite(A,HIGH);
digitalWrite(B,LOW); 
digitalWrite(C,HIGH);
 digitalWrite(D,HIGH);
16
17
digitalWrite(E,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH);delay(1000); 
//digito 7
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(D,LOW); 
digitalWrite(E,LOW); 
digitalWrite(F,LOW); 
digitalWrite(G,LOW); 
delay(1000);
//digito 8 
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH); 
digitalWrite(C,HIGH); 
digitalWrite(D,HIGH); 
digitalWrite(E,HIGH); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
delay(1000); 
//digito 9 
digitalWrite(A,HIGH); 
digitalWrite(B,HIGH);
 digitalWrite(C,HIGH); 
digitalWrite(D,HIGH); 
digitalWrite(E,LOW); 
digitalWrite(F,HIGH); 
digitalWrite(G,HIGH); 
delay(1000); 
}
17
UNIDADE Princípios de Prototipagem
Como Acionar um Pino de Saída 
por Meio de um Pino de Entrada
Figura 13 – Circuito com led e botão
Fonte: Acervo do Conteudista
Programa 
void setup()
{
 pinMode(13, OUTPUT);
 pinMode(12, INPUT); 
} void loop()
{ 
 digitalWrite(13,digitalRead(12));
}
18
19
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
ATMEL AVR. 8-bit AVR Microcontrollers. ATmega328/P. Datasheet Complete
http://bit.ly/2OR2scC
 Livros
Some assembly required: assembly language programming with the AVR microcontrollers
MARGUSH, T. S. Some assembly required: assembly language programming with 
the AVR microcontrollers. Nova Iorque: CRC Press, 2011.
The avr microcontroller and embedded system: using assembly and c
MAZIDI, M. A.; NAIMI S.; NAIMI S. The avr microcontroller and embedded system: 
using assembly and c. Nova Jersei: Prentice Hall, 2011.
AVR e arduino técnicas de projeto
LIMA, C. B. D; VILLACA, M. V. M. AVR e arduino técnicas de projeto. Florianopolis: 
[s.n], 2012;
Microcontroladores e microprocessadores
Gonçalves de Carvalho Feitosa Perim, Jefferson; Nataline Rosa do Nascimento. 
Microcontroladores e microprocessadores. Londrina: Educacional S.A. 2017;
 Leitura
Arduino.cc.
http://bit.ly/31SyKcs
HC-SR04 – Sensor Ultrassônico de distância com Arduino
http://bit.ly/31LbT2b
19
UNIDADE Princípios de Prototipagem
Referências
SOUZA, D. J. Desbravando o PIC. 9.ed. São Paulo: Erica, 2005.
ZANCO, W. S. Microcomputadores PIC – Técnicas de Software e de Hardware 
para Projetos de Circuitos Eletrônicos. São Paulo: Erica, 2006.
ZANCO, W. S. Microcomputadores PIC18 com linguagem C. Uma abordagem 
prática objetiva. São Paulo: Erica, 2006. (E-Book)
20

Continue navegando