Difference between revisions of "WeMOS: D1 R1 mini RFID 2"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Sumber: https:// | + | Sumber: https://gist.github.com/alexey-bass/6b6e53e05d9a8d1468038ea78d536914 |
− | |||
− | + | [[File:WEMOS-D1-mini-pin.png|center|300px|thumb]] | |
+ | Install library | ||
+ | * Download https://downloads.arduino.cc/libraries/github.com/miguelbalboa/MFRC522-1.4.11.zip | ||
− | + | mv MFRC522-1.4.11.zip ~/Arduino/libraries/ | |
+ | cd ~/Arduino/libraries/ | ||
+ | unzip MFRC522-1.4.11.zip | ||
− | + | Source OK | |
− | |||
− | |||
− | |||
− | |||
− | |||
+ | /** | ||
+ | Useful links | ||
+ | https://wiki.wemos.cc/products:d1:d1_mini | ||
+ | https://cdn-images-1.medium.com/max/1400/1*YKc8KpAfMrlhrOLmNjdRwQ.png (D1 full pinout) | ||
+ | https://github.com/Jorgen-VikingGod/ESP8266-MFRC522 | ||
+ | https://github.com/miguelbalboa/rfid | ||
− | + | d1 mini rc52 wiring | |
− | + | https://discourse-cdn-sjc1.com/business5/uploads/mydevices/original/2X/e/ecedba79dc05f2c0b02b7fba8b3da2681590a11a.jpg | |
− | #include " | + | RST - D3 |
− | # | + | MISO - D6 |
− | + | MOSI - D7 | |
− | MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance | + | SCK - D5 |
+ | SDA - D8 | ||
+ | */ | ||
+ | |||
+ | #include "ESP8266WiFi.h" | ||
+ | #include <SPI.h> | ||
+ | #include <MFRC522.h> | ||
+ | |||
+ | constexpr uint8_t RST_PIN = 0; // Configurable, see typical pin layout above 18 | ||
+ | constexpr uint8_t SS_PIN = 15; // Configurable, see typical pin layout above 16 | ||
+ | |||
+ | MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance | ||
void setup() { | void setup() { | ||
− | Serial.begin(115200); | + | Serial.begin(115200); // Initialize serial communications with the PC |
− | SPI.begin(); | + | delay(1000); |
− | mfrc522.PCD_Init(); // | + | Serial.println("Setup"); |
+ | |||
+ | 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 | ||
+ | mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details | ||
+ | Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); | ||
+ | Serial.println("Setup done"); | ||
} | } | ||
− | void loop() { | + | void loop() { |
+ | // Serial.println("Loop..."); | ||
+ | |||
// Look for new cards | // Look for new cards | ||
if ( ! mfrc522.PICC_IsNewCardPresent()) { | if ( ! mfrc522.PICC_IsNewCardPresent()) { | ||
− | + | //delay(50); | |
− | |||
− | |||
− | |||
− | |||
− | |||
return; | return; | ||
} | } | ||
+ | |||
+ | // Select one of the cards | ||
+ | if ( ! mfrc522.PICC_ReadCardSerial()) { | ||
+ | //delay(50); | ||
+ | return; | ||
+ | } | ||
+ | |||
// Show some details of the PICC (that is: the tag/card) | // Show some details of the PICC (that is: the tag/card) | ||
Serial.print(F("Card UID:")); | Serial.print(F("Card UID:")); | ||
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); | dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); | ||
Serial.println(); | Serial.println(); | ||
+ | |||
+ | // Dump debug info about the card; PICC_HaltA() is automatically called | ||
+ | //mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); | ||
+ | |||
+ | delay(1000); | ||
} | } | ||
Line 54: | Line 85: | ||
Serial.print(buffer[i], HEX); | Serial.print(buffer[i], HEX); | ||
} | } | ||
− | } | + | } |
+ | |||
+ | |||
+ | |||
+ | ==Referensi== | ||
+ | |||
+ | * https://gist.github.com/alexey-bass/6b6e53e05d9a8d1468038ea78d536914 |
Latest revision as of 10:43, 1 June 2024
Sumber: https://gist.github.com/alexey-bass/6b6e53e05d9a8d1468038ea78d536914
Install library
mv MFRC522-1.4.11.zip ~/Arduino/libraries/ cd ~/Arduino/libraries/ unzip MFRC522-1.4.11.zip
Source OK
/** Useful links https://wiki.wemos.cc/products:d1:d1_mini https://cdn-images-1.medium.com/max/1400/1*YKc8KpAfMrlhrOLmNjdRwQ.png (D1 full pinout) https://github.com/Jorgen-VikingGod/ESP8266-MFRC522 https://github.com/miguelbalboa/rfid
d1 mini rc52 wiring https://discourse-cdn-sjc1.com/business5/uploads/mydevices/original/2X/e/ecedba79dc05f2c0b02b7fba8b3da2681590a11a.jpg RST - D3 MISO - D6 MOSI - D7 SCK - D5 SDA - D8 */ #include "ESP8266WiFi.h" #include <SPI.h> #include <MFRC522.h> constexpr uint8_t RST_PIN = 0; // Configurable, see typical pin layout above 18 constexpr uint8_t SS_PIN = 15; // Configurable, see typical pin layout above 16 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance void setup() { Serial.begin(115200); // Initialize serial communications with the PC delay(1000); Serial.println("Setup"); 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 mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); Serial.println("Setup done"); } void loop() { // Serial.println("Loop..."); // Look for new cards if ( ! mfrc522.PICC_IsNewCardPresent()) { //delay(50); return; }
// Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) { //delay(50); return; } // Show some details of the PICC (that is: the tag/card) Serial.print(F("Card UID:")); dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); Serial.println(); // Dump debug info about the card; PICC_HaltA() is automatically called //mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
delay(1000); } // Helper routine to dump a byte array as hex values to Serial void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } }