Arduino Polska Forum
Pomoc w połączeniu - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Pomoc w połączeniu (/watek-pomoc-w-po%C5%82%C4%85czeniu)

Strony: 1 2


Pomoc w połączeniu - rafik84 - 29-04-2016

Witam.
Z góry nadmieniam że to mój pierwszy post na tym forum i jestem bardzo początkującym jeśli chodzi o arduino więc proszę o wyrozumiałość.
Mam Arduino UNO R3 oraz bezpośrednio Keypad Shield 1602 do tego próbuje podłączyć moduł RFID MFRC522.
Sam moduł Rfid z arduino działa natomiast z Keypadem już nie. Wiem że zarówno Keypad jak i Rfid korzystają z pinu 10 dlatego odizolowałem go w Keypadzie jednak dalej nie jest to dobrze skonfigurowane bo na wyświetlaczu pojawiają się krzaki.
Próbowałem też po I2C jednak jest wtedy problem z Rfid.

Pomóżcie jak to razem spiąć


RE: Pomoc w połączeniu - JasQ - 29-04-2016

daj kod spróbujemy pokombinować z połączeniami


RE: Pomoc w połączeniu - rafik84 - 09-05-2016

Sorki że tak długo ale byłem na weekendzie.
Kod z przykładu ReadNUID z dopisanym kodem do lcd

Kod:
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>

#define SS_PIN 10
#define RST_PIN 9
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class

MFRC522::MIFARE_Key key;

// Init array that will store new NUID
byte nuidPICC[3];

void setup() {
 lcd.begin(16, 2);
  lcd.clear();
 lcd.print("Start");
 Serial.begin(9600);
 SPI.begin(); // Init SPI bus
 rfid.PCD_Init(); // Init MFRC522

 for (byte i = 0; i < 6; i++) {
   key.keyByte[i] = 0xFF;
 }

 Serial.println(F("This code scan the MIFARE Classsic NUID."));
 Serial.print(F("Using the following key:"));
 printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
}

void loop() {

 // Look for new cards
 if ( ! rfid.PICC_IsNewCardPresent())
   return;

 // Verify if the NUID has been readed
 if ( ! rfid.PICC_ReadCardSerial())
   return;

 Serial.print(F("PICC type: "));
 MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
 Serial.println(rfid.PICC_GetTypeName(piccType));

 // Check is the PICC of Classic MIFARE type
 if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&  
   piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
   piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
   Serial.println(F("Your tag is not of type MIFARE Classic."));
   return;
 }

 if (rfid.uid.uidByte[0] != nuidPICC[0] ||
   rfid.uid.uidByte[1] != nuidPICC[1] ||
   rfid.uid.uidByte[2] != nuidPICC[2] ||
   rfid.uid.uidByte[3] != nuidPICC[3] ) {
   Serial.println(F("A new card has been detected."));

   // Store NUID into nuidPICC array
   for (byte i = 0; i < 4; i++) {
     nuidPICC[i] = rfid.uid.uidByte[i];
   }
 
   Serial.println(F("The NUID tag is:"));
   Serial.print(F("In hex: "));
   printHex(rfid.uid.uidByte, rfid.uid.size);
   Serial.println();
   Serial.print(F("In dec: "));
   printDec(rfid.uid.uidByte, rfid.uid.size);
   Serial.println();
   Serial.end();
   lcd.print("Wczytano");
 }
 else Serial.println(F("Card read previously."));

 // Halt PICC
 rfid.PICC_HaltA();

 // Stop encryption on PCD
 rfid.PCD_StopCrypto1();
}


/**
* Helper routine to dump a byte array as hex values to Serial.
*/
void printHex(byte *buffer, byte bufferSize) {
 for (byte i = 0; i < bufferSize; i++) {
   Serial.print(buffer[i] < 0x10 ? " 0" : " ");
   Serial.print(buffer[i], HEX);
 }
}

/**
* Helper routine to dump a byte array as dec values to Serial.
*/
void printDec(byte *buffer, byte bufferSize) {
 for (byte i = 0; i < bufferSize; i++) {
   Serial.print(buffer[i] < 0x10 ? " 0" : " ");
   Serial.print(buffer[i], DEC);
 }
}

Przypominam że pin 10 mam zagięty w wyświetlaczu i jest on pinem ss dla czytnika.


RE: Pomoc w połączeniu - JasQ - 09-05-2016

masz zdublowany pin 9 , RST i wyświetlacz tak nie może być daj na RST pin 11 , a SS możesz dać pin 4 to niczemu nie przeszkadza i powinno działać


RE: Pomoc w połączeniu - rafik84 - 10-05-2016

(09-05-2016, 23:07)JasQ napisał(a): masz zdublowany pin 9 , RST i wyświetlacz tak nie może być daj na RST pin 11 , a SS możesz dać pin 4 to niczemu nie przeszkadza i powinno działać

Zadziałało tylko raz z SS na pinie 10. I znowu nie reaguje ani na SS pin 10 ani na 4


RE: Pomoc w połączeniu - JasQ - 10-05-2016

daj zdjęcie jak to połączyłeś


RE: Pomoc w połączeniu - rafik84 - 10-05-2016

(10-05-2016, 00:33)JasQ napisał(a): daj zdjęcie jak to połączyłeś

Ten czarny nie bierz pod uwagę


RE: Pomoc w połączeniu - JasQ - 10-05-2016

jednak rozrysuj schemat za gwoździa nie widać co gdzie idzie


RE: Pomoc w połączeniu - rafik84 - 11-05-2016

(10-05-2016, 23:23)JasQ napisał(a): jednak rozrysuj schemat za gwoździa nie widać co gdzie idzie

LCD to oczywiście keypad Shield


RE: Pomoc w połączeniu - JasQ - 11-05-2016

jak raz zadziałało to szukaj gdzieś masz w sprzęcie przerwę lub coś nie łączy , teoretycznie jest ok .