สารบัญ:
- ขั้นตอนที่ 1: รับ PCB สำหรับโครงการของคุณที่ผลิต
- ขั้นตอนที่ 2: เกี่ยวกับการลงทะเบียนกะ 74HC595
- ขั้นตอนที่ 3: ปักหมุดไดอะแกรมของ 74HC595
- ขั้นตอนที่ 4: เชื่อมต่อจอแสดงผลกับ Arduino ผ่าน 74HC595
- ขั้นตอนที่ 5: การเข้ารหัส Arduino เพื่อควบคุมการแสดงผลเจ็ดส่วน
- ขั้นตอนที่ 6: คุณสามารถทำสิ่งนี้ด้วยตัวคุณเอง
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เฮ้ ว่าไงพวก! Akarsh ที่นี่จาก CETech
Seven Segment Displays ดูดีและเป็นเครื่องมือที่มีประโยชน์ในการแสดงข้อมูลในรูปของตัวเลขเสมอ แต่มีข้อเสียอยู่คือเมื่อเราควบคุม Seven Segment Display ในความเป็นจริงเรากำลังควบคุม LED 8 แบบที่แตกต่างกันและเพื่อควบคุม แต่ละรายการเราต้องการเอาต์พุตที่แตกต่างกัน แต่ถ้าเราใช้พิน GPIO แยกต่างหากสำหรับ LED แต่ละดวงบนจอแสดงผลเจ็ดส่วน เราอาจประสบปัญหาการขาดแคลนพินบนไมโครคอนโทรลเลอร์ของเรา และท้ายที่สุด เราจะไม่มีที่สำหรับทำการเชื่อมต่อที่สำคัญอื่นๆ นี่อาจดูเหมือนปัญหาใหญ่สำหรับคุณ แต่วิธีแก้ปัญหานี้ง่ายมาก เราแค่ต้องใช้ IC ลงทะเบียนกะ 74HC595 74HC595 IC ตัวเดียวสามารถใช้เพื่อให้เอาต์พุตไปยังจุดต่างๆ ได้ 8 จุด นอกจากนั้น เรายังสามารถเชื่อมต่อไอซีเหล่านี้จำนวนหนึ่งและใช้เพื่อควบคุมอุปกรณ์จำนวนมากที่ใช้พิน GPIO เพียง 3 พินของไมโครคอนโทรลเลอร์
ดังนั้นในโครงการนี้ เราจะใช้ 74HC595 Shift register IC กับ Arduino เพื่อควบคุมการแสดงผล Seven Segment โดยใช้หมุด GPIO 3 ตัวของ Arduino และทำความเข้าใจว่า IC นี้จะเป็นเครื่องมือที่ยอดเยี่ยมได้อย่างไร
ขั้นตอนที่ 1: รับ PCB สำหรับโครงการของคุณที่ผลิต
คุณต้องตรวจสอบ PCBWAY เพื่อสั่งซื้อ PCB ออนไลน์ในราคาถูก!
คุณจะได้รับ PCB คุณภาพดี 10 ชิ้นที่ผลิตและจัดส่งถึงมือคุณในราคาถูก คุณยังจะได้รับส่วนลดสำหรับการจัดส่งในการสั่งซื้อครั้งแรกของคุณ อัปโหลดไฟล์ Gerber ของคุณไปยัง PCBWAY เพื่อผลิตไฟล์เหล่านั้นด้วยคุณภาพที่ดีและเวลาตอบสนองที่รวดเร็ว ตรวจสอบฟังก์ชั่น Gerber viewer ออนไลน์ของพวกเขา ด้วยคะแนนสะสม คุณจะได้รับของฟรีจากร้านขายของกระจุกกระจิก
ขั้นตอนที่ 2: เกี่ยวกับการลงทะเบียนกะ 74HC595
การลงทะเบียนกะ 74HC595 เป็น IC SIPO 16 พิน SIPO ย่อมาจาก Serial In และ Parallel Out ซึ่งหมายความว่ารับอินพุตแบบอนุกรมทีละบิตและให้เอาต์พุตแบบคู่ขนานหรือพร้อมกันบนพินเอาต์พุตทั้งหมด เรารู้ว่าการลงทะเบียน Shift นั้นโดยทั่วไปใช้เพื่อวัตถุประสงค์ในการจัดเก็บ และคุณสมบัติของการลงทะเบียนนั้นถูกใช้ที่นี่ ข้อมูลจะเลื่อนเข้าผ่านขาอินพุตแบบอนุกรมและไปยังพินเอาต์พุตแรกและยังคงอยู่จนกว่าอินพุตอื่นจะเข้ามาใน IC ทันทีที่ได้รับอินพุตอื่น อินพุตที่จัดเก็บไว้ก่อนหน้านี้จะเปลี่ยนเป็นเอาต์พุตถัดไปและข้อมูลที่ป้อนใหม่เข้ามา ไปที่พินแรก กระบวนการนี้จะดำเนินต่อไปจนกว่าการจัดเก็บของ IC จะไม่เต็มเช่นจนกว่าจะได้รับ 8 อินพุต แต่เมื่อที่เก็บข้อมูล IC เต็มทันทีที่ได้รับอินพุตที่ 9 อินพุตแรกจะออกไปทางพินของ QH หากมีรีจิสเตอร์การเปลี่ยนแปลงแบบเดซี่เชนกับรีจิสเตอร์ปัจจุบันผ่านพินของ QH ข้อมูลจะเปลี่ยนไปที่นั้น ลงทะเบียนมิฉะนั้นจะสูญหายและข้อมูลที่เข้ามายังคงเข้ามาโดยเลื่อนข้อมูลที่เก็บไว้ก่อนหน้านี้ กระบวนการนี้เรียกว่าล้น IC นี้ใช้พิน GPIO เพียง 3 พินในการเชื่อมต่อกับไมโครคอนโทรลเลอร์ ดังนั้นด้วยการใช้ไมโครคอนโทรลเลอร์เพียง 3 พิน GPIO เราจึงสามารถควบคุมอุปกรณ์อนันต์ได้ด้วยการผูกไอซีจำนวนหนึ่งเข้าด้วยกัน
ตัวอย่างในโลกแห่งความเป็นจริงที่ใช้ shift register คือ 'Original Nintendo Controller' ตัวควบคุมหลักของ Nintendo Entertainment System จำเป็นต้องได้รับการกดปุ่มทั้งหมดตามลำดับ และใช้ shift register เพื่อทำงานนั้นให้สำเร็จ
ขั้นตอนที่ 3: ปักหมุดไดอะแกรมของ 74HC595
แม้ว่า IC นี้จะมีจำหน่ายในหลากหลายรูปแบบและหลายรุ่น แต่เราจะพูดถึง Pinout ของ Texas Instruments SN74HC595N IC สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับ IC นี้ คุณสามารถดูเอกสารข้อมูลได้จากที่นี่
Shift Register IC มีพินต่อไปนี้:-
1) GND - พินนี้เชื่อมต่อกับพินกราวด์ของไมโครคอนโทรลเลอร์หรือแหล่งจ่ายไฟ
2) Vcc - พินนี้เชื่อมต่อกับ Vcc ของไมโครคอนโทรลเลอร์หรือแหล่งจ่ายไฟเนื่องจากเป็น IC ระดับลอจิก 5V ควรใช้แหล่งจ่ายไฟ 5V
3) SER - เป็นข้อมูล Serial Input Pin ที่ป้อนตามลำดับผ่าน Pin นี้ เช่น ป้อนทีละบิต
4) SRCLK - มันคือ Shift Register Clock Pin พินนี้ทำหน้าที่เป็นนาฬิกาสำหรับ Shift Register เนื่องจากสัญญาณนาฬิกาถูกนำไปใช้ผ่านพินนี้ เนื่องจาก IC เป็นขอบบวกที่ถูกกระตุ้น ดังนั้นเพื่อเปลี่ยนบิตไปยังรีจิสเตอร์ Shift นาฬิกานี้จึงต้องสูง
5) RCLK - เป็นพินนาฬิกาลงทะเบียน เป็นพินที่สำคัญมากเพราะในการสังเกตเอาต์พุตบนอุปกรณ์ที่เชื่อมต่อกับไอซีเหล่านี้ เราจำเป็นต้องเก็บอินพุตไว้ในสลัก และเพื่อจุดประสงค์นี้พิน RCLK จะต้องสูง
6) SRCLR- เป็นพินที่ชัดเจนของ Shift Register ใช้เมื่อใดก็ตามที่เราต้องการล้างที่เก็บข้อมูลของ Shift register มันตั้งค่าองค์ประกอบที่เก็บไว้ในการลงทะเบียนเป็น 0 ในครั้งเดียว มันเป็นพินตรรกะเชิงลบดังนั้นเมื่อใดก็ตามที่เราต้องการล้างการลงทะเบียนเราจำเป็นต้องใช้สัญญาณ LOW ที่พินนี้มิฉะนั้นควรเก็บไว้ที่ HIGH
7) OE- เป็นขาออกที่เปิดใช้งาน Pin มันเป็นลอจิกพินเชิงลบและเมื่อใดก็ตามที่พินนี้ถูกตั้งค่าเป็น HIGH รีจิสเตอร์จะถูกตั้งค่าเป็นสถานะอิมพีแดนซ์สูงและเอาต์พุตจะไม่ถูกส่ง เพื่อให้ได้ผลลัพธ์เราต้องตั้งค่าพินนี้ให้ต่ำ
8) Q1-Q7 - นี่คือพินเอาต์พุตและจำเป็นต้องเชื่อมต่อกับเอาต์พุตบางประเภทเช่น LED และ Seven Segment Display เป็นต้น
9) QH' - พินนี้อยู่ที่นั่นเพื่อที่เราจะได้เชื่อมต่อไอซีเหล่านี้หากเราเชื่อมต่อ QH นี้กับพิน SER ของไอซีตัวอื่น และให้สัญญาณนาฬิกาเหมือนกันทั้งสองไอซี พวกมันจะมีพฤติกรรมเหมือนไอซีตัวเดียวที่มี 16 เอาท์พุท แน่นอน เทคนิคนี้ไม่ได้จำกัดแค่ไอซีสองตัว - คุณสามารถต่อเดซี่เชนได้มากเท่าที่คุณต้องการ หากคุณมีกำลังเพียงพอสำหรับไอซีทั้งหมด
ขั้นตอนที่ 4: เชื่อมต่อจอแสดงผลกับ Arduino ผ่าน 74HC595
ตอนนี้เรามีความรู้เพียงพอเกี่ยวกับ Shift Register IC ดังนั้นเราจะไปที่ส่วน Implementation ในขั้นตอนนี้ เราจะทำการเชื่อมต่อเพื่อควบคุม SSD กับ Arduino ผ่าน 74HC595 IC
วัสดุที่จำเป็น: Arduino UNO, จอแสดงผลเจ็ดส่วน, 74HC595 Shift Register IC, สายจัมเปอร์
1) เชื่อมต่อ IC กับ SSD ในลักษณะดังต่อไปนี้:-
- IC Pin No. 1(Q1) เพื่อแสดงพินสำหรับ Segment B ผ่านตัวต้านทาน
- IC Pin No. 2(Q2) เพื่อแสดงพินสำหรับ Segment C ผ่านตัวต้านทาน
- IC Pin No. 3(Q3) เพื่อแสดงพินสำหรับ Segment D ผ่านตัวต้านทาน
- IC Pin No. 4(Q4) เพื่อแสดงพินสำหรับ Segment E ผ่านตัวต้านทาน
- IC Pin No. 5 (Q5) เพื่อแสดงพินสำหรับ Segment F ผ่านตัวต้านทาน
- IC Pin No. 6(Q6) เพื่อแสดงพินสำหรับ Segment G ผ่านตัวต้านทาน
- IC Pin No. 7(Q7) เพื่อแสดงพินสำหรับ Segment Dp ผ่านตัวต้านทาน
- พินทั่วไปบนจอแสดงผลกับรางจ่ายไฟหรือกราวด์ หากคุณมี Common Anode Display ให้เชื่อมต่อกับรางไฟฟ้า มิฉะนั้นสำหรับ Common Cathode Display ให้เชื่อมต่อกับรางภาคพื้นดิน
2) ต่อ Pin No. 10 (Register Clear Pin) ของ IC เข้ากับ power rail มันจะป้องกันการลงทะเบียนจากการหักบัญชีเนื่องจากเป็นพินต่ำที่ใช้งานอยู่
3) ต่อ Pin No. 13 (Output Enable Pin) ของ IC เข้ากับ Ground Rail เป็นพินสูงที่ใช้งานดังนั้นเมื่อเก็บไว้ที่ระดับต่ำจะทำให้ IC สามารถให้เอาต์พุตได้
4) เชื่อมต่อ Arduino Pin 2 กับ Pin12 (Latch Pin) ของ IC
5) เชื่อมต่อ Arduino Pin 3 กับ Pin14 (Data Pin) ของ IC
6) เชื่อมต่อ Arduino Pin 4 กับ Pin11 (Clock Pin) ของ IC
7) เชื่อมต่อ Vcc และ GND ของ IC กับ Arduino
หลังจากทำการเชื่อมต่อทั้งหมดเหล่านี้ คุณจะจบลงด้วยวงจรที่คล้ายกับในภาพด้านบน และหลังจากขั้นตอนทั้งหมดเหล่านี้ คุณต้องตรงไปที่ส่วนการเข้ารหัส
ขั้นตอนที่ 5: การเข้ารหัส Arduino เพื่อควบคุมการแสดงผลเจ็ดส่วน
ในขั้นตอนนี้ เราจะโค้ด Arduino UNO เพื่อแสดงตัวเลขต่างๆ บน Seven Segment Display โดยมีขั้นตอนดังนี้:-
1) เชื่อมต่อ Arduino Uno กับพีซีของคุณ
2) ตรงไปที่ที่เก็บ Github ของโครงการนี้จากที่นี่
3) ในที่เก็บ เปิดไฟล์ "7segment_arduino.ino" ซึ่งจะเป็นการเปิดรหัสสำหรับโครงการนี้
4) คัดลอกโค้ดนี้แล้ววางลงใน Arduino IDE ของคุณแล้วอัปโหลดไปยังบอร์ด
เมื่อโค้ดถูกอัปโหลด คุณจะสามารถเห็นตัวเลขตั้งแต่ 0 ถึง 9 ปรากฏบนจอแสดงผลที่เวลาล่าช้า 1 วินาที
ขั้นตอนที่ 6: คุณสามารถทำสิ่งนี้ด้วยตัวคุณเอง
ดังนั้นโดยทำตามขั้นตอนเหล่านี้ทั้งหมด คุณสามารถสร้างโครงการนี้ด้วยตัวเองซึ่งจะมีลักษณะเหมือนที่แสดงในภาพด้านบน คุณยังสามารถลองใช้โปรเจ็กต์เดียวกันได้โดยไม่ต้องใช้ Shift Register IC และคุณจะได้รู้ว่า IC นี้มีประโยชน์อย่างไรในการให้เอาต์พุตไปยังวัตถุหลายชิ้นพร้อมกันโดยใช้พิน GPIO จำนวนน้อยกว่า คุณยังสามารถลองเชื่อมโยงไอซีเหล่านี้จำนวนหนึ่งและควบคุมเซ็นเซอร์หรืออุปกรณ์จำนวนมาก เป็นต้น
หวังว่าคุณจะชอบบทช่วยสอนนี้