lnwshop logo
นี่คือสิ่งจำเป็น ที่คุณอาจจะพลาดอยู่ ...

  


ArduinoAll รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง 95% ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

สอบถามเรื่องการต่อ โมดูล rfid กับ sd card มันใช้ขาเดียวกัน ต้องต่อยังไงครับ

เบส
เบส (Guest)
IP: 184.22.162.x
5 เดือนที่ผ่านมา

อยากทราบว่าขาไหนต่อด้วยกันได้ ขาไหนต่อไม่ได้ครับ ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #1
เบส
เบส (Guest)
IP: 49.231.174.x
5 เดือนที่ผ่านมา
ใช้ Arduino Uno R3 ครับ
QUOTE 
ความคิดเห็นที่ #2
เจ้าของร้าน
เจ้าของร้าน
5 เดือนที่ผ่านมา

ต่อได้ครับ rfid กับ sd card ติดต่อแบบ SPI ใช้ขา 3 ขาคือ SCK , MOSI , MISO  สามารถต่อเส้นเดียวกันได้

มีเพียง 1 ขาที่ต้องต่อแยกคือ CS โดย เวลาทำงาน arduino จะรู้ว่าติดต่อกับอุปกรณ์ตัวไหนจะเช็คจากขา CS ถ้ามีค่าเป็น 0 แสดงว่าให้ติดต่อกับตัวนั้น

ดังนั้นโคดเขียนเหมือนเดิม สายไฟต่อทับกันได้ ยกเว้นขา CS ต่อคนละขา แล้วแก้ในโคดให้ถูกต้อง

รูปการต่อประมาณนี้ครับ

QUOTE 
ความคิดเห็นที่ #3
เบส
เบส (Guest)
IP: 49.231.174.x
5 เดือนที่ผ่านมา
#define SS_PIN 10 #define RST_PIN 9 const int chipSelect = 4; RFID rfid(SS_PIN, RST_PIN); กำหนดค่าตามนี้ ขา cs ของ rfid =10 ขา cs ของ sdcard = 4 แบบนี้ถูกต้องปะครับ
QUOTE 
ความคิดเห็นที่ #4
เบส
เบส (Guest)
IP: 49.231.174.x
5 เดือนที่ผ่านมา
#include File myFile; #include #include #include #include "Wire.h" #include "SPI.h" #include "RTClib.h" RTC_DS3231 RTC; #define SS_PIN 10 #define RST_PIN 9 const int chipSelect = 4; RFID rfid(SS_PIN, RST_PIN); LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // Setup variables: int serNum0; int serNum1; int serNum2; int serNum3; int serNum4; String datas; void setup() { Serial.begin(9600); lcd.begin(16, 2); SPI.begin(); Wire.begin(); rfid.init(); RTC.begin(); DateTime now = RTC.now(); RTC.setAlarm1Simple(23, 9); RTC.turnOnAlarm(1); pinMode(SS, OUTPUT); if (!SD.begin(chipSelect)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); } void loop() { rfid_r(); } void rfid_r() { if (rfid.isCard()) { datas=""; if (rfid.readCardSerial()) { if (rfid.serNum[0] != serNum0 && rfid.serNum[1] != serNum1 && rfid.serNum[2] != serNum2 && rfid.serNum[3] != serNum3 && rfid.serNum[4] != serNum4 ) { serNum0 = rfid.serNum[0]; serNum1 = rfid.serNum[1]; serNum2 = rfid.serNum[2]; serNum3 = rfid.serNum[3]; serNum4 = rfid.serNum[4]; datas = rfid.serNum[0]; datas = datas + rfid.serNum[1]; datas = datas + rfid.serNum[2]; datas = datas + rfid.serNum[3]; datas = datas + rfid.serNum[4]; datas = datas + " "; DateTime now = RTC.now(); datas = datas + now.year(); datas = datas + "-"; datas = datas + now.month(); datas = datas + "-"; datas = datas + now.day(); datas = datas + " "; datas = datas + now.hour(); datas = datas + ":"; datas = datas + now.minute(); datas = datas + ":"; datas = datas + now.second(); datas = datas + " "; Serial.print(datas); sd_card(datas); } } } rfid.halt(); } void sd_card(String das) { myFile = SD.open("test.txt", FILE_WRITE); if (myFile) { myFile.println(das); // close the file: myFile.close(); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); } } ไม่ทราบว่าต้องแก้ตรงไหนครับ ขอบคุณครับ
QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน
เจ้าของร้าน
5 เดือนที่ผ่านมา

ลองต่อทีละตัวให้ทำงานได้ถูกต้องก่อนครับ แล้วค่อยเอาโคดมารวมกัน มีโคดตัวอย่างในหน้าบทความแล้วครับ

QUOTE 
ความคิดเห็นที่ #6
เบส
เบส (Guest)
IP: 49.231.174.x
5 เดือนที่ผ่านมา
อันนี้ต่อกันแล้วครับ ถ้าต่อทีละตัว ทำงานปกติครับ แต่ถ้ารวม ทำงนาแค่ตัวเดียวครับ ต่อตามที่แนะนำแล้วครับ รบกวนหน่อยนะครับ พอดีต้องทำงานส่งด่วนครับ
QUOTE 
ความคิดเห็นที่ #7
เจ้าของร้าน
เจ้าของร้าน
5 เดือนที่ผ่านมา

เช็คโคดตรงขา CS ให้ละเอียดอีกที วิธีแก้อยู่ที่จุดนี้ครับ

QUOTE 
ความคิดเห็นที่ #8
เบส
เบส (Guest)
IP: 49.231.174.x
5 เดือนที่ผ่านมา
พอมีตัวอย่างให้ดูสักเล็กน้อยปะครับ ในส่วนของการกำหนดขาก็ได้ครับ ขอบคุณครับ
QUOTE 
ความคิดเห็นที่ #9
เจ้าของร้าน
เจ้าของร้าน
5 เดือนที่ผ่านมา

ต่อ R เพิ่มด้วยดังรุปที่วาดครับ

หรือลองดูตัวอย่างนี้

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

1
แสดงความคิดเห็นที่ 1-9 จากทั้งหมด 9 ความคิดเห็น
ข้อความ
ชื่อผู้โพส
ข้อมูลสำหรับการติดต่อกลับ (ไม่เปิดเผย เห็นเฉพาะเจ้าของร้าน)
อีเมล
เบอร์มือถือ
  • ตอบกระทู้

หมวดหมู่สินค้า

สมาชิก Arduino All

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

Arduino All ขายดี

รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
7.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
100.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
Go to Top
พูดคุย-สอบถาม คลิก