Erro com o código!!! alguém ajuda se puder????Projeto rfid long range 6 metros galera tow sem conseguir upar o código hex do adesivo rfid!!!

#include "Arduino.h"

// # Define DEBUG
SoftwareSerial mySerial (5,6);
unsigned char incomingByte;

invalidar sendIdentifyCmd ()
{
mySerial.write (0x7c);
mySerial.write (0xFF);
mySerial.write (0xFF);
mySerial.write (0x01);
mySerial.write (0x08);
mySerial.write (0x7D);
#ifdef DEBUG
Serial.print (0x7c);
Serial.print (0xFF);
Serial.print (0xFF);
Serial.print (0x01);
Serial.print (0x08);
Serial.print (0x7D);
Serial.println ();
#acabar se
}

void setup ()
{
Serial.begin (9600);
mySerial.begin (9600);
Serial.println ("começar Serial inicial! \ N");
}

void loop ()
{
sendIdentifyCmd ();
atraso (2);
enquanto (mySerial.available () 0>)
{
incomingByte mySerial.read = ();
Serial.print (incomingByte, HEX);
Serial.print ('');
}
Serial.println ();
delay (1000);
}

Exibições: 1012

Responder esta

Respostas a este tópico

Para melhor analise  comparei com esse outro codigo!!!

onde obtive resposta mais falta o principal o hex !!!

//#define DEBUG

void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);

}

void loop()
{
// Verifica se recebeu algo pela serial
if ( Serial.available() > 0)
{
// Lê toda string recebida
leStringSerial();
Serial.println( "" );
Serial.println( "******" );
Serial.println( "" );
}

}


/**
* Função que lê uma string da Serial
* e retorna-a
*/
String leStringSerial()
{
char caracterBufferSerial; // Tipo "char" armazena apenas um cdaractere
String idTag;
delay(10);
Serial.print( "Qtde caracteres a serem lidos na serial:" );
Serial.println( Serial.available() );

// Laço pra ler caractere por caractere e armazenar na variavel palavraSerial
while( Serial.available()>0 )
{
// Lê o caractere da vez no buffer da serial
caracterBufferSerial = Serial.read();

// Monta a palavra que esta na serial dentro da matriz "palavraSerial[]"
// caractere por caractere
// Ignora caractere de quebra de linha
if ( caracterBufferSerial != '\n')
{
idTag.concat( caracterBufferSerial );
}

// Aguarda o buffer serial ler o próximo caractere
delay(10);

}

Serial.print( "Codigo de identificacao: " );

// if( idTag == "1" )
// {
Serial.println( idTag );

// }

Serial.println("");
Serial.println("");
Serial.println("");

// #ifdef DEBUG
digitalWrite( 13, HIGH );
delay( 2000 );
digitalWrite( 13, 0 );
// #endif

return idTag;
}

Oi Max, boa tarde,

 voce usou algum  tradutor no primeiro código que voce postou?

De onde voce baixou ele?

Rui

Oi Max,

o primeiro problema é que o sketch foi traduzido e algumas linhas de códigos ficaram em Português, e provocam  erros.

Vou postar o código da forma correta.

Neste código do site  falta uma linha  no inicio : 

#include <SoftwareSerial.h>

E inclui esta linha e funcionou.  Consegui "uploadar" no arduino!!

Rui

#include "Arduino.h"
#include <SoftwareSerial.h>


//#define DEBUG
SoftwareSerial mySerial (5,6);
unsigned char incomingByte;

void sendIdentifyCmd ()
{
mySerial.write (0x7c);
mySerial.write (0xff);
mySerial.write (0xff);
mySerial.write (0x01);
mySerial.write (0x08);
mySerial.write (0x7d);
#ifdef DEBUG
Serial.print (0x7c);
Serial.print (0xff);
Serial.print (0xff);
Serial.print (0x01);
Serial.print (0x08);
Serial.print (0x7d);
Serial.println ();
#endif
}

void setup ()
{
Serial.begin (9600);
mySerial.begin (9600);
Serial.println ("begin initial Serial!\n");
}

void loop ()
{
sendIdentifyCmd ();
delay (2);
while(mySerial.available () > 0)
{
incomingByte=mySerial.read ();
Serial.print (incomingByte,HEX);
Serial.print (' ');
}
Serial.println ();
delay (1000);
}

Max,

retira o  //  de   //#define DEBUG  e aparecerão valores na tela do serial.

Rui 

Oi Max, segue a nova versão.

Ao detectar a Tag o LED do arduino acende por 1/2 segundo.

#include "Arduino.h"
#include <SoftwareSerial.h>


//#define DEBUG
SoftwareSerial mySerial (2,3); // Modificado
unsigned char incomingByte;

void sendIdentifyCmd ()
{
mySerial.write (0x7c);
mySerial.write (0xff);
mySerial.write (0xff);
mySerial.write (0x01);
mySerial.write (0x08);
mySerial.write (0x7d);
#ifdef DEBUG
Serial.print (0x7c);
Serial.print (0xff);
Serial.print (0xff);
Serial.print (0x01);
Serial.print (0x08);
Serial.print (0x7d);
Serial.println ();
#endif
}

void setup ()
{
Serial.begin (9600);
mySerial.begin (9600);
Serial.println ("begin initial Serial!\n");
pinMode(13, OUTPUT); // Modificado
}

void loop ()
{
sendIdentifyCmd ();
delay (2);
while(mySerial.available () > 0)
{
incomingByte=mySerial.read ();
Serial.print (incomingByte,HEX);
Serial.print (' ');
digitalWrite(13, HIGH); // Modificado
delay(500); // Modificado
digitalWrite(13, LOW); // Modificado
}
Serial.println ();
delay (1000);
}

Oi MP,

segue o code para você testar,

veja como identar e comentar um code.

Rui

Anexos

Oi Max,

É assim que deveria funcionar isso?

https://www.youtube.com/watch?v=2KnhB6uTwIo&feature=youtu.be

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço