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

ต่อ DS3231 ไม่สำเร็จครับ

ruzz
ruzz
IP: 171.100.54.x
3 ปีที่ผ่านมา

ผมใช้ DS3231 ต่อเข้ากับ Mega 2560

ขา SDA เข้า A4
ขา SCL เข้า A5

แล้วก็ลองโหลดไลบารี่ตัวของในเว็บมาใช้ แล้วลองเปิดไฟล์ TestRTC มาอัพโหลด พอกดดูเวลา เวลาก็ไม่เดินครับ ค้างอยู่ที่เดิม วันที่มันก็สุ่มไปเรื่อย อุณหภูมิก็ดูไม่ได้ครับ ขึ้นแบบในรูปด้านล่าง

ลองเปลี่ยนไปเสียบ D4 D5 แบบที่ไฟล์มันเขียนไว้ ก็ไม่สำเร็จครับ

ลองเปลี่ยนไปใช้ไลบารี่ของ http://www.arduitronics.com/article/real-time-clock-ds3231 ผลลัพธ์ก็ไม่ต่างกันมากครับ อุณหภูมิถ้าขึ้นก็ติดลบ เวลาพอตั้งแล้ว ตัวเลขเปลี่ยนตาม แต่พอกดรีเซตที่ตัว Mega เวลาก็ล้างกลับไปค่าเริ่มต้นด้วยเช่นกัน เหมือนแบตไม่ทำงาน

1. แบบนี้อุปกรณ์มีปัญหาหรือเปล่าครับ แค่แสดงอุณภูมิยังไม่ขึ้นเลย แต่ไฟแดงที่นาฬิกาติดตลอดนะครับ

2. มันเปลี่ยนหมายเลขพินที่ต้องเสียบได้ไหมครับ ตรงไหนเป็นตัวกำหนดว่าต้องไปเข้า A4 A5

Serial Monitor

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน
เจ้าของร้าน
3 ปีที่ผ่านมา

สบายใจได้ครับ ผมมีคำตอบให้ Laughing

แต่ก่อนที่จะตอบคำถาม ผมขออธิบายเกริ่นนำซักหน่อยครับ

บอร์ด Arduino ที่เห็นมีหลายรุ่น จริง ๆ แล้ว ถ้าอ้างอิงตามชิฟที่ใช้งาน มีหลัก ๆ อยู่ไม่กี่แบบเช่น

แบบที่ 1 ใช้ Arduino IC Atmega328 เช่น Arduino Uno , Arduino Pro mini , Arduino Nano
แบบที่ 2 ใช้ Arduino IC Atmega2560 เช่น Arduino mega 2560

จะเห็นว่า Arduino ทั้ง 2 แบบนี้ใช้ IC คนละตัว ซึ่งเป็นตัวบอกถึงประสิทธิภาพ และลักษณะการใช้งานของบอร์ดนั้น ๆ ดังนั้น Arduino Uno จึงมีความสามารถไม่เหมือนกับ Arduino Mega2560 เพราะใช้ชิฟ IC คนละตัวกัน ในขณะที่ Arduino Uno จะมีความสามารถเหมือน Arduino Pro mini และ Arduino Nano เพราะใช้ชิฟ IC Atmega328 เหมือนกัน

ในเมือความสามารถไม่เหมือนกัน การเขียนโปรแกรมจึงมีบางครั้งที่โคดเขียนแตกต่างกัน ทำให้บางครั้งไลบารีที่ใช้กับ Arduino Mega2560 จึงไม่สามารถใช้กับ Arduino Uno ในทางกลับกัน ไลบารีที่ใช้กับ Arduino Uno จะสามารถใช้ได้กับ Arduino Pro mini , Arduino Nano ได้ เพราะเป็นชิฟตัวเดียวกัน

การจัดขา แน่นอนว่า Arduino Mega มีขาและประสิทธิภาพสูงกว่า Arduino Uno ดังนั้น ทั้ง 2 แบบนี้จึงมีการจัดขาไม่เหมือนกัน

 

มาที่ตัวโมดูล DS3231 กันบ้าง

การติดต่ออุปกรณ์ Microcontroller มีมาตรฐานการติดต่อที่เป็นสากลอยู่แล้ว แบบที่ใช้ติดต่อกับ โมดูล นาฬิกา DS3231 ตัวนี้ ตาม DataSheet เป็นการติดต่อแบบ I2C หรือแบบใช้สายไฟแค่ 2 เส้น ซึ่งมาตรฐานนี้จะใช้ขาที่เรียกว่า SCL กับ SDA

 

ดังนั้นเวลาเราต่อใช้งานกับ Arduino ที่เป็นการติดต่อแบบ I2C จึงต้องติดต่อผ่านขา SCL และ SDA แน่นอน มาตรฐานระดับ Arduino ออกแบบขานี้มาให้เราใช้งานอยู่แล้ว

 

 

กลับมาที่คำถาม DS3231 ครับ

ตามตัวอย่างที่ผมให้ดู เป็นตัวอย่างสำหรับ Arduino Uno
Arduino Uno

  • ขา SCL คือ A5
  • ขา  SDA คือ A4

 
Arduino Mega2560

  • ขา SCL คือ 21
  • ขา  SDA คือ 20

 

ดังนั้น จากคำถาม

ผมใช้ DS3231 ต่อเข้ากับ Mega 2560

 

  • ขา SDA เข้า A4
  • ขา SCL เข้า A5

 

วิธีแก้ใช้งานได้ภายใน 1 นาที คือ ต่อขาให้ถูก รับรองว่าทำออกครับ
Arduino Mega2560

  • ขา SCL คือ 21
  • ขา  SDA คือ 20

 

สำหรับวิธีใช้งาน ตามโปรแกรมตัวอย่างที่มากับไลบารี

คนทำได้อธิบายเป็นภาษาอังกฤษไว้ให้แล้วครับ ผมขอเสริมการใช้งานเป็นภาษาไทยซักนิดหน่อย

 

TIME [HH:MM:SS]
    Read or write the current time

คำสั่งนี้ ใช้อ่านหรือเขียนค่าเวลาในปัจจุบันเช่น

ถ้าต้องการอ่านค่าเวลาปัจจุบัน พิมพ์ time แล้ว Enter
ผลลัพธ์ 02:26:26

ถ้าต้องการตั้งเวลาใหม่เป็น 16:30:55 ให้พิมพ์ time 16:30:55
ผลลัพธ์ Time has been set to: 16:30:55


DATE [YYYYMMDD]
    Read or write the current date

ถ้าต้องการอ่านค่าวันที่ปัจจุบัน พิมพ์ date แล้ว Enter
ผลลัพธ์ 02:26:26

ถ้าต้องการตั้งวันที่ใหม่เป็นวันที่ 15 เดือน 8 ปี 2014 ให้พิมพ์ date 20140815
ผลลัพธ์ Date has been set to: Fri, 15 Aug 2014

TEMP
    Read the current temperature

ถ้าต้องการอ่านค่าอุณหภูมิ ให้พิมพ์ temp แล้ว Enter
ผลลัพธ์ 28.00'C (82.40'F)

อย่างไรก็ตาม กลุ่มคำสั่งเหล่านี้ เป็นเพียงการเรียกใช้ความสามารถของ โมดูล DS3231 เราสามารถเขียนโปรแกรมเพื่อเรียกใช้งานได้ตามต้องการ

นอกจากนี้โมดูลนี้ยังมี IC EEROM AT24C32 สำหรับเก็บข้อมูลได้ถึง 32K เป็นความสามารถเสริมที่ดี ในการที่เราจะเขียนโปรแกรม แล้วเก็บบันทึกเรคคอร์ดเวลาตามที่ต้องการ http://www.elecrow.com/rtc-eeprom-module-ds3231-at24c32-p-863.html

 

อธิบายยาวไป ผิดพลาดตรงไหน ขออภัยด้วยครับ หวังว่าจะช่วยแก้ปัญหาให้ได้นะครับ

ลงทุนต่อวงจรทดลอง อธิบายรายละเอียดให้ยาวขนาดนี้ ได้ผลยังไงบอกด้วยนะครับ  555

 

 

QUOTE 
ความคิดเห็นที่ #2
ruzz
ruzz
IP: 171.100.54.x
3 ปีที่ผ่านมา

Laughing ต่อได้แล้วครับ ลองเขียนโปรแกรมเรียกข้อมูลไปแสดงบนจอ LCD มา แต่ใช้ไลบารี่อีกตัว มันเรียกข้อมูลง่ายกว่า

LCD

มีเรื่องสงสัยอีกครับ

1. ถ้าต้องต่ออุปกรณ์อื่นเพิ่มที่ใช้พิน SDA กับ SCL เช่นกัน ต้องทำยังไงครับ

2. เวลาผมสั่งปิด (LOW) ไปที่รีเลย์ทั้ง 4 ตัว หน้าจอ LCD ชอบมีอาการเหมือนไฟตก ตัวอักษรจะมีขีดไม่ชัด โดยตัวรีเลย์เสียบไฟตรงเข้า Mega ส่วน LCD เสียบไฟลงแผ่นทดลองก่อน แต่ไฟเส้นนี้มีแค่ LCD กับ Buzzer ตัวนึงที่พ่วงอยู่ เวลาสั่งเปิด (HIGH) หน้าจอจะชัดขึ้นครับ อาการแบบนี้มีคำแนะนำไหมครับ

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน
เจ้าของร้าน
3 ปีที่ผ่านมา

เยี่ยมเลยครับ

1. ถ้าต้องต่ออุปกรณ์อื่นเพิ่มที่ใช้พิน SDA กับ SCL เช่นกัน ต้องทำยังไงครับ

จากภาพไดอะแกรม I2C จะเห็นว่า สายเดียวกัน สามารถต่ออุปกร์ A B C และอื่น ๆ ได้หลายตัวผ่านสายเดียวกัน

2. เวลาผมสั่งปิด (LOW) ไปที่รีเลย์ทั้ง 4 ตัว หน้าจอ LCD ชอบมีอาการเหมือนไฟตก ตัวอักษรจะมีขีดไม่ชัด โดยตัวรีเลย์เสียบไฟตรงเข้า Mega ส่วน LCD เสียบไฟลงแผ่นทดลองก่อน แต่ไฟเส้นนี้มีแค่ LCD กับ Buzzer ตัวนึงที่พ่วงอยู่ เวลาสั่งเปิด (HIGH) หน้าจอจะชัดขึ้นครับ อาการแบบนี้มีคำแนะนำไหมครับ

อาการแบบนี้ ไฟไม่พอ ใส่ ไฟ Adapter เพิ่มให้บอร์ด Arduino Mega อุปกรณ์ทั้งหมดน่าจะใชไฟ้ประมาณ 500mA ถ้าให้ดีก็ซัก 1A ครับ

QUOTE 
ความคิดเห็นที่ #4
ruzz
ruzz
IP: 171.100.54.x
3 ปีที่ผ่านมา

ว่าจะหาหม้อแปลงมาเสียบเป็นเรื่องเป็นราวเหมือนกันครับ สงสัยผมต่อวงจรอลังกาลเกินไปหรือเปล่าไม่รู้ 555 ผมไม่ได้เรียนสายอิเล็กฯ เรียนสายเขียนโปรแกรมมา หาข้อมูลเอง ไม่มีใครแนะนำ วงจรผมก็คิดเองออกแบบเองตามโจทย์ที่ตั้งไว้ ไม่กลายเป็นต่อระเบิดก็บุญแล้ว 555

สงสัยต่ออีกครับ 555

คือระบบของผมเป็นเหมือนตัวควบคุมโรงเรือนครับ ดูข้อมูลและสั่งงานผ่านได้ทั้งหน้าจอ LCD และก็ผ่านหน้าเว็บ โดยหน้าเว็บผมจะให้มันรับส่งข้อมูลผ่าน Serial เอาครับ เพราะตัวเว็บก็จะมีระบบเกี่ยวกับข้อมูลต้นไม้ต่างหากอีก เลยไม่ต่อ Ethernal Shield

1. ถ้าผมต่ออแดปเตอร์จ่ายไฟให้ Mega พร้อมกับเสียบ UBS ให้มันค่อยรับส่งข้อมูลด้วยกัน แบบนี้มันทำได้ไหมครับ

2. ผมอยากต่อหลอด LED อีกสองหลอด ให้มันกระพริบตามไฟ RX, TX บน Mega เอาไว้ให้เห็นไฟชัดๆ มีวิธีไหมครับ

ขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน
เจ้าของร้าน
3 ปีที่ผ่านมา

1. ถ้าผมต่ออแดปเตอร์จ่ายไฟให้ Mega พร้อมกับเสียบ UBS ให้มันค่อยรับส่งข้อมูลด้วยกัน แบบนี้มันทำได้ไหมครับ

ไม่แ่นใจ ผมเคยต่อก็ใช้ได้นะครับ ขออ้างอิงเว็บต่างประเทศครับ http://forum.arduino.cc/index.php/topic,6090.0.html

Arduino uno -Usb connected and external power  ?
Can i have the arduino uno connected to the computer usb to communicate and at the same time feed an external power trough the jack ?

will it automatic switch from usb power to external power and reverse ?
or it will burn something ?=

Thanks
 
This will be fine, it will use the external power if available else it will use the USB power.

Make sure your external power isn't too high a voltage else the Arduino's regulator could get quite hot. Definitely not more than 15V else the on-board 3.3V regulator could be damaged.
 
 

2. ผมอยากต่อหลอด LED อีกสองหลอด ให้มันกระพริบตามไฟ RX, TX บน Mega เอาไว้ให้เห็นไฟชัดๆ มีวิธีไหมครับ

วงจร Arduino Mega2560 http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf ดัดแปลงได้ แต่ต้องอาศัยฝีมือซักหน่อยนึง เพราะดึงจาก IC atmega16u2-mu หรือไม่ก็ต่อพวงจาก LED ผมแนะนำเขียนโปรแกรมเพิ่ม LED ให้แสดงผลตอนรับส่งข้อมูล จะง่ายกว่าครับ

 

QUOTE 
ความคิดเห็นที่ #6
ruzz
ruzz
IP: 171.100.54.x
3 ปีที่ผ่านมา

ขอบคุณสำหรับข้อมูลครับ เดี๋ยวจะลองศึกษาเพิ่มเติมดูครับ Laughing

QUOTE 
ความคิดเห็นที่ #7
เจ้าของร้าน
เจ้าของร้าน
3 ปีที่ผ่านมา

 

ยินดีครับ LaughingLaughingLaughing

QUOTE 
ความคิดเห็นที่ #8
watchayun
watchayun (Guest)
IP: 171.4.250.x
3 ปีที่ผ่านมา

Cool แบบนี้เลยที่ผมอยากลองทำดูครับ  ยังไม่เคยแม้แต่สัมผัส โปรแกรมก็ไม่เคยเข้ียน แต่อยากทำ แบบนี้ วัดอุณหภูมิ+ความชื้น+LCD+Attiny85 ฮ่าๆๆ แค่คิดก็มึนแล้ว

QUOTE 
ความคิดเห็นที่ #9
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

ลองทำเล่น ๆ ดูครับ ติดตรงไหนผมช่วยแนะนำให้ครับ Laughing

 

QUOTE 
ความคิดเห็นที่ #10
Jerry
Jerry (Guest)
IP: 171.97.19.x
2 ปีที่ผ่านมา

อยากสอบถามว่า module นี้ มันชาร์จไฟเข้าแบตเตอรี่แบคอัพในตัวใช่มั๊ยครับ  แล้วแบตตัวนี้ สามารถเปลี่ยนเป็นแบบ Lipo แทนได้มั๊ย เพื่อเอาไว้ใช้จ่ายไฟให้กับ arduino ด้วยครับ

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

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

สมาชิก Arduino All

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

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

Arduino All ขายดี

รหัสสินค้า A015
270.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
90.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
Go to Top