ola  rapaziada não estou conseguindo acender e apagar uma lâmpada usando o mesmo tag neste code que vou postar  a lâmpada acende só que ela apaga depois de um delay , eu gostaria que ela fosse acesa e apagada com o mesmo tag ,  neste code estou usando dois tag para acener e apagar a mesma lampada

#include <SPI.h>
#include <MFRC522.h>


#define SS_PIN 10
#define RST_PIN 9
// Definicoes pino modulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);

 
int rele_1 = 5;                                              // define pino para rele 1


char st[20];

void setup()
{
  pinMode(rele_1, OUTPUT);                   // define o pino rele1 como saida
 
 
  // Inicia a serial
  Serial.begin(9600);
  // Inicia  SPI bus
  SPI.begin();
  // Inicia MFRC522
  mfrc522.PCD_Init();
  // Mensagens iniciais no serial monitor
  Serial.println("Aproxime o seu cartao do leitor...");
  Serial.println();
}

void loop()
{
  // Aguarda a aproximacao do cartao
  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  // Seleciona um dos cartoes
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  // Mostra UID na serial
  Serial.print("UID da tag :");
  String conteudo= "";
  byte letra;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Mensagem : ");
  conteudo.toUpperCase();
 
  // Testa se o cartao1 foi lido
   if (conteudo.substring(1) == "B2 9F D5 E5")
 
  {
   
    digitalWrite(rele_1, HIGH);                                        // rele1 ligado
    Serial.println("Cartao1 - liga e desliga rele 1 !");
    Serial.println();
    delay(700000);
    
    digitalWrite(rele_1, LOW);                                        // rele1 desligado
    }
   
  // Testa se o cartao2 foi lido
  if (conteudo.substring(1) == "B2 9F D5 E5")

  {
    digitalWrite(rele_1, HIGH);                                         // rele 1 ligado
    Serial.println("Cartao2 - liga e desliga rele 1 !!!");
    Serial.println();
   
    {
    
    delay(200);
      
      digitalWrite(rele_1, LOW);                                      // rele 1 desligado
     
    }
  }
  delay(1000);
}
 

Exibições: 2696

Responder esta

Respostas a este tópico

MLS, 

Eu gostaria muito de te ajudar,
mas tem 2 problemas:

1o. O seu código não está muito pouco comentado, o que me daria muito trabalho de entender o funcionamento
      do mesmo e o porque de cada linha dele.
2o. Como você postou direto na área de texto do post, é então ele perde a identação, e fica muito mais difícil
     de analisar as "funções", os"ifs" "else", etc.

Caso você resolva, comenta-lo adequadamente, post como arquivo anexado ou em site como o www.pastbin.com,
e eu tentarei te ajudar.


Caso não entenda o termo "identação", leia o meu post em:


http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

ok

Anexos

ok VR valeu tentei pelo link que vc mandou mas meu antivírus bloqueia mesmo assim agradeço pela ajuda

Anexos

valeu carlos vou dar uma olhada

postei outro code  neste link      http://pastebin.com/LL8j7FUL mais comentado

#include <SPI.h>
#include <MFRC522.h>


#define SS_PIN 10
#define RST_PIN 9
// Definicoes pino modulo RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);

 
int rele_1 = 5;   // define pino para rele 1


char st[20];

void setup()
{
  pinMode(rele_1, OUTPUT);    // define o pino rele1 como saida
 
 
  // Inicia a serial
  Serial.begin(9600);
  // Inicia  SPI bus
  SPI.begin();
  // Inicia MFRC522
  mfrc522.PCD_Init();
  // Mensagens iniciais no serial monitor
  Serial.println("Aproxime o seu cartao do leitor...");
  Serial.println();
}

void loop()
{
  // Aguarda a aproximacao do cartao
  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  // Seleciona um dos cartoes
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  // Mostra UID na serial
  Serial.print("UID da tag :");
  String conteudo= "";
  byte letra;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Mensagem : ");
  conteudo.toUpperCase();
 
  // Testa se o cartao1 foi lido
   if (conteudo.substring(1) == "B2 9F D5 E5")
 
  {
   
    digitalWrite(rele_1, HIGH);      // rele ligado
    Serial.println("Cartao1 - liga e desliga rele 1 !");
    Serial.println();
    delay(100);
   
   
    }
   
  // Testa se o cartao2 foi lido
  if (conteudo.substring(1) == "B2 9F D5 E5")

  {
    digitalWrite(rele_1, LOW);                      // rele 1 ligao
    Serial.println("Cartao2 - liga e desliga rele 1 !!!");
    Serial.println();
   

  }
  delay(1000);
}

este consigo só que fique piscando  vou postar este no pastebin

vc conseguiu terminar seu projeto ??

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço