Baixe o app para aproveitar ainda mais
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
Compartilhar