Baixe o app para aproveitar ainda mais
Prévia do material em texto
Microcontroladores Parte II 28/09/2020 11:03 Microcontroladores – Entrada digital - If Os Microcontroladores possuem a possibilidade de fazer a leitura de suas entradas digitais, isto é, podem verificar se o nível lógica de entrada é alto (1) ou baixo (0). A leitura das entradas é possível através do comando de comparação If. const int buttonPin = 2; //declara a variável buttonPin como sendo uma constante e inteira e valor inicial = 2 const int ledPin = 7; //declara a variável ledPin como sendo uma constante e inteira e valor inicial = 7 int buttonState = 0; //declara a variável buttonState como sendo inteira e com inicial igual a 0 void setup() { pinMode( ledPin, OUTPUT); //declara o pino 7 indicado pela variável ledPin como sendo saída pinMode( buttonPin, INPUT); //declara o pino 2 indicado pela variável buttonPin como sendo saída } void loop() { buttonState = digitalRead(buttonPin); //Faz a leitura digital do pino 2 e coloca o resultado em buttonState if (buttonState == HIGH) { //Verifica se a variável buttonState é igual a nível alto digitalWrite( ledPin, HIGH); //Caso seja verdade, coloca nível alto no pino 7 } else { //senão digitalWrite( ledPin, LOW); //caso seja falso, coloca nível baixo no pino 7 } } 28/09/2020 11:04 Microcontroladores – Entrada digital - If 28/09/2020 11:04 Microcontroladores – Entrada digital - If Faça o programa para realizar a tarefa mostrada na figura. 28/09/2020 11:04 4 Microcontroladores – Entrada digital - If 1b) Insira o programa do exercício 1 abaixo: 28/09/2020 11:04 int botao = 0; void setup() { pinMode(12,INPUT); pinMode(11,INPUT); pinMode(3,OUTPUT); pinMode(2,OUTPUT); } void loop() { botao = digitalRead(12); if(botao == HIGH){ digitalWrite(3,HIGH); digitalWrite(2,HIGH); delay(100); digitalWrite(3,LOW); digitalWrite(2,LOW); delay(100); } else{ digitalWrite(3,LOW); digitalWrite(2,LOW); } botao = digitalRead(11); if(botao == HIGH){ digitalWrite(3,HIGH); digitalWrite(2,LOW); delay(100); digitalWrite(3,LOW); digitalWrite(2,HIGH); delay(100); } else{ digitalWrite(3,LOW); digitalWrite(2,LOW); } Microcontroladores – Entrada digital - If 1c) Uso do PullUp interno: 28/09/2020 11:04 Microcontroladores – Entrada digital - If 1d) Insira o programa do exercício abaixo: int botao = 0; void setup() { pinMode( 3, OUTPUT); pinMode( 2, OUTPUT); pinMode( 12, INPUT_PULLUP); pinMode( 11, INPUT_PULLUP); } void loop() { botao = digitalRead(12); if (botao == LOW) { digitalWrite(3, HIGH); digitalWrite(2, HIGH); delay(100); digitalWrite(3, LOW); digitalWrite(2, LOW); delay(100); } botao = digitalRead(11); if (botao == LOW) { digitalWrite(3, LOW); digitalWrite(2, HIGH); delay(100); digitalWrite(3, HIGH); digitalWrite(2, LOW); delay(100); } digitalWrite(3, LOW); digitalWrite(2, LOW); } 28/09/2020 11:04 Microcontroladores - If 2) Faça um circuito com 3 botões de entrada que acionarão 3 diferentes tipos de efeitos sequenciais em 4 leds nas saídas digitais. Insira o circuito abaixo 28/09/2020 11:04 Microcontroladores - If 2b) Cole o programa abaixo. 28/09/2020 11:04 int botao = 0; void setup() { pinMode(12,INPUT); pinMode(11,INPUT); pinMode(10,INPUT); pinMode(5,OUTPUT); pinMode(4,OUTPUT); pinMode(3,OUTPUT); pinMode(2,OUTPUT); } void loop() { botao = digitalRead(12); if(botao == HIGH){ digitalWrite(5,HIGH); digitalWrite(4,LOW); digitalWrite(3,HIGH); digitalWrite(2,LOW); delay(100); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite(3,LOW); digitalWrite(2,HIGH); delay(100); } botao = digitalRead(11); if(botao == HIGH){ digitalWrite(5,HIGH); digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,HIGH); delay(100); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite(3,HIGH); digitalWrite(2,LOW); delay(100); } botao = digitalRead(10); if(botao == HIGH){ digitalWrite(5,HIGH); digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,LOW); delay(100); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite(3,LOW); digitalWrite(2,LOW); delay(100); digitalWrite(5,LOW); digitalWrite(4,LOW); digitalWrite(3,HIGH); digitalWrite(2,LOW); delay(100); digitalWrite(5,LOW); digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,HIGH); delay(100); } digitalWrite(5,LOW); digitalWrite(4,LOW); digitalWrite(3,LOW); digitalWrite(2,LOW); } Microcontroladores - If 3) Utilizando 2 chaves, faça 3 efeitos sequenciais em 4 leds nas saídas sendo que os leds ficam apagados na combinação 00. 28/09/2020 11:04 Microcontroladores - If 3b) Cole o programa aqui. 28/09/2020 11:04 Microcontroladores – Interface de potência Teste de um relé: 28/09/2020 11:04 Microcontroladores - If 4) Faça um semáforo para pedestres atravessarem uma rua de mão única. 28/09/2020 11:04 Microcontroladores – Interface de potência Relé: Chave eletromecânica; Possui pelo menos uma saída NA e uma NF; Baixa frequência de chaveamento; Uso em média e alta potência. 28/09/2020 11:04 Microcontroladores – Interface de potência Transistor como chave: - Trabalha na região de saturação e corte; - Uso em baixa e média potência; - Uso em todas faixas de frequência. 28/09/2020 11:04 Microcontroladores – Interface de potência 5) Projete uma interface de potência para conectar um relé (VL = 12V; RL = 240) a um Arduíno (Vo = 5V; Iomax = 40mA) utilizando um transistor como chave ( = 100; Vbe = 0,6V; Vcesat = 0). Rb comercial 9k1 – 8k8 – 8k2 Escolha valores abaixo ao calculado, portanto o valor de Rb é 8k2 ou menor. 28/09/2020 11:04 Microcontroladores – Interface de potência 5a) Montagem 28/09/2020 11:04 Microcontroladores – Interface de potência 6) Projete uma interface com transistor como chave ( = 50; Vbe = 0,6V; Vcesat = 0) para interligar um Arduíno (Vo = 5V; Imax = 40mA) a um motor CC (VL = 12V; RL = 12). Rb comercial 250 – 220 – 200 Escolha valores abaixo ao calculado, portanto o valor de Rb é 200 ou menor. 28/09/2020 11:04 Microcontroladores – Interface de potência 6a) Esquema 28/09/2020 11:04 Microcontroladores – Interface de potência 7) Faça um projeto para acionamento de um motor CC (VL = 12V; RL = 12) a partir de um relé (VL = 12V;RL = 240) utilizando um transistor como chave ( = 100; Vbe = 0,6V; Vcesat = 0) e um Arduíno como controlador (Vo = 5V; Imax = 40mA). 28/09/2020 11:04 Microcontroladores – Interface de potência 8) Projete uma ponte H utilizando relés. Utilize os dados dos exercícios anteriores. 28/09/2020 11:04 Microcontroladores – Interface de potência 8a) Programa void setup() { pinMode(7, OUTPUT); pinMode(3, OUTPUT); } void loop() { digitalWrite(7, LOW); digitalWrite(3, LOW); delay(1000); digitalWrite(7, HIGH); digitalWrite(3, LOW); delay(1000); digitalWrite(7, LOW); digitalWrite(3, LOW); delay(1000); digitalWrite(7, LOW); digitalWrite(3, HIGH); delay(1000); } 28/09/2020 11:04 Microcontroladores – Interface de potência 9) Acrescente no exercício 8, dois botões que façam os motores girarem para sentido horário ou anti-horário. Faça o programa e o novo circuito. 28/09/2020 11:04 Microcontroladores – Interface de potência Driver L293d 28/09/2020 11:04 Microcontroladores – Interface de potência 28/09/2020 11:04 Microcontroladores – Interface de potência 28/09/2020 11:04 Microcontroladores – Interface de potência 28/09/2020 11:04 Microcontroladores – Interface de potência 28/09/2020 11:04 Microcontroladores – Interface de potência 28/09/2020 11:04 10) Faça um circuito utilizando o L293D para controlar 2 motores a partir de 5 botões. Os botões acionam os motores da seguinte forma: Botão 1: Os dois motores giram no sentido horário; Botão 2: Os dois motores giram no sentido horário; Botão 3: Motor 1 gira no sentido horário e o Motor 2 gira no sentido anti-horário; Botão 4: Motor 1 gira nosentido anti-horário e o Motor 2 gira no sentido horário; Botão 5: Desliga. Microcontroladores – Interface de potência 28/09/2020 11:04 10) Esquema elétrico Microcontroladores – Interface de potência 28/09/2020 11:04 10) Programação Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:04 O motor de passo é um motor elétrico usado quando algo tem que ser posicionado com precisão, ou girado em um ângulo exato. Como o próprio nome diz, o motor de passo movimenta-se em passo, ou seja, permite controlar sua rotação em pequenos ângulos. Seu eixo gira em golpes que são controlados pelo circuito eletrônico conectado a sua entrada. Normalmente, os motores de passo possuem enrolamentos que, na sua forma mais simples, constituem-se de quatro bobinas dispostas no estator em ângulos de 90o, uma em relação à outra. O rotor é uma pequena peça de material ferromagnético que se constitui num ímã. O motor de passo permite que seu eixo sofra deslocamentos precisos sem que seja necessária uma realimentação externa feita por algum dispositivo a ele acoplado. Isso caracteriza um sistema aberto. Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:04 Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:03 Modo A ou 0 Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:04 Modo B ou 1 Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:04 11) Projete uma interface de potência transistorizada para um motor de passo (VL = 12V; RL = 120 ohms) no modo 0. Rb escolhido = 3k9 ohms Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:04 Microcontroladores – Motor de passo – Step Motor 28/09/2020 11:12 11) Programa Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:29 Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:29 Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:29 Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:33 12) Projete um controle para motor de passo que possua 5 botões com as seguintes funções: Botão 1: sentido horário com velocidade normal; Botão 2: sentido horário com dobro da velocidade; Botão 3: sentido anti-horário com velocidade normal; Botão 4: sentido anti-horário com dobro da velocidade; Botão 5: desliga Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:33 Microcontroladores – Motor de passo – ULN2003 28/09/2020 11:45
Compartilhar