Este tópico contém respostas, possui 3 vozes e foi atualizado pela última vez por  Rosana Guse 2 meses .

Visualizando 11 posts - 1 até 11 (de 11 do total)
  • Autor
    Posts
  • #95957

    charles_lacerda_
    Participante

    Nesta programação para acionamento de relé shield através de teclado matricial 4×4, a programação funciona.

    Porém, ao retirar o cabo USB e conectar novamente, o arduino não está gravando a informação.

    Podem me ajudar?

    0
    #96256

    André Rocha
    Moderador

    Olá Charles!

    Isso acontece com todos os programas que você grava?

    0
    #96330

    charles_lacerda_
    Participante

    Não André,

    Somente com essa programação.

    Creio que seja no Loop…

    0
    #96338

    Rosana Guse
    Moderador

    Olá Charles,

    Você poderia detalhar como está fazendo esse teste?

     

    0
    #96407

    charles_lacerda_
    Participante

    #include <Keypad.h> // Biblioteca para controle do teclado de matrizes.
    #include <Password.h> // Biblioteca utilizada para controle de senha.

    Password password = Password( “123” );  // Senha utilizada para acionamento do rele.

    const byte ROWS = 4;  // Quatro linhas por…
    const byte COLS = 4;  // Quatro colunas.

    // Define o Keypad (mapa do circuito do teclado).
    char keys[ROWS][COLS] = {
    {‘1′,’2′,’3′,’A’},
    {‘4′,’5′,’6′,’B’},
    {‘7′,’8′,’9′,’C’},
    {‘*’,’0′,’#’,’D’}
    };

    // Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4 dos pinos do arduino.
    byte rowPins[ROWS] = {9,8,7,6};

    // Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e coluna 4 do arduino.
    byte colPins[COLS] = {12,11,10,5};

    // Cria um objeto Keypad.
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

    void setup(){
    pinMode(4, OUTPUT);  // Define pino 4 como saída.
    Serial.begin(9600);  // Inicializa Serial Monitor.
    keypad.addEventListener(keypadEvent);
    keypad.setDebounceTime(250);
    }

    void loop(){
    keypad.getKey();
    }

    void keypadEvent(KeypadEvent eKey){
    switch (keypad.getState()){  // Condição switch…
    case PRESSED:  // Se precionado algum botão…
    Serial.print(“Digitado: “);  // Aparecera no Serial Monitor, Digitado: “X”.
    Serial.println(eKey);  // Armazena numero digitado na variável eKey.
    switch (eKey){
    case ‘D’: guessPassword();  // Pressionando “C” confirma se a senha foi digitado corretamente.
    break;
    default:
    password.append(eKey);
    }
    }
    }

    void guessPassword(){
    Serial.print(“Verificando, aguarde… “);  // Informa no Serial Monitor “Verificando, aguarde…”.
    if (password.evaluate()){
    Serial.println(“Acionando rele… “); // Informa no Serial Monitor “Acionando rele…”.
    digitalWrite(4, HIGH);   // Ativa o rele.
    delay(2000);  // Rele fica acionado por 2 segundos e depois…
    digitalWrite(4, LOW);   // Desativa o rele.
    password.reset(); // Apaga a senha.
    }else{
    digitalWrite(4, LOW);
    Serial.println(“Senha Invalida !”);
    password.reset(); // Apaga a senha.
    }
    }

    0
    #96408

    charles_lacerda_
    Participante

    Essa é a programação.

    Ao carregar ela no meu arduino, a programaçao funciona e o teclado aciona o relé.

    Porém, ao desconectar o cabo USB do PC e conectar novamente, não executa mais a programação.

    Testei outros tipos de programação e funcionaram… observei que o Loop estava diferente desta.

     

    0
    #96511

    Rosana Guse
    Moderador

    Você já tentou testar separadamente um exemplo da biblioteca keypad e depois com um exemplo da biblioteca password? O que acontece?

    0
    #96605

    charles_lacerda_
    Participante

    Olá Rosana,

    Não testei dessa maneira ainda.

    Usar um ou outro vc fala? de maneira separada?

     

     

    0
    #96646

    Rosana Guse
    Moderador

    O que eu penso. Abra o um exemplo da biblioteca “keypad”, modifique-o para que, junto, pisque um LED ou imprima algo no serial monitor. Depois carregue o exemplo para o Arduino. Desconecte o Arduino da computador e conecte novamente. O que acontece?

    Depois, faça o mesmo procedimento com a biblioteca “password”.

    0
    #96706

    charles_lacerda_
    Participante

    Fiz os exemplos tanto Keypad quanto password para acender um led, e ambos funcionaram quando desconecto e conecto novamente.

    Porém na minha aplicação não está funcionando, kkkkkkk

    0
    #96721

    Rosana Guse
    Moderador

    Sabendo que os dois exemplos funcionam, tente juntar os dois. Depois vá adaptando para o seu projeto.

    0
Visualizando 11 posts - 1 até 11 (de 11 do total)

Você deve fazer login para responder a este tópico.