Duda RFDI

Buenas tardes a todos, ya llevo un tiempo trasteando con Arduino estoy intentando hacer un lector de tarjetas RFDI para poder sacar los códigos, creo que los pasos que hago están bien pongo la placa que tengo una Mini CH340G atmega328p Old bootloader compilo el sketch lo compila lo cargo a la placa lo carga, además de que e cargado las librerías necesarias en este caso está MFRC522, sin ella no podría guardarlo en la placa, e cargado ya dos sketch y todo carga el sketch que viene como ejemplo todo carga lo e echo en android, Ubuntu y Windows y todo carga pero al pasar al monitor serial pasa lo de la foto .... así que yo creo que el problema es el monitor, tanto en Windows, android y Ubuntu me sale exactamente lo mismo, dejo la foto a ver qué opináis gracias.

La velocidad de conexión de arduino y los monitores es la misma?

Saludos

Eso que me dices te refieres a los baudios? La mayoría de los sketch me pide 9600 y si leo el sketch pone 9600, salvo en un sketck que me dice que lo ponga a 115200, aún así todos los sketch los e probado a diferentes velocidades y tampoco si pongo la velocidad incorrecta se queda en blanco, y con la correcta sale lo de la foto, poco más puedo deci

Aquí el código

/*

 * --------------------------------------------------------------------------------------------------------------------

 * Example sketch/program showing how to read data from a PICC to serial.

 * --------------------------------------------------------------------------------------------------------------------

 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid

 * 

 * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID

 * Reader on the Arduino SPI interface.

 * 

 * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE

 * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When

 * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output

 * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages

 * when removing the PICC from reading distance too early.

 * 

 * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading).

 * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all

 * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so

 * keep the PICCs at reading distance until complete.

 * 

 * @license Released into the public domain.

 * 

 * Typical pin layout used:

 * -----------------------------------------------------------------------------------------

 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino

 *             Reader/PCD   Uno/101       Mega      Nano v3    Leonardo/Micro   Pro Micro

 * Signal      Pin          Pin           Pin       Pin        Pin              Pin

 * -----------------------------------------------------------------------------------------

 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST

 * SPI SS      SDA(SS)      10            53        D10        10               10

 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16

 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14

 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15

 */


#include <SPI.h>

#include <MFRC522.h>


#define RST_PIN         9          // Configurable, see typical pin layout above

#define SS_PIN          10         // Configurable, see typical pin layout above


MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance


void setup() {

	Serial.begin(9600);		// Initialize serial communications with the PC

	while (!Serial);		// Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

	SPI.begin();			// Init SPI bus

	mfrc522.PCD_Init();		// Init MFRC522

	delay(4);				// Optional delay. Some board do need more time after init to be ready, see Readme

	mfrc522.PCD_DumpVersionToSerial();	// Show details of PCD - MFRC522 Card Reader details

	Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));

}


void loop() {

	// Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.

	if ( ! mfrc522.PICC_IsNewCardPresent()) {

		return;

	}


	// Select one of the cards

	if ( ! mfrc522.PICC_ReadCardSerial()) {

		return;

	}


	[color=#7cbe0d]// Dump debug info about the card; PICC_HaltA() is automatically called[/color]

	[color=#ffffff]mfrc522[/color][color=#ffffff].[/color][color=#ffffff]PICC_DumpToSerial[/color][color=#ffffff]([/color][color=#2dbda4]&[/color][color=#ffffff]([/color][color=#ffffff]mfrc522[/color][color=#ffffff].[/color][color=#ffffff]uid[/color][color=#ffffff])[/color][color=#ffffff])[/color][color=#ffffff];[/color]

[color=#ffffff]}[/color]

Okay. Digamos que los sketch RFID no funcionan.
Probaste otra cosa con el Monitor serie sea en Windows, Android o Linux? Algo simple, un "Hello World" o nuestra versión "Hola mundo" por ejemplo.
Digo, parece una pavada pero probar lo que te esta afectando alejado de otra variable siempre debe ser la primera opción.
Tampoco dices qué Arduino estas usando.
Es raro que un código use

while (!Serial);		// Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

a menos que sea un Leonardo

En todo caso quita eso con // o mejor dicho coméntalo

El sketch compila y carga es decir se guarda en la placa todo esto sale bien tanto en Windows, Android y en Ubuntu respecto al terminal me pasa lo mismo en los 3 sistemas operativos es decir no me da información, sale lo de la foto de arriba
Dices que borre esas dos barra que están de lado? En esa línea?
Pero vamos no funciona solo cuando abro el monitor serial, carga y compila cómo e dicho, es un Arduino chino de esos de AliExpress dejo ese dato por qué no se si es importante agrego una foto para a mayor facilidad.

Sirve de ayuda esto?

RFDI Lector.mp4.zip (1.35 MB)

¿Puedes poner en el final del setup() la línea

Serial.println("Hola Mundo");

para confirmar que muestra "Hola Mundo" en el monitor y no cualquier cosa rara?

Eso es lo que te pide @surbyte.

Lo demás que nos cuentas es irrelevante.

Saludos

Me funciona hola mundo y la frase original, solo que e tenido que bajar los bauidios del monitor 2400 pero en el sketch sigue a 9600 pero sale información, aunque no consigo saber el código de la tarjeta pero gracias es un avance

Si la velocidad, bitrate o bps (los baudios son otra cosa) es distinta en la consola a la del arduino para que se visualice lo que éste envía, claramente hay un problema porque es imposible que uno a 9600 bps se entienda con el otro 2400 bps.
Sería como decir que dos personas hablando en castellano no se entienden pero que si una habla castellano y la otra islandés se entienden perfectamente. Algo esta mal.

Ya se lo que pasa, tienes un arduino chino que usa un cristal diferente y entonces no coinciden los BAUDIOS que todos entendemos con los que el espera recibir
Asi que si pones 9600 y te funciona a 2400 siempre divide por 4.
Si pones 115200 divide por 4 y en el monitor Serie lo veras a 28800
y asi con todo.
Un amibo compro unos supuestos ATmega328 y resulta que el Cristal era diferente.
Ahi lo dice, NANO 12 Mhz y el nano tiene 16Mhz de cristal.

Prueba a ver.

Llevabas toda la razón además investigando por el foro encontré otro post con el mismo problema dejo el link, en ese foro dijiste casi exactamente lo que me estás diciendo a mí, dejo el link, aún así en el sketch lo tengo te dejar a 9600 y el monitor a 2400 así lo lee perfectamente pero no me da los datos de la tarjeta, pero si en el sketch cambio 9600 por 2400 y el el monitor lo pongo a 2400 tampoco funciona, dejo un par de foto.

https://forum.arduino.cc/index.php?topic=549093.0

Eso es el sketch

Podría ser que así como la velocidad del micro afecta la velocidad del puerto serie afecte a otras cosas por ej. I2C.

De hecho asi es, afecta millis(). Lo mejor es crear en board.txt una entrada personalizada. No es dificil.
COn un poco de prueba error sale funcionando.

Entiendo por eso que la comunicación entre el Arduino y monitor e conseguido que funcione pero la comunicación entre el Arduino y lector RFDI sigue habiendo un problema, eso del Board.txt no se lo que es, pero voy a investigar si tengo alguna duda preguntó al respecto, mil gracias por la ayuda

Podrías probar este paquete de hardware que te permite elegir entre varias velocidades del micro (las instrucciones de instalación están en la misma página).
Con probar no pierdes nada y por el contrario puede que resuelvas el problema.

Saludos

Un consejo: aprende a manejarte en este mundo electronico y de microcontroladores.
Por supuesto que no todos saben/sabemos que es board.txt pero se hace asi:

Google: Arduino boad.txt y aparece la magia.

Tienes 4 imagenes y es tu deber hacer que se vean.
Lee las normas y edita para que asi ocurra por favor!!

Así mejor? Aún así e pedido uno de 16mhz y mirado bien antes de adquirirlo