สารบัญ:
วีดีโอ: นาฬิกา LCD Arduino ขนาดใหญ่พร้อมนาฬิกาปลุกสองตัวและตัวตรวจสอบอุณหภูมิควบคุมโดย IR TV Remote: 5 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
วิธีสร้างนาฬิกา LCD บน Arduino พร้อมนาฬิกาปลุกสองตัวและตัวตรวจสอบอุณหภูมิที่ควบคุมโดยรีโมท IR TV
ขั้นตอนที่ 1: คำอธิบาย
นี่คือนาฬิกา LCD ที่สร้างด้วยโมดูลนาฬิกาเรียลไทม์ DS3231 ซึ่งแตกต่างจาก DS1307 ที่มีความเป็นไปได้ในการตั้งปลุกและวัดอุณหภูมิ ในกรณีนี้ หน้าจอ LCD จะแสดงวันที่ เวลา การเตือนสองครั้ง และอุณหภูมิปัจจุบันด้วย และส่วนที่น่าสนใจที่สุดคือการตั้งค่านาฬิกาและการปิดเสียงเตือนทั้งหมดทำได้ผ่านรีโมทคอนโทรลของทีวี
ขั้นตอนที่ 2: อะไหล่
ชิ้นส่วนฮาร์ดแวร์ที่จำเป็นสำหรับการสร้าง:
-บอร์ด Arduino
-DS3231 บอร์ด RTC
-20X4 จอ LCD
-I2C Arduino จอแสดงผล LCD โมดูล
-RC5 โปรโตคอล IR รีโมทคอนโทรล
-ตัวรับสัญญาณ IR
-นำ
-Buzzer
ตัวต้านทาน -220 โอห์ม
ขั้นตอนที่ 3: สร้าง
รหัสพื้นฐานนำมาจากหน้าเว็บวงจรแบบง่าย และฉันได้ทำการเปลี่ยนแปลงเล็กน้อย: เพื่อความง่าย ฉันได้เพิ่มโมดูล I2C ลงในจอ LCD และแก้ไขโค้ดตามนั้น ฉันยังเพิ่มออดเล็กๆ ที่สร้างเสียงด้วยความถี่ที่กำหนดในขณะที่การปลุกทำงานอยู่
บอร์ด DS3231 มาพร้อมกับ 5V เป็น LCD 20x4 และตัวรับสัญญาณ IR 5V นี้มาจากบอร์ด Arduino มีข้อมูล 3 รายการที่เชื่อมต่อระหว่างบอร์ดนี้กับ Arduino, สาย SCL เชื่อมต่อกับขาอะนาล็อก 5, SDA เชื่อมต่อกับ อนาล็อกพิน 4 และสาย INT เชื่อมต่อกับพินดิจิตอล 2 ซึ่งเป็นพินอินเทอร์รัปต์ภายนอกของ Arduino (INT0) DS3231 จะขัดจังหวะไมโครคอนโทรลเลอร์เมื่อมีสัญญาณเตือน (alarm1 หรือ alarm2) ตัวรับสัญญาณ IR มี 3 พิน: GND, VCC และ OUT โดยที่พิน OUT เชื่อมต่อกับพิน Arduino 3 ซึ่งเป็นพินอินเทอร์รัปต์ภายนอก (INT1) LED ที่เชื่อมต่อกับ Arduino pin 10 ใช้เป็นตัวบ่งชี้สัญญาณเตือน (alarm1 หรือ alarm2) ดังนั้นหากมีการเตือน DS3231 จะดึงพิน INT ซึ่งขัดจังหวะไมโครคอนโทรลเลอร์ (ATmega328P) และไมโครคอนโทรลเลอร์จะเปิด LED ที่นี่ ปุ่มบนรีโมทคอนโทรลจะปิดทั้ง LED และสัญญาณเตือนที่เกิดขึ้น เราจำเป็นต้องถอดรหัสรีโมตคอนโทรลของเราเพื่อที่จะทราบรหัสของแต่ละปุ่มเพราะเราต้องเพิ่มลงในซอฟต์แวร์ Arduino (โค้ด)
ขั้นตอนที่ 4: รีโมทคอนโทรล
รีโมตคอนโทรลที่ใช้ในโครงการนี้คือรีโมตคอนโทรล TV IR พร้อมโปรโตคอล RC5 ซึ่งเป็นตัวที่แสดงด้านล่าง (ปุ่มที่ใช้จะมีหมายเลข):
รหัสฟังก์ชันปุ่ม (รูปแบบฐานสิบหก)
1 เพิ่มขึ้น 0x20
2 ตั้งเวลาและปฏิทิน 0x10
3 ลดลง 0x21
4 ตั้งปลุก 0x11
5 รีเซ็ตการเตือน 0x0C
โปรดทราบว่ารหัสนี้ต้องใช้รีโมตคอนโทรลกับโปรโตคอล RC5 และส่วนใหญ่มักจะใช้อุปกรณ์ระยะไกลดังกล่าวในอุปกรณ์ Philips รุ่นเก่า ด้านล่างนี้คือโค้ดอย่างง่าย "ตัวค้นหาโปรโตคอล IR" ที่ช่วยให้คุณกำหนดโปรโตคอลของรีโมตคอนโทรลใดๆ ได้อย่างง่ายดาย รวมถึงค่าของแต่ละปุ่ม รูปภาพแสดงรีโมตคอนโทรลที่ฉันใช้กับค่าที่ทำเครื่องหมายไว้และฟังก์ชันของปุ่มต่างๆ
ขั้นตอนที่ 5: แผนผังและโค้ด
ด้านล่างนี้เป็นรหัสขนาดเล็กสำหรับกำหนดประเภทโปรโตคอลและค่าของปุ่มบนตัวควบคุม IR และรหัสนาฬิกาที่สมบูรณ์