- ส่วนประกอบที่ต้องการ:
- ตั้งค่า Raspberry Pi สำหรับนาฬิกาปลุก:
- แผนภาพวงจรและการเชื่อมต่อ:
- คำอธิบายโปรแกรมและการทำงาน:
ในช่วงนี้เราจะไปอินเตอร์เฟซแบบ Real Time Clock โมดูล DS1307 กับราสเบอร์รี่ PI จะทำให้นาฬิกาปลุก แม้ว่า Raspberry Pi จะมีนาฬิกาภายใน แต่หากไม่มีการเชื่อมต่ออินเทอร์เน็ตนาฬิกาภายในนี้จะรีเซ็ตหลังจากรีบูตทุกครั้ง ดังนั้นเพื่อให้ได้เวลาที่แม่นยำโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตเราจำเป็นต้องเชื่อมต่อโมดูล RTC DS1307 กับ Raspberry Pi โมดูล RTC มีแบตเตอรี่ปุ่มสำหรับสำรองดังนั้น TIME จะไม่รีเซ็ต เราได้สร้างนาฬิกาปลุกโดยใช้ Arduino และใช้ไมโครคอนโทรลเลอร์ ATmega32 AVR ตรวจสอบด้วย
ในนาฬิกาดิจิตอล Raspberry Piนี้จอ LCD 16 * 2 ตัวอักษรจะแสดงแบบเรียลไทม์เวลาปลุกและสถานะของการเตือน (เปิด / ปิด) เมื่อโปรแกรมเริ่มทำงานใน Pi เราสามารถยกเลิกการเชื่อมต่อจอภาพและตั้งปลุกได้ด้วยความช่วยเหลือของ LCD และปุ่มห้าปุ่ม
หมุด GPIO 17 ตัวแต่ละตัวสามารถส่งหรือดึงกระแสไฟฟ้าได้สูงสุด 15mA ดังนั้นอย่าเล่นกับพิน GPIO และตรวจสอบการเชื่อมต่อสองครั้งก่อนเปิดเครื่อง Raspberry Pi เรียนรู้เพิ่มเติมเกี่ยวกับ GPIO Pins และปุ่มเชื่อมต่อกับ Raspberry Pi ที่นี่ ตรวจสอบชุดการสอน Raspberry Pi ของเราพร้อมกับโครงการ IoT ที่ดี
ส่วนประกอบที่ต้องการ:
ที่นี่เราจะใช้ ราสเบอร์รี่ Pi 2 รุ่น B กับ Raspbian Jessie OS ข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์พื้นฐานทั้งหมดได้กล่าวไว้ก่อนหน้านี้คุณสามารถค้นหาได้ในบทนำ Raspberry Pi และ Raspberry PI LED กะพริบเพื่อเริ่มต้นใช้งานนอกเหนือจากที่เราต้องการ:
- Raspberry Pi พร้อมระบบปฏิบัติการที่ติดตั้งไว้ล่วงหน้า
- RTC โมดูล DS1307 พร้อมแบตเตอรี่
- แหล่งจ่ายไฟ
- ตัวต้านทาน1KΩ (6 ชิ้น)
- 5 ปุ่ม
- ตัวเก็บประจุ 1000uF (2 ชิ้น)
- 16 * 2 ตัวอักษร LCD
- ทรานซิสเตอร์ 2N2222
- Buzzer
ตั้งค่า Raspberry Pi สำหรับนาฬิกาปลุก:
ก่อนที่จะดำเนินการต่อไปเราต้องกำหนดค่า Raspberry Pi เล็กน้อยและติดตั้งไฟล์ไลบรารีสำหรับโมดูล RTC ทำตามขั้นตอนด้านล่าง:
ขั้นตอนที่ 1: ไปที่เมนูการกำหนดค่า Raspberry Pi ก่อนและเปิดใช้งานตัวเลือก I2C ดังที่แสดงด้านล่าง:
ขั้นตอนที่ 2: สร้างโฟลเดอร์ใหม่บนหน้าจอเดสก์ท็อป Raspberry Pi และตั้งชื่อเป็น "นาฬิกาปลุก"
ขั้นตอนที่ 3: ดาวน์โหลดไฟล์ส่วนหัวสำหรับโมดูล RTC จากลิงค์ด้านล่าง:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
ขั้นตอนที่ 4: คลายซิปไฟล์ zip ที่ดาวน์โหลดมาลงในโฟลเดอร์ (นาฬิกาปลุก) ที่สร้างบนเดสก์ท็อปตามที่บอกไว้ในขั้นตอนก่อนหน้า
ขั้นตอนที่ 5: เปิดหน้าต่างเทอร์มินัลใน Raspberry Pi และป้อนคำสั่งด้านล่างจากนั้นกด Enter:
sudo apt-get ติดตั้ง i2c-tools
คำสั่งนี้ติดตั้งเครื่องมือ I2C ที่จำเป็นสำหรับการเชื่อมต่อโมดูล RTC จากนั้นรีบูต Raspberry pi โดยออกคำสั่ง' sudo reboot'
ขั้นตอนที่ 6: ตอนนี้เราต้องตรวจสอบที่อยู่ I2C ของโมดูล RTC ก่อนตรวจสอบที่อยู่ก่อนอื่นให้เชื่อมต่อโมดูล RTC ตามที่แสดงในแผนภาพวงจรด้านล่าง
จากนั้นป้อนด้านล่างในหน้าต่างเทอร์มินัล
sudo i2cdetect -y 0 หรือ sudo i2cdetect -y 1
ขั้นตอนที่ 7: หากคำสั่งใดคำสั่งหนึ่งใช้ได้ผลคุณจะเห็นสิ่งนี้:
ขั้นตอนที่ 8:คุณจะเห็นที่อยู่ I2C 0x68 หากโมดูล RTC เชื่อมต่ออย่างถูกต้องบันทึกค่า
ด้วยการปรับเปลี่ยนที่จำเป็นทั้งหมดนี้ทำได้ด้วยการกำหนดค่า Raspberry Pi
แผนภาพวงจรและการเชื่อมต่อ:
การเชื่อมต่อระหว่าง Raspberry Pi และ LCD แสดงไว้ในตารางด้านล่าง:
การเชื่อมต่อระหว่าง Raspberry Pi และห้าปุ่มยังแสดงในตารางด้านล่างพร้อมฟังก์ชั่นของแต่ละปุ่ม
คำอธิบายโปรแกรมและการทำงาน:
โมดูล RTC มีเซลล์ปุ่มสำหรับสำรองพลังงานตามที่กล่าวไว้ดังนั้นเวลาจะเป็นปัจจุบันจนกว่าการสำรองข้อมูลจะหมดและเราจะมีเวลาที่แม่นยำใน RTC
ตอนนี้เราจะเขียนโปรแกรม Pythonเพื่อรับเวลาที่ถูกต้องจาก RTC Module DS1307 ครั้งนี้จะแสดงบนจอ LCD 16x2 หลังจากนั้นเราจะมีคุณสมบัตินาฬิกาปลุกที่เขียนในโปรแกรม เวลาปลุกจะแสดงบนบรรทัดที่สองของ LCD ตามด้วยสถานะเปิดและปิด เวลาปลุกสามารถปรับได้ด้วยปุ่ม 5 ปุ่มที่เชื่อมต่อกับ Raspberry Pi ตามที่ระบุไว้ในตารางด้านบนและตั้งปลุกได้ง่ายมาก คุณยังสามารถตรวจสอบวิดีโอสาธิตของเราเพื่อใช้งานนาฬิกาปลุก Raspberry Piนี้ มี 2 ปุ่มสำหรับเวลาเพิ่มและลดเวลาปลุก 2 ปุ่มสำหรับเพิ่มและลดเวลาปลุกนาทีและ 1 ปุ่มสำหรับเปิดและปิดการปลุก
โปรแกรม Python จะทำการเปรียบเทียบเวลาปลุกกับเวลา RTC อย่างต่อเนื่องและเมื่อเวลาปลุกตรงกับเวลา RTC PI จะทริกเกอร์ Buzzer ซึ่งเชื่อมต่อกับ GPIO พิน 22 ของ Raspberry Pi ผ่านทรานซิสเตอร์ NPN 2N2222 ดังนั้นเมื่อถึงเวลาปลุกเสียงกริ่งจะส่งเสียง
โปรแกรมฉบับสมบูรณ์ได้รับด้านล่างและอธิบายได้ดีผ่านความคิดเห็น หากคุณมีข้อสงสัยสามารถถามได้ในส่วนความคิดเห็นด้านล่าง