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);
}
Tags:
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
ok VR valeu tentei pelo link que vc mandou mas meu antivírus bloqueia mesmo assim agradeço pela ajuda
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 ??
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por