สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่จำเป็น
- ขั้นตอนที่ 2: รหัสลอจิกและการแสดงผล
- ขั้นตอนที่ 3: ขับเคลื่อนจอแสดงผลด้วยไมโครคอนโทรลเลอร์
- ขั้นตอนที่ 4: ทำไมต้องมัลติเพล็กซ์
- ขั้นตอนที่ 5: ทำอย่างไรจึงจะบรรลุเป้าหมายนี้
- ขั้นตอนที่ 6: อัลกอริธึมมัลติเพล็กซ์
วีดีโอ: นาฬิกาจับเวลาใช้ Pic18f4520 ใน Proteus ด้วย 7 ส่วน: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ฉันเพิ่งเริ่มทำงานกับตัวควบคุม pic เพื่อนคนหนึ่งของฉันขอให้ฉันสร้างนาฬิกาจับเวลาจากมัน ดังนั้นฉันจึงไม่มีอิมเมจฮาร์ดแวร์ที่จะแชร์ ฉันเขียนโค้ดและจำลองมันบนซอฟต์แวร์ Proteus
ที่นี่ฉันได้แบ่งปันแผนผังสำหรับสิ่งเดียวกัน
สามมิลลิวินาทีตัวแปร, วินาที, นาทีถูกกำหนด
ที่นี่เราใช้ตัวจับเวลาขัดจังหวะ 10 ms ทุกๆ 1,000 มิลลิวินาที ตัวแปรวินาทีจะเพิ่มขึ้น ตัวแปรทุกๆ 60 วินาทีจะเพิ่มขึ้น
ขั้นตอนที่ 1: สิ่งที่จำเป็น
1 pic18f4520 คอนโทรลเลอร์
2 เจ็ดส่วนแสดง
3 bc547 ทรานซิสเตอร์
4 สวิตช์สำหรับเริ่ม/หยุด/รีเซ็ต
ตัวต้านทาน 5 ตัว 330E, 10K, 1K
6 ดาวน์โหลด mikroC ลงรูป
7 ดาวน์โหลด โพรทูส
ขั้นตอนที่ 2: รหัสลอจิกและการแสดงผล
Seven Segment Display คืออะไร? Seven Segment Display (SSD) เป็นหนึ่งในจอแสดงผลที่ใช้กันทั่วไป ราคาถูก และใช้งานง่าย ดูเหมือนว่าด้านบน
ที่นี่เราต้องใช้ประเภทแคโทดทั่วไปของจอแสดงผล 7 ส่วน - ใน SSD ประเภทแคโทดทั่วไปขั้ว –ve ของไฟ LED ทั้งหมดจะเชื่อมต่อกับพิน 'COM' ส่วนต่างๆ สามารถสว่างขึ้นได้เมื่อกำหนด '1' ให้กับส่วน LED ตามลำดับ และกราวด์เชื่อมต่อกับส่วนร่วม ภายในได้รับใน รูปที่ 2
ขั้นตอนที่ 3: ขับเคลื่อนจอแสดงผลด้วยไมโครคอนโทรลเลอร์
ในวงจรของฉัน ฉันใช้ทรานซิสเตอร์ NPN BC547
สำหรับการใช้งานอย่างง่ายของ BJT เป็นสวิตช์ ทางแยกอีซีแอล-คอลเลคเตอร์จะลัดวงจรเมื่อมีสัญญาณอินพุตที่เทอร์มินัลฐาน มิฉะนั้น จะยังคงถูกตัดการเชื่อมต่อ ควรให้อินพุตผ่านตัวต้านทานที่เหมาะสม
ขั้นตอนที่ 4: ทำไมต้องมัลติเพล็กซ์
บ่อยครั้งที่เราจำเป็นต้องใช้ SSD สอง สามตัวขึ้นไป และนั่นก็เช่นกันโดยใช้ MCU เดียว แต่ปัญหาหนึ่งที่เราเผชิญคือการขาดพิน I/O ใน MCU เนื่องจาก SSD หนึ่งตัวจะใช้ 8 พิน และ SSD สามตัว จะใช้เวลา 24 พิน ในรูปที่ 18 เรามีพิน I/O เพียง 48 พิน แล้วทางแก้คืออะไร?
ความเป็นไปได้อย่างหนึ่งคือเราใช้ MCU ที่ใหญ่กว่าพร้อมพิน I/O มากกว่า แต่เรายังคงจำกัดการใช้งาน SSD ได้สูงสุด 3 ตัวเท่านั้น วิธีแก้ปัญหาที่ดีและแนะนำอีกวิธีหนึ่งสำหรับปัญหานี้คือการมัลติเพล็กซ์ของ Seven Segment Displays
Wikipedia กล่าวว่า 'ในเครือข่ายโทรคมนาคมและคอมพิวเตอร์ มัลติเพล็กซ์ (หรือที่เรียกว่า muxing) เป็นวิธีการที่สัญญาณข้อความแอนะล็อกหรือสตรีมข้อมูลดิจิทัลหลายรายการรวมกันเป็นสัญญาณเดียวบนสื่อที่ใช้ร่วมกัน จุดมุ่งหมายคือการแบ่งปันทรัพยากรที่มีราคาแพง 'สิ่งที่เราหมายถึงโดยมัลติเพล็กซ์ของจอแสดงผลเจ็ดส่วนคือเราจะใช้พอร์ตเอาต์พุตเพียง 7 พอร์ตเพื่อให้แสดงผลบน SSD ทั้งหมด
ขั้นตอนที่ 5: ทำอย่างไรจึงจะบรรลุเป้าหมายนี้
ที่นี่ เราจะใช้ 'ความคงอยู่ของวิสัยทัศน์' ตอนนี้คุณต้องมีข้ามเทอมนี้มาก่อน ใช่ นี่เป็นเทคนิคเดียวกับที่ใช้ในการถ่ายทำภาพยนตร์ (แสดงภาพได้เร็วจนสมองของเราไม่สามารถแยกแยะความแตกต่างระหว่างภาพสองภาพที่ต่อเนื่องกันได้) ในทำนองเดียวกัน เมื่อเรา mux SSD มากกว่าหนึ่งตัว เราจะแสดง SSD ตัวเดียวในแต่ละครั้ง และสลับไปมาอย่างรวดเร็วจนสมองของเราไม่สามารถแยกแยะระหว่าง SSD เหล่านี้ได้
สมมติว่าจอแสดงผลแต่ละจอทำงานครั้งละ 5 มิลลิวินาที กล่าวคือ หน้าจอสว่าง 1/0.0045 ครั้งต่อวินาที ซึ่งเท่ากับ 222 ครั้ง/วินาทีโดยประมาณ ดวงตาของเราไม่สามารถรับรู้ถึงการเปลี่ยนแปลงได้เร็วขนาดนี้ ดังนั้นสิ่งที่เราเห็นก็คือจอแสดงผลทั้งหมดทำงานพร้อมกัน สิ่งที่เกิดขึ้นจริงในฮาร์ดแวร์คือ MCU ให้ '1' กับพิน (จำไว้ว่าให้ '1' กับฐานของกางเกงขาสั้น BJT ที่ทางแยก Collector และ emitter) ซึ่งเชื่อมต่อกับฐานของทรานซิสเตอร์ของ จอแสดงผลที่เกี่ยวข้อง เก็บพอร์ต 'เปิด' ไว้ 5 มิลลิวินาที แล้วปิดอีกครั้ง ขั้นตอนนี้จะวนซ้ำไม่รู้จบ เพื่อให้เราเห็นการแสดงผลอย่างต่อเนื่อง
ขั้นตอนที่ 6: อัลกอริธึมมัลติเพล็กซ์
กำหนดพอร์ตสองพอร์ตในโค้ด หนึ่งพอร์ตสำหรับพอร์ตข้อมูลเซ็กเมนต์และพอร์ตควบคุมเซ็กเมนต์
เคล็ดลับนี่คือคุณแสดงข้อมูลทั้ง 7 ส่วน และเปิดใช้งานพินควบคุมหนึ่งอันที่คุณต้องแสดงข้อมูลนั้น เปลี่ยนข้อมูลและพินควบคุมกะ
ที่นี่ในคำแนะนำนี้เราใช้มัลติเพล็กซ์ 6 หลักเพียงผ่านไฟล์ c ที่แนบมาและคุณจะได้รับการล้าง
แนะนำ:
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
KS-สวน:ภาพรวม: 9 ขั้นตอน
KS-Garden:ภาพรวม: KS-Garden สามารถใช้ในการรดน้ำ/ระบายอากาศ/ให้แสงสว่างแก่พืชสวน/เรือนกระจกในสวนหลังบ้านหรือพืชกล่องในร่มของคุณ (การออกแบบโมดูลาร์) ระบบ KS-Garden ประกอบด้วยโมดูลหลักดังต่อไปนี้ - หลัก กล่องระบบ - Relais และกล่องจ่ายไฟ
ต้นแบบโครงการสัญญาณไฟจราจรตาม Atmega16 โดยใช้จอแสดงผล 7 ส่วน (การจำลอง Proteus): 5 ขั้นตอน
ต้นแบบโครงการสัญญาณไฟจราจรตาม Atmega16 โดยใช้จอแสดงผล 7 ส่วน (การจำลอง Proteus): ในโครงการนี้ เราจะสร้างโครงการสัญญาณไฟจราจรตาม Atmega16 ที่นี่เราได้นำ 7 ส่วนและ 3 LEDs เพื่อแสดงสัญญาณไฟจราจร
เซ็นเซอร์สัมผัสที่ง่าย ราคาถูก และเชื่อถือได้เพียง 3 ส่วน: 3 ขั้นตอน
เซ็นเซอร์สัมผัสที่ง่าย ราคาถูก และเชื่อถือได้โดยมีเพียง 3 ส่วนเท่านั้น: ควบคุมอุปกรณ์อิเล็กทรอนิกส์ทุกชนิดด้วยการสัมผัสเพียงนิ้วเดียวก็มีประโยชน์มาก ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็นถึงวิธีสร้างเซ็นเซอร์สัมผัสที่ง่าย แต่ทรงพลังซึ่งทำงานได้อย่างไร้ที่ติ สิ่งที่คุณต้องมีคือทรานซิสเตอร์มาตรฐานและสอง
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง