segunda-feira, 17 de setembro de 2018

Acionamento de carga DC


Acionamento de carga 5V por transistor 

Utilize como base o programa do botão que controla um led e apresenta "status" no LCD.


Funcionamento do programa
  • Botão pressionado -> Led Ligado
  • Botão solto             -> Led desligado

Informação no LCD
  


Atividade 1


  • Montar o hardware acima
  • Medir a tensão sobre o led
  • Medir a tesão sobre o resistor
  • Calcular a corrente que circula no led
  • Coloque os dados na tabela


Atividade 2


Substitua a carga (resistor led) por um conjunto de 3 resistores leds acionados por um transistor bipolar NPN.




  • Montar o hardware acima na carga do circuito
  • Medir a tensão sobre um led
  • Medir a tesão sobre o resistor em série com o led
  • Medir a tensão Vce (entre Coletor e Emissor)
  • Calcular a corrente que circula no led
  • Coloque os dados na tabela


Atividade 3


Substitua a carga (resistor led) por um conjunto de 6 resistores leds acionados por um transistor bipolar NPN.





    • Montar o hardware acima na carga do circuito
    • Medir a tensão sobre um led
    • Medir a tesão sobre o resistor em série com o led
    • Medir a tensão Vce (entre Coletor e Emissor)
    • Calcular a corrente que circula no led
    • Coloque os dados na tabela


    Atividade 4


    Substitua a carga (resistor led) por um conjunto de 9 resistores leds acionados por um transistor bipolar NPN.




      • Montar o hardware acima na carga do circuito
      • Medir a tensão sobre um led
      • Medir a tesão sobre o resistor em série com o led
      • Medir a tensão Vce (entre Coletor e Emissor)
      • Calcular a corrente que circula no led
      • Coloque os dados na tabela


      Atividade 5


      Substitua a carga (resistor led) por um conjunto de 9 resistores leds acionados por um transistor MOFFET canal N.




        • Montar o hardware acima na carga do circuito
        • Medir a tensão sobre um led
        • Medir a tesão sobre o resistor em série com o led
        • Medir a tensão VDS (entre Dreno e Souce)
        • Calcular a corrente que circula no led
        • Coloque os dados na tabela





           

        2. Acionamento de carga 12V por transistor Bipolar

        Utilize como base o programa da atividade menu com controle de tempos.

        Sequencimanto - Operadores - Funções \ Menu para controle de tempo





        Modificações a serem implementadas:


        • Altere o programa para termos como opções de tempo:
          • 250ms
          • 500ms
          • 750ms
          • 1s
        • Substitua o led por um buzzer de 12V. 




        Mostrar no LCD:

        • No programa (buzzer acionado):
          • 1ª linha do LCD: Tempo selecionado
          • 2ª linha do LCD: Opção para entrar no menu
        • No menu (trocar o tempo, buzzer desligado):
          • 1ª linha do LCD: O tempo selecionado
          • 2ª linha do LCD: As funções dos botões


           

        3. Acionamento de carga 12V por transistor mosfet

        Substitua o transistor da atividade anterior por um transistor MOSFET (IRFxxx por exemplo) 




           

        Explicação: Transistores bipolares, mosfet, triac e acionamentos


        Transistores bipolares

        Explicações


        Vídeos



           

        Transistores mosfet

        Explicações


        Vídeos



           

        TRIAC





           

        Circuitos e informações




           

        Trabalho extra I


        Atividade 1


        Implementar um sketch com:

        • 2 Leds
        • 2 Botões


        Funcionamento:

        • Botão-1 pressionado Led-1 Ligado
        • Botão-1 solto Led-1 Desligado
        • Botão-2 pressionado Led-2 Ligado
        • Botão-2 solto Led-2 Desligado


          


          

        Atividade 2


        Implementar um sketch com:

        • 3 Leds
        • 3 Botões


        Funcionamento:

        • Botão-1 pressionado Led-1 Ligado
        • Botão-1 solto Led-1 Desligado
        • Botão-2 pressionado Led-2 Ligado
        • Botão-2 solto Led-2 Desligado
        • Botão-3 pressionado Led-3 Ligado
        • Botão-3 solto Led-3 Desligado


          


          

        Atividade 3


        Implementar um sketch com:

        • 1 Led
        • 2 Botões


        Funcionamento:

        • Botão-1 pressionado Led Ligado
        • Botão-2 pressionado Led Desligado


          


          

        Atividade 4


        Implementar um sketch com:

        • 1 Led
        • 1 Botão


        Funcionamento:

        • Botão-1 pressionado Led troca de estado
          • 0 -> 1
          • 1 -> 0


          


          

        Atividade 5

        Implementar um sketch com:

        • 1 Led
        • 1 Botão


        Funcionamento

        • Botão-1 ao ser pressionado o Led pisca 10 vezes


          


          

        Biblioteca LiquidCrystal - Práticas


        A função LiquidCrystal inicializa o modo de comunicação com o módulo de LCD

        A sua sintaxe prevê a utilização ou não do pino R/W e a comunicação em 4 ou 8 bits.
        Isso é definido no memento de sua chamada dependo do número de parâmetros, pela sua sintaxe


        LiquidCrystal(rs, enable, d4, d5, d6, d7) 
        LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) 
        LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) 
        LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)


          
          



        Atividade 1 - Modificando I/Os LCD

        Utilizando o exemplo "HelloWorld" refaça a ligação para utilizar o pino R/W e a comunicação em 4 bits utilizando a ligação entre o módulo LCD e o Arduino de acordo com a tabela abaixo



        • Montar a simulação
        • Montar o hardware para apresentação da atividade

          
          



        Atividade 2 - Status do botão e led no LCD

        Usando a mesma ligação entre o LCD e o Arduino desenvolvida na atividade 1, implemente um sketch que contenha

        • 1 botão
        • 1 led
        • Módulo de LCD


        O seu funcionamento deverá obedecer a seguinte lógica

        • Botão Solto
          • Led desligado
          • Indicação na primeira linha do LCD o estado do botão - SOLTO
          • Indicação na segunda linha do LCD o estado do led - DESLIGADO
        • Botão pressionado
          • Led ligado
          • Indicação na primeira linha do LCD o estado do botão - PRESSIONADO
          • Indicação na segunda linha do LCD o estado do led - LIGADO


        • Montar a simulação
        • Montar o hardware para apresentação da atividade

          
          



        Atividade 3 - Semáforo de cruzamento com  status LCD


        • Usando a mesma ligação entre o LCD e o Arduino desenvolvida na atividade 1, e utilizando como base o sketch do semáforo de cruzamento de duas vias (Semáforo - Atividade 2), adicione o módulo de LCD para indicar o estado de cada semáforo.
        • Utilize a criatividade para indicar no LCD o estado dos dois semáforos.


        • Montar a simulação
        • Montar o hardware para apresentação da atividade

        • Desafio extra: Monte para mostrar o cruzamento de 3 tempos

          
          



        Atividade 4 - Contador binário no LCD


        • Usando a mesma ligação entre o LCD e o Arduino desenvolvida na atividade 1 e utilizando como base o sketch do contador binário com 4 botões:
          • Reset
          • Incrementa
          • Decrementa
          • Set
        • Utilize o módulo de LCD ao invés dos 8 leds para indicar o valor do contador.
        • Mostrar no LCD o valor do contador nos formatos:
          • Decimal
          • Binário
          • Hexadecimal


        • Montar a simulação
        • Montar o hardware para apresentação da atividade

          
          


        Atividade 5 - Menu para controle de tempo

        Construir um sketch para piscar um led com um tempo determinado
        O sketch deve conter 3 botões que permitam:

        • OK - entrar e sair do menu
        • INC - Aumenta o tempo de on/off da rotina para piscar o led
        • DEC - Diminui o  tempo de on/off da rotina para piscar o led

        Funcionamento do sketch:

        • Ao iniciar o programa pisca o led
        • Se o botão OK for pressionado o programa para de piscar o led e entra em um menu para aumentar ou diminuir o tempo de on/off da rotina para piscar o led




        • Montar a simulação
        • Montar o hardware para apresentação da atividade

          


        Exemplo - Menu

        O exemplo mostrado no sketch abaixo pisca um led. 
        Ao pressionar o botão OK o programa para de piscar o led e entra no menu
        Dentro do menu ao pressionar o botão OK o programa sai do menu volta piscar o led


        Fluxograma de funcionamento do skecth


        Diagrama de ligação do exemplo



        Código do sketch de exemplo do menu
          



        /*
          Nome: LCD_pr_Atv05_exemplo
          Menu de controle
          Biblioteca: LiquidCrystal

          Componentes:
          Módulo de LCD (Ver ligação abaixo)

          Usando a mesma ligação entre o LCD e o Arduino desenvolvida na atividade 1 e utilizando
          como base o sketch do contador binário com 4 botões(teste de botões)
            Menu/OK
            LED - para indicar uma atividade no loop principal
                  Led piscante de acordo com um tempo
          Criar uma estrutura que permita entrar em um menu e sair dele
          Interface de saída - Módulo de LCD indicar o led em estado piscante ou as opções de Menu (troca
          de tempo.


          O circuito:
              Display LCD    -> Arduino

           Pino 1 - VSS     -> Pino GND
           Pino 2 - VDD     -> Pino +5V
           Pino 3 - VO      -> Central do Potenciômetro
           Pino 4 - RS      -> Pino digital 1
           Pino 5 - R/W     -> Pino digital 2
           Pino 6 - Enable  -> Pino digital 3
           Pino 7,8,9,10    -> Não conectado
           Pino 11 dados D4 -> Pino digital 4
           Pino 12 dados D5 -> Pino digital 5
           Pino 13 dados D6 -> Pino digital 6
           Pino 14 dados D7 -> Pino digital 7
           Pino 15 - Anodo  -> Pino +5V
           Pino 16 - Katodo -> Pino GND

           Potenciômetro
           Extremidade 1 -> Pino +5V
           Central       -> Pino 3 - VO do LCD
           Extremidade 2 -> Pino GND

           Led       Pino 11
           Botão ok  pino 8

          Baseado no exemplos button HelloWorld
          Baseado no sketch Contador Binário 5
          This example code is in the public domain.

          17/09/2018 - Tradução do cabeçalho e reordenamento das ligações do LCD e Arduino UNO
          por Luiz Oscar Pilger
          17/09/2018 - Modificação da pinagem Arduino (1 a 7) das ligações do LCD e Arduino UNO
          por Luiz Oscar Pilger
          17/09/2018 - Adição do controle do botão OK entrar e sair do menu e o lED
        */

        // Inclui o código da biblioteca:
        #include <LiquidCrystal.h>

        // Associação entre os pinos do LCD e do Arduino
        #define rs 1
        #define rw 2
        #define en 3
        #define d4 4
        #define d5 5
        #define d6 6
        #define d7 7
        #define bt_ok 8
        #define led 11
        // Iniciliza a biblioteca com a associação para a interface LCD
        LiquidCrystal lcd(rs, rw, en, d4, d5, d6, d7);
        // variáveis de controle
        byte tempo = 1; // varivale para indicar o tempo em s
        bool menu = 0;

        void delay_s (int segundos) {
          for (int i = 0; i < 100 * segundos; i++) {
            if (digitalRead(bt_ok) == 0) {   // testa o botão ok
              while (digitalRead(bt_ok) == 0); // espera soltar o botão ok
              menu = 1;                      // seta a variável menu para 1 para ter acesso ao menu
            }
            delay (10);
          }
        }

        void setup() {
          // inicializa os pinos digital OK INC DEC E LED
          pinMode(bt_ok, INPUT_PULLUP);  // iniciliaza o pino 8 como entrada com resistor de pull up ativado
          pinMode(led, OUTPUT);  // iniciliaza o pino 11 como saída
          lcd.begin(16, 2);           // Incializa o LCD com o número de Colunas(16) e Linhas(2):
        }

        void loop() {
          lcd.setCursor(0, 0);    // posiciona na primeira coluna (0) e primeira linha (0)
          lcd.print("Led Pisca T=");           // imprime texto
          lcd.print(tempo, DEC);         // imprime a variável x no formato decimal
          lcd.print("s");                  // imprime texto
          // pisca o led com o tempo especificado
          digitalWrite(led, HIGH);
          delay_s(tempo);
          digitalWrite(led, LOW);
          delay_s(tempo);
          // abre o menu
          while (menu == 1) {
            lcd.setCursor(0, 0);    // posiciona na primeira coluna (0) e primeira linha (0)
            lcd.print("Dentro Menu    ");           // imprime texto
            if (digitalRead(bt_ok) == 0) {   // testa o botão ok
              while (digitalRead(bt_ok) == 0); // espera soltar o botão ok
              menu = 0;                      // seta a variável menu para 0 para sair do menu
            }
          }
        }


          



        Biblioteca LiquidCrystal - Exemplos

        A IDE do Arduino possui a biblioteca LiquidCrystal


        A biblioteca LiquidCrystal permite uma grande quantidades de módulos diferentes em termos de números de linhas x caracteres. Ela possui diversas funções que podem ser exploradas uma a uma



        Abra a IDE do Arduino e carregue o exemplo "HelloWorld"


        Compile e faça a ligação com o módulo LCD16x2.
        Neste exemplo aprendemos:
        • Ligar o LCD e inicializar o lcd
        • Aprendemos a escrever um texto
        • Aprendemos a escrever um valor numérico no módulo.




          


        Atividade 1


        • Construa um novo Sketch baseado no exemplo "HelooWorld".
          • Arquivo\Exemplos\LiquidCrystal\HelloWorld
        • Salve o sketch com um nome de sua escolha
        • Modifique o cabeçalho e comentários para português de acordo com o seu entendimento
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento
        • Explique o funcionamento das funções:
          • lcd.begin(cols, rows)
          • lcd.print(data) - lcd.print(data, BASE)
          • lcd.setCursor(col, row)



          Esquema de ligação entre o Arduino e o módulo LCD 


          Esquema de ligação do simulador



          Sugestão de montagem para ligação do Arduino e o módulo de LCD



          Resultado do skecth "Hello World" no módulo LCD



          



        Atividade 2


        Construa um novo Sketch baseado na atividade 1 (exemplo "HelooWorld")
        • O esquema de ligação entre o LCD e o Arduino é o mesmo utilizado na Atividade 1
        • modifique de forma que seja apresentado no LCD:
          • Na 1ª linha com o seu nome.
          • Na 2ª linha posicione o número para que seja mostrado a partir da coluna 9.
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento




          



        Atividade 3

        • O esquema de ligação entre o LCD e o Arduino é o mesmo utilizado na Atividade 1
        • Construa um novo Sketch baseado no exemplo "Autoscroll":
          • Arquivo\Exemplos\LiquidCrystal\Autoscroll
        • Modifique o cabeçalho e comentários para português segundo seu entendimento.
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento
        • Explique o funcionamento das funções:
          • lcd.autoscroll()
          • lcd.noAutoscroll()
          • lcd.clear()


          

        Atividade 4

        • O esquema de ligação entre o LCD e o Arduino é o mesmo utilizado na Atividade 1
        • Construa um novo Sketch baseado no exemplo "Scroll":
          • Arquivo\Exemplos\LiquidCrystal\Scroll
        • Modifique o cabeçalho e comentários para português segundo seu entendimento.
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento
        • Explique o funcionamento das funções:
          • lcd.scrollDisplayLeft()
          • lcd.scrollDisplayRight()
          

        Atividade 5

        • O esquema de ligação entre o LCD e o Arduino é o mesmo utilizado na Atividade 1
        • Construa um novo Sketch baseado no exemplo "TextDirection":
          • Arquivo\Exemplos\LiquidCrystal\TextDirection
        • Modifique o cabeçalho e comentários para português segundo seu entendimento.
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento
        • Explique o funcionamento das funções:
          • lcd.rightToLeft()
          • lcd.leftToRight()

          

        Atividade complementar (opcional)

        • Construa um novo Sketch baseado no exemplos :
          • Blink - Arquivo\Exemplos\LiquidCrystal\Blink
        • Display - Arquivo\Exemplos\LiquidCrystal\Display
        • Modifique o cabeçalho e comentários para português segundo seu entendimento.
        • Monte no simulador e verifique o funcionamento
        • Monte no hardware e apresente o funcionamento
        • Explique o funcionamento das funções:
          • lcd.Blink()
          • lcd.noBlink()
          • lcd.Display()
          • lcd.noDisplay()