นาฬิกา LED ทำเอง นาฬิกา LED กลางแจ้ง

ฉันนำเสนอความสนใจของคุณทางอิเล็กทรอนิกส์ นาฬิกาไมโครคอนโทรลเลอร์- วงจรนาฬิกานั้นง่ายมาก ประกอบด้วยชิ้นส่วนขั้นต่ำ และสามารถทำซ้ำได้โดยการเริ่มเล่นวิทยุสมัครเล่น

การออกแบบนี้ประกอบขึ้นบนไมโครคอนโทรลเลอร์และนาฬิกาเรียลไทม์ DS1307- ไฟ LED แสดงสถานะสี่หลักเจ็ดส่วน (สว่างเป็นพิเศษ, สีฟ้าเรืองแสงซึ่งดูดีในความมืดและในขณะเดียวกันนาฬิกาก็มีบทบาทเป็นแสงกลางคืน) นาฬิกาถูกควบคุมโดยสองปุ่ม ด้วยการใช้ชิปนาฬิกาแบบเรียลไทม์ DS1307 อัลกอริธึมของโปรแกรมจึงค่อนข้างง่าย ไมโครคอนโทรลเลอร์สื่อสารกับนาฬิกาเรียลไทม์ผ่านบัส I2C และจัดเรียงโดยซอฟต์แวร์

แผนภาพนาฬิกา:

ขออภัย มีข้อผิดพลาดในแผนภาพ:
— ขั้วต่อ MK จำเป็นต้องเชื่อมต่อกับฐานทรานซิสเตอร์:
РВ0 ถึง Т4, РВ1 ถึง Т3, РВ2 ถึง Т2, РВ3 ถึง Т1
หรือเปลี่ยนการเชื่อมต่อตัวสะสมทรานซิสเตอร์เป็นตัวเลขตัวบ่งชี้:
T1 ถึง DP1…..T4 ถึง DP4

ชิ้นส่วนที่ใช้ในวงจรนาฬิกา:

♦ ไมโครคอนโทรลเลอร์ ATTiny26:

♦ นาฬิกาเรียลไทม์ DS1307:

♦ ไฟ LED แสดงสถานะเจ็ดส่วน 4 หลัก – FYQ-5641UB-21 พร้อมแคโทดทั่วไป (สว่างเป็นพิเศษ, สีน้ำเงิน):

♦ ควอตซ์ 32.768 kHz โดยมีความจุอินพุต 12.5 pF (สามารถนำมาจาก เมนบอร์ดคอมพิวเตอร์) ความแม่นยำของนาฬิกาขึ้นอยู่กับควอตซ์นี้:

♦ทรานซิสเตอร์ทั้งหมดเป็นโครงสร้าง NPN คุณสามารถใช้อะไรก็ได้ (KT3102, KT315 และอะนาล็อกต่างประเทศ) ฉันใช้ BC547S
♦ ตัวปรับแรงดันไฟฟ้าวงจรไมโครประเภท 7805
♦ ตัวต้านทานทั้งหมดที่มีกำลัง 0.125 วัตต์
♦ ตัวเก็บประจุแบบโพลาร์สำหรับแรงดันไฟฟ้าในการทำงานไม่ต่ำกว่าแรงดันไฟฟ้า
♦ แหล่งจ่ายไฟสำรอง DS1307 – เซลล์ลิเธียม 3 โวลต์ CR2032

คุณสามารถใช้เครื่องชาร์จที่ไม่จำเป็นเพื่อจ่ายไฟให้กับนาฬิกาของคุณได้ โทรศัพท์มือถือ(ในกรณีนี้หากแรงดันไฟฟ้าที่เอาต์พุตของเครื่องชาร์จอยู่ภายใน 5 โวลต์± 0.5 โวลต์ส่วนหนึ่งของวงจร - ตัวปรับแรงดันไฟฟ้าบนชิปประเภท 7805 - สามารถกำจัดได้)
ปริมาณการใช้กระแสไฟฟ้าของอุปกรณ์คือ 30 mA
คุณไม่จำเป็นต้องติดตั้งแบตเตอรี่สำรองสำหรับนาฬิกา DS1307 แต่หากไฟหลักดับจะต้องตั้งเวลาปัจจุบันอีกครั้ง
ไม่ได้ให้แผงวงจรพิมพ์ของอุปกรณ์มา การออกแบบนั้นประกอบขึ้นในเคสจากนาฬิกากลไกที่ชำรุด LED (ที่มีความถี่กระพริบ 1 Hz จากพิน SQW DS1307) ทำหน้าที่แยกชั่วโมงและนาทีบนตัวบ่งชี้

การตั้งค่าไมโครคอนโทรลเลอร์เป็นโรงงาน: ความถี่สัญญาณนาฬิกา - 1 MHz ไม่จำเป็นต้องสัมผัสบิต FUSE

อัลกอริธึมการทำงานของนาฬิกา(ในตัวสร้างอัลกอริทึม):

1. การตั้งค่าตัวชี้สแต็ก
2. การตั้งเวลา T0:
— ความถี่ SK/8
- การขัดจังหวะโอเวอร์โฟลว์ (ที่ความถี่ที่ตั้งไว้ล่วงหน้านี้ การขัดจังหวะจะถูกเรียกทุกๆ 2 มิลลิวินาที)
3. การเริ่มต้นพอร์ต (พิน PA0-6 และ PB0-3 ได้รับการกำหนดค่าเป็นเอาต์พุต, PA7 และ PB6 เป็นอินพุต)
4. การเริ่มต้นบัส I2C (พิน PB4 และ PB5)
5. ตรวจสอบบิตที่ 7 (CH) ของศูนย์ลงทะเบียน DS1307
6. เปิดใช้งานการขัดจังหวะทั่วโลก
7. เข้าสู่วงและตรวจสอบว่ามีการกดปุ่มหรือไม่

เมื่อเปิดเครื่องเป็นครั้งแรก หรือเปิดอีกครั้งหากไม่มีพลังงานสำรองให้กับ DS307 เวลาปัจจุบันจะถูกรีเซ็ตเป็นการตั้งค่าดั้งเดิม ในกรณีนี้: ปุ่ม S1 – เพื่อตั้งเวลา ปุ่ม S2 – เปลี่ยนเป็นตัวเลขถัดไป ตั้งเวลา - ชั่วโมงและนาทีถูกเขียนลงใน DS1307 (วินาทีถูกตั้งค่าเป็นศูนย์) และพิน SQW/OUT (พินที่ 7) ได้รับการกำหนดค่าให้สร้าง พัลส์สี่เหลี่ยมด้วยความถี่ 1 เฮิร์ตซ์
เมื่อคุณกดปุ่ม S2 (S4 - ในโปรแกรม) การหยุดชะงักทั่วโลกจะถูกปิดใช้งาน โปรแกรมจะเข้าสู่รูทีนย่อยการแก้ไขเวลา ในกรณีนี้ การใช้ปุ่ม S1 และ S2 จะตั้งค่าสิบและหน่วยนาที จากนั้นตั้งแต่ 0 วินาที การกดปุ่ม S2 จะบันทึกเวลาที่อัปเดตใน DS1307 แก้ไขการขัดจังหวะทั่วโลกและกลับสู่โปรแกรมหลัก

นาฬิกาแสดงความแม่นยำได้ดี เวลาสูญเสียต่อเดือนคือ 3 วินาที
เพื่อปรับปรุงความแม่นยำ ขอแนะนำให้เชื่อมต่อควอตซ์กับ DS1307 ตามที่ระบุไว้ในเอกสารข้อมูล:

โปรแกรมนี้เขียนขึ้นในสภาพแวดล้อม Algorithm Builder
เมื่อใช้โปรแกรมนาฬิกาเป็นตัวอย่าง คุณสามารถทำความคุ้นเคยกับอัลกอริธึมสำหรับการสื่อสารระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์อื่น ๆ ผ่านทางบัส I2C (แต่ละบรรทัดจะมีความคิดเห็นโดยละเอียดในอัลกอริทึม)

ภาพถ่ายของอุปกรณ์ที่ประกอบและแผงวงจรพิมพ์ในรูปแบบ .lay จากผู้อ่านไซต์ Anatoly Pilguk ซึ่งต้องขอบคุณเขามาก!

อุปกรณ์ใช้: ทรานซิสเตอร์ - ตัวต้านทาน SMD BC847 และ CHIP

สิ่งที่แนบมากับบทความ:

(42.9 KiB, 3,227 ครั้ง)

(6.3 KiB, 4,180 ครั้ง)

(3.1 KiB, 2,657 ครั้ง)

(312.1 KiB, 5,929 ครั้ง)


โปรแกรมนาฬิกาเวอร์ชั่นที่สองใน AB (สำหรับผู้ที่ไม่สามารถดาวน์โหลดอันบนได้)

(11.4 KiB, 1,942 ครั้ง)

สวัสดีชาว geektimes! ส่วนแรกของบทความกล่าวถึงหลักการในการได้รับเวลาที่แม่นยำบนนาฬิกาแบบโฮมเมด เรามาดูกันดีกว่าว่าจะแสดงอย่างไรและดีกว่ากันในครั้งนี้

1. อุปกรณ์เอาท์พุต

ดังนั้นเราจึงมีแพลตฟอร์มบางอย่าง (Arduino, Raspberry, คอนโทรลเลอร์ PIC/AVR/STM ฯลฯ) และงานคือการเชื่อมต่อตัวบ่งชี้บางอย่างเข้ากับแพลตฟอร์มดังกล่าว มีตัวเลือกมากมายที่เราจะพิจารณา

การแสดงส่วน

ทุกอย่างเรียบง่ายที่นี่ ตัวบ่งชี้ส่วนประกอบด้วยไฟ LED ธรรมดาซึ่งเชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านตัวต้านทานดับ

ระวังการจราจร!

ข้อดี: การออกแบบที่เรียบง่าย มุมมองที่ดี ราคาไม่แพง
จุดด้อย: จำนวนข้อมูลที่แสดงมีจำกัด
การออกแบบตัวบ่งชี้มีสองประเภท โดยมีแคโทดทั่วไปและแอโนดทั่วไป ภายในจะมีลักษณะดังนี้ (แผนภาพจากเว็บไซต์ของผู้ผลิต)

มีบทความ 1,001 บทความเกี่ยวกับวิธีเชื่อมต่อ LED กับไมโครคอนโทรลเลอร์ Google สามารถช่วยได้ ความยากลำบากเริ่มต้นขึ้นเมื่อเราต้องการสร้างนาฬิกาขนาดใหญ่ ท้ายที่สุดแล้ว การดูตัวบ่งชี้ขนาดเล็กนั้นไม่สะดวกอย่างยิ่ง จากนั้นเราต้องการตัวบ่งชี้ต่อไปนี้ (ภาพจาก eBay):

ใช้พลังงานจาก 12V และจะไม่ทำงานโดยตรงจากไมโครคอนโทรลเลอร์ นี่คือจุดที่ไมโครเซอร์กิตเข้ามาช่วยเหลือเรา ซีดี4511เพียงเพื่อการนี้เท่านั้น ไม่เพียงแปลงข้อมูลจากเส้น 4 บิตเป็นตัวเลขที่ต้องการ แต่ยังมีสวิตช์ทรานซิสเตอร์ในตัวเพื่อจ่ายแรงดันไฟฟ้าให้กับตัวบ่งชี้ ดังนั้นในวงจรเราจะต้องมีแรงดันไฟฟ้า "พลังงาน" ที่ 9-12V และตัวแปลงสเต็ปดาวน์แยกต่างหาก (เช่น L7805) เพื่อจ่ายไฟให้กับ "ตรรกะ" ของวงจร

ตัวชี้วัดเมทริกซ์

โดยพื้นฐานแล้ว ไฟ LED เหล่านี้เป็น LED เดียวกัน ในรูปแบบเมทริกซ์ 8x8 เท่านั้น ภาพถ่ายจากอีเบย์:

ขายบน eBay ในรูปแบบของโมดูลเดี่ยวหรือบล็อกสำเร็จรูปเช่น 4 ชิ้น การจัดการมันง่ายมาก - ไมโครวงจรถูกบัดกรีเข้ากับโมดูลแล้ว MAX7219เพื่อให้มั่นใจถึงการทำงานและการเชื่อมต่อกับไมโครคอนโทรลเลอร์โดยใช้สายเพียง 5 เส้น มีไลบรารีสำหรับ Arduino มากมาย ใครๆ ก็สามารถดูโค้ดได้
ข้อดี: ราคาถูก มุมมองที่ดีและความสว่าง
จุดด้อย: ความละเอียดต่ำ แต่สำหรับงานอนุมาน เวลาก็เพียงพอแล้ว

ไฟแสดงสถานะ LCD

ตัวแสดงสถานะ LCD อาจเป็นกราฟิกหรือข้อความก็ได้

กราฟิกมีราคาแพงกว่า แต่ช่วยให้คุณแสดงข้อมูลที่หลากหลายมากขึ้น (เช่น กราฟความดันบรรยากาศ) ข้อความมีราคาถูกกว่าและใช้งานง่ายกว่า นอกจากนี้ยังช่วยให้คุณสามารถแสดงกราฟิกหลอกได้ - คุณสามารถโหลดสัญลักษณ์ที่กำหนดเองลงในจอแสดงผลได้

การทำงานกับตัวบ่งชี้ LCD จากโค้ดนั้นไม่ใช่เรื่องยาก แต่มีข้อเสียบางประการ - ตัวบ่งชี้ต้องใช้สายควบคุมจำนวนมาก (ตั้งแต่ 7 ถึง 12) จากไมโครคอนโทรลเลอร์ซึ่งไม่สะดวก ดังนั้นชาวจีนจึงเกิดแนวคิดที่จะรวมตัวบ่งชี้ LCD เข้ากับคอนโทรลเลอร์ i2c ซึ่งท้ายที่สุดก็สะดวกมาก - เพียง 4 สายก็เพียงพอที่จะเชื่อมต่อ (ภาพถ่ายจาก eBay)


จอ LCD มีราคาค่อนข้างถูก (ถ้าซื้อจาก eBay) มีขนาดใหญ่ เชื่อมต่อง่าย และสามารถแสดงข้อมูลได้หลากหลาย ข้อเสียอย่างเดียวคือมุมมองไม่ใหญ่มาก

ตัวบ่งชี้ OLED

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

จริงๆแล้วดีทุกอย่างยกเว้นราคา ส่วนอินดิเคเตอร์ขนาดเล็กขนาด 0.9-1.1" แล้ว (ยกเว้นการเรียนรู้การทำงานกับ i2c) บ้าง การประยุกต์ใช้จริงมันยากสำหรับพวกเขาที่จะหา

ตัวบ่งชี้การปล่อยก๊าซ (IN-14, IN-18)

ปัจจุบัน ไฟแสดงเหล่านี้ได้รับความนิยมอย่างมาก เนื่องมาจาก "เสียงของแสงจากหลอดอุ่น" และความสร้างสรรค์ของการออกแบบ


(ภาพจาก nocrotec.com)

แผนภาพการเชื่อมต่อค่อนข้างซับซ้อนกว่าเพราะว่า ตัวบ่งชี้เหล่านี้ใช้แรงดันไฟฟ้า 170V ในการจุดระเบิด ตัวแปลงจาก 12V=>180V สามารถสร้างบนวงจรขนาดเล็กได้ แม็กซ์771- วงจรไมโครโซเวียตใช้เพื่อจ่ายแรงดันไฟฟ้าให้กับตัวบ่งชี้ K155ID1ซึ่งถูกสร้างขึ้นมาเพื่อการนี้โดยเฉพาะ ออกราคาได้ที่ การผลิตด้วยตนเอง: ประมาณ 500 รูเบิลสำหรับแต่ละตัวบ่งชี้และ 100 รูเบิลสำหรับ K155ID1 ส่วนอื่น ๆ ทั้งหมดตามที่เขียนไว้ในนิตยสารเก่า ๆ "ไม่ได้ขาดแคลน" ปัญหาหลักที่นี่คือทั้ง IN-xx และ K155ID1 เลิกผลิตไปนานแล้วและคุณสามารถซื้อได้ที่ตลาดวิทยุหรือในร้านค้าเฉพาะบางแห่งเท่านั้น

2. การเลือกแพลตฟอร์ม

เรามีความคิดเกี่ยวกับจอแสดงผลไม่มากก็น้อย สิ่งที่เหลืออยู่คือการตัดสินใจว่าจะใช้แพลตฟอร์มฮาร์ดแวร์ใดดีที่สุด มีหลายตัวเลือกที่นี่ (ฉันไม่ได้พิจารณาตัวเลือกแบบโฮมเมดเพราะผู้ที่รู้วิธีกำหนดเส้นทางบอร์ดและประสานโปรเซสเซอร์ไม่ต้องการบทความนี้)

อาร์ดูโน่

ตัวเลือกที่ง่ายที่สุดสำหรับผู้เริ่มต้น บอร์ดสำเร็จรูปมีราคาไม่แพง (ประมาณ 10 ดอลลาร์บน eBay พร้อมค่าจัดส่งฟรี) และมีตัวเชื่อมต่อที่จำเป็นสำหรับการเขียนโปรแกรม ภาพถ่ายจากอีเบย์:

มีไลบรารีต่างๆ จำนวนมากสำหรับ Arduino (ตัวอย่างเช่น สำหรับหน้าจอ LCD เดียวกัน โมดูลเรียลไทม์) Arduino เป็นฮาร์ดแวร์ที่เข้ากันได้กับโมดูลเพิ่มเติมต่างๆ
ข้อเสียเปรียบหลัก: ความยากในการดีบัก (ผ่านคอนโซลพอร์ตอนุกรมเท่านั้น) และโปรเซสเซอร์ที่ค่อนข้างอ่อนแอตามมาตรฐานสมัยใหม่ (2KB RAM และ 16MHz)
ข้อได้เปรียบหลัก: คุณสามารถทำสิ่งต่าง ๆ ได้มากมายโดยไม่ต้องยุ่งยากกับการบัดกรีซื้อโปรแกรมเมอร์และแผงสายไฟ คุณเพียงแค่ต้องเชื่อมต่อโมดูลเข้าด้วยกัน

โปรเซสเซอร์ STM 32 บิต

สำหรับผู้ที่ต้องการบางสิ่งที่ทรงพลังกว่านี้ ก็มีบอร์ดสำเร็จรูปพร้อมโปรเซสเซอร์ STM เช่น บอร์ดที่มี STM32F103RBT6 และหน้าจอ TFT ภาพถ่ายจากอีเบย์:

ที่นี่เรามีการดีบักเต็มรูปแบบใน IDE เต็มรูปแบบแล้ว (จากทั้งหมดที่แตกต่างกัน ฉันชอบ Coocox IDE มากที่สุด) อย่างไรก็ตาม เราจะต้องมีโปรแกรมเมอร์-ดีบักเกอร์ ST-LINK แยกต่างหากพร้อมตัวเชื่อมต่อ JTAG (ปัญหา ราคาอยู่ที่ 20-40 ดอลลาร์บนอีเบย์) หรือคุณสามารถซื้อบอร์ดพัฒนา STM32F4Discovery ซึ่งมีโปรแกรมเมอร์นี้ติดตั้งอยู่แล้วและสามารถใช้งานแยกกันได้

ราสเบอร์รี่ PI

และสุดท้ายสำหรับผู้ที่ต้องการบูรณาการอย่างเต็มรูปแบบด้วย โลกสมัยใหม่มีคอมพิวเตอร์บอร์ดเดี่ยวพร้อม Linux ทุกคนคงรู้จัก Raspberry PI อยู่แล้ว ภาพถ่ายจากอีเบย์:

นี่คือคอมพิวเตอร์ที่มีคุณสมบัติครบถ้วนพร้อม Linux, RAM กิกะไบต์และโปรเซสเซอร์ 4 คอร์บนเครื่อง แผงพินจำนวน 40 พินอยู่ที่ขอบของบอร์ด ทำให้คุณสามารถเชื่อมต่ออุปกรณ์ต่อพ่วงต่างๆ ได้ (พินหาได้จากโค้ด เช่น ใน Python ไม่ต้องพูดถึง C/C++) นอกจากนี้ยังมี USB มาตรฐานในรูปแบบ ตัวเชื่อมต่อ 4 ตัว (คุณสามารถเชื่อมต่อ WiFi) นอกจากนี้ยังมี HDMI มาตรฐาน
พลังของบอร์ดนั้นเพียงพอแล้ว ไม่เพียงแต่จะแสดงเวลาเท่านั้น แต่ยังเรียกใช้เซิร์ฟเวอร์ HTTP เพื่อตั้งค่าพารามิเตอร์ผ่านเว็บอินเตอร์เฟส โหลดพยากรณ์อากาศผ่านอินเทอร์เน็ต และอื่นๆ โดยทั่วไปแล้ว มีที่ว่างมากมายสำหรับการบินแห่งจินตนาการ

มีปัญหาเพียงอย่างเดียวกับโปรเซสเซอร์ Raspberry (และ STM32) - พินใช้ตรรกะ 3V และอุปกรณ์ภายนอกส่วนใหญ่ (เช่น หน้าจอ LCD) ทำงาน "แบบเก่า" จาก 5V แน่นอน คุณสามารถเชื่อมต่อด้วยวิธีนี้ และโดยหลักการแล้วมันจะได้ผล แต่นี่ไม่ใช่วิธีที่ถูกต้องทั้งหมด และเป็นเรื่องน่าเสียดายที่จะทำลายกระดานราคา 50 ดอลลาร์ วิธีที่ถูกต้องคือการใช้ "ตัวแปลงระดับลอจิก" ซึ่งมีราคาเพียง 1-2 ดอลลาร์บน eBay
ภาพถ่ายจากอีเบย์:

ตอนนี้ก็เพียงพอที่จะเชื่อมต่ออุปกรณ์ของเราผ่านโมดูลดังกล่าวและพารามิเตอร์ทั้งหมดจะสอดคล้องกัน

อีพีเอส8266

วิธีการนี้ค่อนข้างแปลกใหม่ แต่ค่อนข้างมีแนวโน้มเนื่องจากความกะทัดรัดและต้นทุนในการแก้ปัญหาต่ำ ด้วยเงินเพียงเล็กน้อย (ประมาณ 4-5 เหรียญสหรัฐบน eBay) คุณสามารถซื้อโมดูล ESP8266 ที่มีโปรเซสเซอร์และ WiFi บนเครื่องได้
ภาพถ่ายจากอีเบย์:

เริ่มแรกโมดูลดังกล่าวมีจุดประสงค์เพื่อเป็นสะพาน WiFi สำหรับการแลกเปลี่ยนผ่านพอร์ตอนุกรม แต่ผู้ที่ชื่นชอบได้เขียนเฟิร์มแวร์ทางเลือกมากมายที่อนุญาตให้ทำงานกับเซ็นเซอร์ อุปกรณ์ i2c, PWM ฯลฯ ในทางสมมุติฐานค่อนข้างเป็นไปได้ที่จะรับเวลาจาก เซิร์ฟเวอร์ NTP และส่งออกผ่าน i2c ไปยังจอแสดงผล สำหรับผู้ที่ต้องการเชื่อมต่ออุปกรณ์ต่อพ่วงต่าง ๆ มากมาย มีบอร์ด NodeMCU พิเศษที่มีพินจำนวนมาก ราคาประมาณ 500 รูเบิล (แน่นอนบน eBay):

ข้อเสียอย่างเดียวคือ ESP8266 มี RAM น้อยมาก (ขึ้นอยู่กับเฟิร์มแวร์ตั้งแต่ 1 ถึง 32 KB) แต่สิ่งนี้ทำให้งานน่าสนใจยิ่งขึ้น โมดูล ESP8266 ใช้ลอจิก 3V ดังนั้นตัวแปลงระดับด้านบนจะมีประโยชน์เช่นกัน

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

แทนที่จะได้ข้อสรุป

ในที่สุดฉันก็ตัดสินใจใช้ Raspberry PI พร้อมตัวบ่งชี้ข้อความที่กำหนดค่าให้ทำงานกับกราฟิกหลอก (ซึ่งกลายเป็นว่าราคาถูกกว่าหน้าจอกราฟิกที่มีเส้นทแยงมุมเดียวกัน) ฉันถ่ายรูปหน้าจอนาฬิกาตั้งโต๊ะขณะเขียนบทความนี้

นาฬิกาแสดงเวลาที่แน่นอนที่นำมาจากอินเทอร์เน็ตและสภาพอากาศซึ่งอัปเดตจาก Yandex ทั้งหมดนี้เขียนด้วย Python และทำงานได้ค่อนข้างดีมาหลายเดือนแล้ว ในขณะเดียวกันเซิร์ฟเวอร์ FTP กำลังทำงานบนนาฬิกาซึ่งช่วยให้ (ควบคู่ไปกับการส่งต่อพอร์ตบนเราเตอร์) อัปเดตเฟิร์มแวร์ได้ไม่เพียงจากที่บ้านเท่านั้น แต่ยังรวมถึงจากทุกที่ที่มีอินเทอร์เน็ตด้วย โดยหลักการแล้ว ทรัพยากรของ Raspberry นั้นเพียงพอที่จะเชื่อมต่อกล้องและ/หรือไมโครโฟนที่มีความสามารถในการตรวจสอบอพาร์ทเมนต์จากระยะไกล หรือเพื่อควบคุมโมดูล/รีเลย์/เซ็นเซอร์ต่างๆ คุณสามารถเพิ่ม "สารพัด" ได้ทุกประเภท เช่น ไฟ LED แสดงสถานะจดหมายขาเข้า และอื่นๆ

PS: ทำไมต้องอีเบย์?
อย่างที่คุณเห็น มีการแจ้งราคาหรือรูปถ่ายจาก eBay สำหรับอุปกรณ์ทั้งหมด ทำไมจึงเป็นเช่นนี้? น่าเสียดายที่ร้านค้าของเรามักจะดำเนินตามหลักการ “ซื้อราคา 1 ดอลลาร์ ขายได้ 3 ดอลลาร์ และใช้ชีวิตด้วยเงิน 2 เปอร์เซ็นต์นั้น” เช่น ตัวอย่างง่ายๆ, ราคา Arduino Uno R3 (ณ เวลาที่เขียน) 3,600 รูเบิลในเซนต์ปีเตอร์สเบิร์กและ 350 รูเบิลบน eBay พร้อมจัดส่งฟรีจากจีน ความแตกต่างนั้นเป็นลำดับความสำคัญอย่างแท้จริง โดยไม่มีการพูดเกินจริงทางวรรณกรรมใดๆ ใช่คุณจะต้องรอหนึ่งเดือนเพื่อรับพัสดุที่ที่ทำการไปรษณีย์ แต่ฉันคิดว่าราคาที่แตกต่างกันนั้นคุ้มค่า อย่างไรก็ตามหากมีคนต้องการมันในตอนนี้และเร่งด่วนก็อาจมีทางเลือกในร้านค้าในพื้นที่ทุกคนตัดสินใจเองที่นี่

ฉันจำได้ว่า... สามสิบปีก่อน หกตัวบ่งชี้เป็นสมบัติเล็กๆ ใครก็ตามที่สามารถสร้างนาฬิกาโดยใช้ตรรกะ TTL ด้วยตัวบ่งชี้ดังกล่าวได้ถือเป็นผู้เชี่ยวชาญที่มีความซับซ้อนในสาขาของเขา

การเรืองแสงของตัวบ่งชี้การปล่อยก๊าซดูอบอุ่นขึ้น หลังจากนั้นไม่กี่นาที ฉันก็สงสัยว่าตะเกียงเก่าๆ เหล่านี้จะใช้งานได้หรือเปล่าและอยากทำอะไรบางอย่างกับตะเกียงเหล่านั้น ตอนนี้มันง่ายมากที่จะสร้างนาฬิกาแบบนี้ สิ่งที่คุณต้องมีคือไมโครคอนโทรลเลอร์...

เนื่องจากตอนนั้นฉันสนใจการเขียนโปรแกรมไมโครคอนโทรลเลอร์ในภาษาต่างๆ ระดับสูงฉันตัดสินใจเล่นสักหน่อย ฉันพยายามสร้างนาฬิกาง่ายๆ โดยใช้ตัวบ่งชี้การปล่อยก๊าซแบบดิจิทัล

วัตถุประสงค์ของการออกแบบ

ฉันตัดสินใจว่านาฬิกาควรมีตัวเลขหกหลักและควรตั้งเวลาด้วยปุ่มจำนวนขั้นต่ำ นอกจากนี้ ฉันอยากจะลองใช้ตระกูลไมโครคอนโทรลเลอร์ทั่วไปบางตระกูล ผู้ผลิตที่แตกต่างกัน- ฉันตั้งใจจะเขียนโปรแกรมด้วยภาษาซี

ตัวบ่งชี้การปล่อยก๊าซต้องใช้ไฟฟ้าแรงสูงในการทำงาน แต่ต้องรับมือกับอันตราย แรงดันไฟหลักฉันไม่ต้องการ นาฬิกาควรจะได้รับพลังงานจากแรงดันไฟฟ้า 12 โวลต์ที่ไม่เป็นอันตราย

เนื่องจากเป้าหมายหลักของฉันคือเกม คุณจะไม่พบคำอธิบายเกี่ยวกับการออกแบบกลไกหรือการวาดตัวถังที่นี่ หากต้องการคุณสามารถเปลี่ยนนาฬิกาได้ด้วยตัวเองตามรสนิยมและประสบการณ์ของคุณ

นี่คือสิ่งที่ฉันได้รับ:

  • การแสดงเวลา: HH MM SS
  • สัญญาณเตือน: HH MM --
  • โหมดแสดงเวลา: 24 ชั่วโมง
  • ความแม่นยำ ±1 วินาทีต่อวัน (ขึ้นอยู่กับคริสตัลควอตซ์)
  • แรงดันไฟจ่าย: 12 โวลต์
  • การบริโภคปัจจุบัน: 100 mA

แผนภาพนาฬิกา

สำหรับอุปกรณ์ที่มีจอแสดงผลดิจิตอลหกหลัก โหมดมัลติเพล็กซ์ถือเป็นวิธีแก้ปัญหาตามธรรมชาติ

วัตถุประสงค์ขององค์ประกอบส่วนใหญ่ของบล็อกไดอะแกรม (รูปที่ 1) มีความชัดเจนโดยไม่ต้องแสดงความคิดเห็น งานที่ไม่ได้มาตรฐานในระดับหนึ่งคือการสร้างตัวแปลงระดับ TTL ให้เป็นสัญญาณควบคุมตัวบ่งชี้ไฟฟ้าแรงสูง ไดรเวอร์แอโนดถูกสร้างขึ้นโดยใช้ทรานซิสเตอร์ NPN และ PNP แรงดันสูง แผนภาพนี้ยืมมาจาก Stefan Kneller (http://www.stefankneller.de)

ชิป 74141 TTL ประกอบด้วยตัวถอดรหัส BCD และไดรเวอร์ไฟฟ้าแรงสูงสำหรับแต่ละหลัก การสั่งซื้อชิปตัวเดียวอาจเป็นเรื่องยาก (แต่ไม่รู้ว่ามีใครทำแล้วหรือยัง) แต่ถ้าคุณพบว่า ตัวชี้วัดการปล่อยก๊าซ, 74141 อาจจะอยู่ที่ไหนสักแห่งใกล้เคียง :-) ในช่วงเวลาของตรรกะ TTL ไม่มีทางเลือกอื่นนอกจากชิป 74141 ดังนั้นลองหาที่ไหนสักแห่ง

ตัวบ่งชี้ต้องการแรงดันไฟฟ้าประมาณ 170 V มันไม่สมเหตุสมผลเลยที่จะพัฒนาวงจรพิเศษสำหรับตัวแปลงแรงดันไฟฟ้าเนื่องจากมีชิปบูสต์คอนเวอร์เตอร์จำนวนมาก ฉันเลือก IC34063 ราคาไม่แพงและมีจำหน่ายทั่วไป วงจรตัวแปลงถูกคัดลอกเกือบทั้งหมดจากแผ่นข้อมูล MC34063 เพิ่งเพิ่มสวิตช์ไฟ T13 เข้าไป สวิตช์ภายในไม่เหมาะกับไฟฟ้าแรงสูงเช่นนี้ ฉันใช้โช้คเป็นตัวเหนี่ยวนำสำหรับตัวแปลง ดังแสดงในรูปที่ 2; เส้นผ่านศูนย์กลาง 8 มม. และความยาว 10 มม.

ประสิทธิภาพของตัวแปลงค่อนข้างดี และแรงดันไฟขาออกค่อนข้างปลอดภัย ที่กระแสโหลด 5 mA แรงดันเอาต์พุตจะลดลงเหลือ 60 V R32 ทำหน้าที่เป็นตัวต้านทานตรวจจับกระแส

เพื่อขับเคลื่อนลอจิก จะใช้ตัวควบคุมเชิงเส้น U4 มีพื้นที่บนวงจรและบอร์ดสำหรับแบตเตอรี่สำรอง (3.6 V - NiMH หรือ NiCd) D7 และ D8 เป็นไดโอด Schottky และตัวต้านทาน R37 ใช้สำหรับจำกัด กำลังชาร์จปัจจุบันตามลักษณะของแบตเตอรี่ หากคุณกำลังสร้างนาฬิกาเพื่อความสนุกสนาน คุณไม่จำเป็นต้องใช้แบตเตอรี่ D7, D8 และ R37

วงจรสุดท้ายแสดงในรูปที่ 3

รูปที่ 3.

ปุ่มตั้งเวลาเชื่อมต่อผ่านไดโอด ตรวจสอบสถานะของปุ่มโดยการตั้งค่าตรรกะ "1" ที่เอาต์พุตที่เกี่ยวข้อง คุณสมบัติพิเศษคือตัวปล่อย Piezo จะเชื่อมต่อกับเอาต์พุตของไมโครคอนโทรลเลอร์ หากต้องการปิดเสียงแหลมที่น่ารังเกียจนั้น ให้ใช้สวิตช์อันเล็ก ค้อนค่อนข้างจะเหมาะกับสิ่งนี้ แต่นี่เป็นทางเลือกสุดท้าย :-)

รายการส่วนประกอบวงจร รูป แผงวงจรพิมพ์และแผนผังเค้าโครงสามารถพบได้ในส่วน "ดาวน์โหลด"

ซีพียู

ไมโครคอนโทรลเลอร์เกือบทุกตัวที่มีพินเพียงพอจะสามารถควบคุมอุปกรณ์ง่ายๆ นี้ได้โดยขั้นต่ำ ปริมาณที่ต้องการซึ่งแสดงไว้ในตารางที่ 1

ตารางที่ 1.
การทำงาน ข้อสรุป
โภชนาการ 2
เครื่องสะท้อนควอตซ์ 2
การจัดการแอโนด 6
ไดร์เวอร์ 74141 4
อินพุตปุ่ม 1
ตัวปล่อย Piezo 1
ทั้งหมด 16

ผู้ผลิตแต่ละรายพัฒนาตระกูลและประเภทของไมโครคอนโทรลเลอร์ของตนเอง ตำแหน่งของพินเป็นรายบุคคลสำหรับแต่ละประเภท ฉันพยายามออกแบบบอร์ดสากลสำหรับไมโครคอนโทรลเลอร์หลายประเภท บอร์ดมีช่องเสียบ 20 พิน ด้วยสายจัมเปอร์เพียงไม่กี่เส้น คุณสามารถปรับให้เข้ากับไมโครคอนโทรลเลอร์ต่างๆ ได้

ไมโครคอนโทรลเลอร์ที่ทดสอบในวงจรนี้มีดังต่อไปนี้ คุณสามารถทดลองกับประเภทอื่นได้ ข้อดีของโครงร่างคือความสามารถในการใช้โปรเซสเซอร์ที่แตกต่างกัน ตามกฎแล้วนักวิทยุสมัครเล่นจะใช้ไมโครคอนโทรลเลอร์ตระกูลเดียวและมีโปรแกรมเมอร์และเครื่องมือซอฟต์แวร์ที่เกี่ยวข้อง อาจมีปัญหากับไมโครคอนโทรลเลอร์จากผู้ผลิตรายอื่นดังนั้นฉันจึงให้โอกาสคุณเลือกโปรเซสเซอร์จากตระกูลที่คุณชื่นชอบ

ข้อมูลเฉพาะทั้งหมดของการเปิดไมโครคอนโทรลเลอร์ต่างๆ จะแสดงอยู่ในตาราง 2...5 และรูปที่ 4...7

ตารางที่ 2.
ฟรีสเกล
พิมพ์ MC68HC908QY1
เครื่องสะท้อนควอตซ์ 12 เมกะเฮิรตซ์
ตัวเก็บประจุ C1, C2 22 พิโคเอฟ
โปรแกรม freescale.zip
(ดูส่วน "ดาวน์โหลด")
การตั้งค่า

หมายเหตุ: เชื่อมต่อตัวต้านทาน 10 MΩ แบบขนานกับเครื่องสะท้อนเสียงควอตซ์

ตารางที่ 3.
ไมโครชิป
พิมพ์ PIC16F628A
เครื่องสะท้อนควอตซ์ 32.768 กิโลเฮิร์ตซ์
ตัวเก็บประจุ C1, C2 22 พิโคเอฟ
โปรแกรม pic628.zip
(ดูส่วน "ดาวน์โหลด")
การตั้งค่า นานาชาติ เครื่องกำเนิด 4 MHz - I/O RA6,
ปิด MCLR, ปิด WDT, ปิด LVP,
ปิด BROUT, ปิด CP, ปิด PWRUP

หมายเหตุ: ไมโครวงจรจะต้องหมุน 180° ในซ็อกเก็ต

ตารางที่ 4.
แอตเมล
พิมพ์ เอทีนี่2313
เครื่องสะท้อนควอตซ์ 12 เมกะเฮิรตซ์
ตัวเก็บประจุ C1, C2 15 พิโคเอฟ
โปรแกรม attiny.zip
(ดูส่วน "ดาวน์โหลด")
การตั้งค่า ตร.ม. ออสซิลเลเตอร์ 8 MHz รีเซ็ตเปิด

หมายเหตุ: เพิ่ม ส่วนประกอบเอสเอ็มดี R และ C ไปยังพิน RESET (10 kΩ และ 100 nF)

ตารางที่ 5.
แอตเมล
พิมพ์ AT89C2051
เครื่องสะท้อนควอตซ์ 12 เมกะเฮิรตซ์
ตัวเก็บประจุ C1, C2 22 พิโคเอฟ
โปรแกรม ที่2051.zip
(ดูส่วน "ดาวน์โหลด")
การตั้งค่า --

หมายเหตุ: เพิ่มส่วนประกอบ SMD R และ C ไปที่พิน RESET (10 kΩ และ 100 nF) เชื่อมต่อพินที่มีเครื่องหมายดอกจันเข้ากับพาวเวอร์บัส +Ub ผ่านตัวต้านทาน SMD 3.3 kOhm

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

ซอร์สโค้ดประกอบด้วยสองส่วน การทำงาน หลัก()กำหนดค่าพอร์ตและเริ่มจับเวลาที่สร้างสัญญาณขัดจังหวะ หลังจากนั้นโปรแกรมจะสแกนปุ่มกดและตั้งเวลาและค่าสัญญาณเตือนที่เหมาะสม ในลูปหลักเวลาปัจจุบันจะถูกเปรียบเทียบกับนาฬิกาปลุกและตัวส่งสัญญาณเพียโซจะเปิดอยู่

ส่วนที่สองเป็นรูทีนย่อยสำหรับจัดการการขัดจังหวะตัวจับเวลา รูทีนย่อยที่ถูกเรียกทุกๆ มิลลิวินาที (ขึ้นอยู่กับความสามารถของตัวจับเวลา) จะเพิ่มตัวแปรเวลาและควบคุมตัวเลขที่แสดง นอกจากนี้ยังตรวจสอบสถานะของปุ่มต่างๆ

การรันวงจร

เมื่อติดตั้งส่วนประกอบและตั้งค่า ให้เริ่มจากแหล่งพลังงาน ประสานตัวควบคุม U4 และส่วนประกอบโดยรอบ ตรวจสอบแรงดันไฟฟ้า 5 V สำหรับ U2 และ 4.6 V สำหรับ U1 ขั้นตอนต่อไปคือการประกอบเครื่องแปลงไฟฟ้าแรงสูง ใช้ตัวต้านทานทริมเมอร์ R36 เพื่อตั้งค่าแรงดันไฟฟ้าเป็น 170 V หากช่วงการปรับไม่เพียงพอ ให้เปลี่ยนความต้านทานของตัวต้านทาน R33 เล็กน้อย ตอนนี้ติดตั้งชิป U2 ทรานซิสเตอร์และตัวต้านทานของวงจรแอโนดและไดรเวอร์ดิจิทัล เชื่อมต่ออินพุต U2 เข้ากับบัส GND และเชื่อมต่อตัวต้านทานตัวใดตัวหนึ่ง R25 - R30 ในอนุกรมเข้ากับพาวเวอร์บัส +Ub หมายเลขตัวบ่งชี้ควรสว่างขึ้นในตำแหน่งที่เกี่ยวข้อง บน ขั้นตอนสุดท้ายในการตรวจสอบวงจร ให้เชื่อมต่อพิน 19 ของไมโครวงจร U1 เข้ากับกราวด์ - ตัวปล่อยเพียโซควรส่งเสียงบี๊บ

คุณจะพบซอร์สโค้ดและโปรแกรมที่คอมไพล์แล้วในไฟล์ ZIP ที่เกี่ยวข้องในส่วน "ดาวน์โหลด" หลังจากแฟลชโปรแกรมลงในไมโครคอนโทรลเลอร์แล้ว ให้ตรวจสอบแต่ละพินในตำแหน่ง U1 อย่างระมัดระวัง และติดตั้งสายไฟและจัมเปอร์บัดกรีที่จำเป็น ดูภาพไมโครคอนโทรลเลอร์ด้านบน หากไมโครคอนโทรลเลอร์ได้รับการตั้งโปรแกรมและเชื่อมต่ออย่างถูกต้อง เครื่องกำเนิดไฟฟ้าควรเริ่มทำงาน คุณสามารถตั้งเวลาและการปลุกได้ ความสนใจ! มีพื้นที่บนกระดานสำหรับอีกหนึ่งปุ่ม - นี่คือปุ่มสำรองสำหรับการขยายในอนาคต :-)

ตรวจสอบความถูกต้องของความถี่ของเครื่องกำเนิดไฟฟ้า หากไม่อยู่ในช่วงที่คาดไว้ให้เปลี่ยนค่าของตัวเก็บประจุ C1 และ C2 เล็กน้อย (ประสานตัวเก็บประจุขนาดเล็กขนานหรือแทนที่ด้วยตัวอื่น) ความแม่นยำของนาฬิกาควรปรับปรุง

บทสรุป

โปรเซสเซอร์ 8 บิตขนาดเล็กค่อนข้างเหมาะสำหรับภาษาระดับสูง เดิมที C ไม่ได้มีไว้สำหรับไมโครคอนโทรลเลอร์ขนาดเล็ก แต่สำหรับการใช้งานทั่วไป คุณสามารถใช้งานได้ตามปกติ ภาษาแอสเซมบลีเหมาะกว่าสำหรับงานที่ซับซ้อนซึ่งต้องใช้เวลาวิกฤตหรือโหลด CPU สูงสุด สำหรับนักวิทยุสมัครเล่นส่วนใหญ่ คอมไพเลอร์ C เวอร์ชันฟรีและแชร์แวร์ที่จำกัดนั้นเหมาะสม

การเขียนโปรแกรม C จะเหมือนกันสำหรับไมโครคอนโทรลเลอร์ทั้งหมด คุณต้องทราบฟังก์ชันฮาร์ดแวร์ (รีจิสเตอร์และอุปกรณ์ต่อพ่วง) ของไมโครคอนโทรลเลอร์ประเภทที่เลือก โปรดใช้ความระมัดระวังในการใช้งานบิต - ภาษา C ไม่เหมาะสำหรับการจัดการแต่ละบิต ดังที่เห็นได้ในตัวอย่างต้นฉบับเมื่อใช้กับ ATtiny

คุณทำเสร็จแล้วเหรอ? แล้วปรับมาพิจารณาหลอดสุญญากาศและดู...

...วันเก่าๆกลับมาแล้ว... :-)

หมายเหตุบรรณาธิการ

อะนาล็อกที่สมบูรณ์ของ SN74141 คือไมโครวงจร K155ID1 ที่ผลิตโดยซอฟต์แวร์ Minsk Integral
ไมโครวงจรสามารถพบได้ง่ายบนอินเทอร์เน็ต

ด้วยการแสดงผลแบบไดนามิก ไม่มีข้อตำหนิเกี่ยวกับการทำงานของนาฬิกา: การเคลื่อนไหวที่แม่นยำ การตั้งค่าที่สะดวก แต่ข้อเสียใหญ่ประการหนึ่งคือไฟ LED มองเห็นได้ยากในเวลากลางวัน เพื่อแก้ปัญหานี้ ฉันจึงเปลี่ยนไปใช้จอแสดงผลแบบคงที่และไฟ LED ที่สว่างกว่า เช่นเคยค่ะ ซอฟต์แวร์ขอบคุณมากครับคุณSiri.. โดยทั่วไปแล้ว ฉันขอแจ้งให้คุณทราบถึงนาฬิกากลางแจ้งขนาดใหญ่ที่มีจอแสดงผลแบบคงที่ ฟังก์ชั่นการตั้งค่ายังคงเหมือนเดิมในนาฬิการุ่นก่อนหน้า

มีจอแสดงผลสองจอ ได้แก่ จอแสดงผลหลัก (ด้านนอกบนถนน) และจอแสดงผลเสริมบนตัวบ่งชี้ - ในอาคาร บนตัวเครื่อง ความสว่างสูงทำได้โดยใช้ LED ที่ให้ความสว่างเป็นพิเศษ โดยมีกระแสไฟทำงาน 50mA และชิปไดรเวอร์

แผนภาพวงจรของนาฬิกาอิเล็กทรอนิกส์กลางแจ้งพร้อมไฟ LED สว่าง

หากต้องการแฟลชเฟิร์มแวร์ตัวควบคุมพร้อมไฟล์และใช้การตั้งค่าฟิวส์ต่อไปนี้:

แผงวงจรพิมพ์ของนาฬิกา ชุดควบคุม และโมดูลภายนอก ในรูปแบบ LAY


คุณสมบัติของวงจรนาฬิกานี้:

- รูปแบบการแสดงเวลาแบบ 24 ชั่วโมง
- การแก้ไขความแม่นยำในการเดินทางแบบดิจิทัล
- มีการควบคุมแหล่งจ่ายไฟหลักในตัว
- หน่วยความจำไมโครคอนโทรลเลอร์แบบไม่ลบเลือน
- มีเทอร์โมมิเตอร์วัดอุณหภูมิได้ในช่วง -55 - 125 องศา
- สามารถสลับแสดงข้อมูลเกี่ยวกับเวลาและอุณหภูมิบนตัวบ่งชี้ได้


การกดปุ่ม SET_TIME จะย้ายตัวบ่งชี้เป็นวงกลมจากโหมดนาฬิกาหลัก (แสดงเวลาปัจจุบัน) ในทุกโหมด การกดปุ่มบวก/ลบค้างไว้จะเป็นการเร่งการติดตั้ง การตั้งค่าจะเปลี่ยนหลังจากผ่านไป 10 วินาที การเปลี่ยนแปลงครั้งล่าสุดค่าจะถูกเขียนลงในหน่วยความจำแบบไม่ลบเลือน (EEPROM) และจะถูกอ่านจากที่นั่นเมื่อเปิดเครื่องอีกครั้ง


ข้อดีอีกประการหนึ่งของตัวเลือกที่เสนอคือความสว่างเปลี่ยนไป ตอนนี้ในสภาพอากาศที่มีแดดจัด ความสว่างก็ยอดเยี่ยม จำนวนสายไฟลดลงจาก 14 เป็น 5 ความยาวของสายไฟไปยังจอแสดงผลหลัก (กลางแจ้ง) คือ 20 เมตร ฉันพอใจกับประสิทธิภาพของนาฬิกาอิเล็กทรอนิกส์ มันกลายเป็นนาฬิกาที่ใช้งานได้เต็มรูปแบบทั้งกลางวันและกลางคืน ขอแสดงความนับถือ Soir-Alexandrovich

คุณสามารถพบนาฬิกาดิจิตอลอิเล็กทรอนิกส์รุ่นต่างๆ และตัวเลือกต่างๆ มากมายลดราคา แต่นาฬิกาส่วนใหญ่ได้รับการออกแบบสำหรับใช้ภายในอาคาร เนื่องจากมีจำนวนน้อย อย่างไรก็ตาม บางครั้งจำเป็นต้องวางนาฬิกาไว้บนถนน เช่น บนผนังบ้าน หรือในสนามกีฬา จัตุรัส ซึ่งผู้คนจำนวนมากจะมองเห็นนาฬิกาได้จากระยะไกล เพื่อจุดประสงค์นี้ วงจรของนาฬิกา LED ขนาดใหญ่นี้ได้รับการพัฒนาและประกอบได้สำเร็จ ซึ่งคุณสามารถเชื่อมต่อ (ผ่านสวิตช์ทรานซิสเตอร์ภายใน) ไฟแสดงสถานะ LED ได้ตามต้องการ ขนาดใหญ่- เพิ่มขึ้น แผนผังคุณสามารถคลิกที่มัน:

คำอธิบายของนาฬิกา

  1. ดู. ในโหมดนี้ก็จะมี มุมมองมาตรฐานแสดงเวลา มีการแก้ไขความแม่นยำของนาฬิกาแบบดิจิทัล
  2. เทอร์โมมิเตอร์ ในกรณีนี้ อุปกรณ์จะวัดอุณหภูมิของห้องหรืออากาศภายนอกจากเซ็นเซอร์ตัวเดียว ช่วงตั้งแต่ -55 ถึง +125 องศา
  3. มีการควบคุมแหล่งจ่ายไฟ
  4. แสดงข้อมูลบนตัวบ่งชี้สลับกัน - นาฬิกาและเครื่องวัดอุณหภูมิ
  5. หากต้องการบันทึกการตั้งค่าและการตั้งค่าเมื่อไฟ 220V หายไป จะใช้หน่วยความจำแบบไม่ลบเลือน


พื้นฐานของอุปกรณ์คือ ATMega8 MK ซึ่งกระพริบโดยการตั้งฟิวส์ตามตาราง:

การดำเนินงานและการจัดการนาฬิกา

เมื่อคุณเปิดนาฬิกาเป็นครั้งแรก หน้าจอโฆษณาจะปรากฏขึ้นบนหน้าจอ หลังจากนั้นจะเปลี่ยนเพื่อแสดงเวลา การกดปุ่ม SET_TIMEตัวบ่งชี้จะไปเป็นวงกลมจากโหมดหลัก:

  • โหมดการแสดงผลนาทีและวินาที หากอยู่ในโหมดนี้คุณกดปุ่มพร้อมกัน พลัสและ ลบจากนั้นวินาทีจะถูกรีเซ็ต
  • การตั้งนาทีของเวลาปัจจุบัน
  • การตั้งนาฬิกาเวลาปัจจุบัน
  • เครื่องหมาย ที- การตั้งค่าระยะเวลาของการแสดงนาฬิกา
  • เครื่องหมาย โอ- แสดงเวลาของสัญลักษณ์แสดงอุณหภูมิภายนอก (ออก);
  • จำนวนการแก้ไขความแม่นยำของนาฬิการายวัน เครื่องหมาย และค่าแก้ไข ตั้งค่าขีดจำกัดตั้งแต่ -25 ถึง 25 วินาที ค่าที่เลือกจะถูกบวกหรือลบออกจากเวลาปัจจุบันทุกวันที่ 0 ชั่วโมง 0 นาที 30 วินาที สำหรับรายละเอียดเพิ่มเติม โปรดอ่านคำแนะนำที่อยู่ในไฟล์เก็บถาวรพร้อมไฟล์เฟิร์มแวร์และแผงวงจรพิมพ์

การตั้งนาฬิกา

ขณะที่กดปุ่มค้างไว้ พลัส/ลบเราทำการเร่งการตั้งค่า หลังจากเปลี่ยนการตั้งค่าใด ๆ หลังจากผ่านไป 10 วินาทีค่าใหม่จะถูกเขียนลงในหน่วยความจำแบบไม่ลบเลือนและจะถูกอ่านจากที่นั่นเมื่อเปิดเครื่องอีกครั้ง การตั้งค่าใหม่จะมีผลระหว่างการติดตั้ง ไมโครคอนโทรลเลอร์จะตรวจสอบการมีอยู่ของพลังงานหลัก เมื่อปิดเครื่อง อุปกรณ์จะใช้พลังงานจากแหล่งภายใน แผนภาพโมดูลพลังงานสำรองแสดงอยู่ด้านล่าง:


เพื่อลดการใช้กระแสไฟ ตัวบ่งชี้ เซ็นเซอร์ และปุ่มต่างๆ จะถูกปิด แต่นาฬิกายังคงนับเวลาต่อไป ทันทีที่แรงดันไฟฟ้าหลัก 220V ปรากฏขึ้น ฟังก์ชั่นบ่งชี้ทั้งหมดจะถูกกู้คืน


เนื่องจากอุปกรณ์นี้ถูกมองว่าเป็นนาฬิกา LED ขนาดใหญ่ จึงมีจอแสดงผลสองจอ ได้แก่ LED ขนาดใหญ่สำหรับใช้งานบนท้องถนน และ LCD ขนาดเล็กเพื่อให้ติดตั้งจอแสดงผลหลักได้ง่าย จอแสดงผลขนาดใหญ่อยู่ห่างจากชุดควบคุมหลายเมตรและเชื่อมต่อด้วยสายเคเบิล 8 เส้นสองเส้น ในการควบคุมขั้วบวกของตัวบ่งชี้ภายนอกจะใช้สวิตช์ทรานซิสเตอร์ตามแผนภาพที่ให้ไว้ในไฟล์เก็บถาวร ผู้เขียนโครงการ: Alexandrovich & SOIR

  • ส่วนของเว็บไซต์