สารบัญ:

การควบคุมการแสดงผล Seven Segment โดยใช้ Arduino และ 74HC595 Shift Register: 6 ขั้นตอน
การควบคุมการแสดงผล Seven Segment โดยใช้ Arduino และ 74HC595 Shift Register: 6 ขั้นตอน

วีดีโอ: การควบคุมการแสดงผล Seven Segment โดยใช้ Arduino และ 74HC595 Shift Register: 6 ขั้นตอน

วีดีโอ: การควบคุมการแสดงผล Seven Segment โดยใช้ Arduino และ 74HC595 Shift Register: 6 ขั้นตอน
วีดีโอ: How to use 74HC595 Shift registers to control mulitple 7 segment displays 2024, พฤศจิกายน
Anonim
Image
Image

เฮ้ ว่าไงพวก! 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 สำหรับโครงการของคุณที่ผลิต

เกี่ยวกับ 74HC595 Shift Register
เกี่ยวกับ 74HC595 Shift Register

คุณต้องตรวจสอบ PCBWAY เพื่อสั่งซื้อ PCB ออนไลน์ในราคาถูก!

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

ขั้นตอนที่ 2: เกี่ยวกับการลงทะเบียนกะ 74HC595

เกี่ยวกับ 74HC595 Shift Register
เกี่ยวกับ 74HC595 Shift Register

การลงทะเบียนกะ 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

พินไดอะแกรมของ74HC595
พินไดอะแกรมของ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

การเชื่อมต่อจอแสดงผลกับ Arduino ผ่าน 74HC595
การเชื่อมต่อจอแสดงผลกับ Arduino ผ่าน 74HC595
การเชื่อมต่อจอแสดงผลกับ Arduino ผ่าน 74HC595
การเชื่อมต่อจอแสดงผลกับ 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 เพื่อควบคุมการแสดงผลเจ็ดส่วน
การเข้ารหัส 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 จำนวนน้อยกว่า คุณยังสามารถลองเชื่อมโยงไอซีเหล่านี้จำนวนหนึ่งและควบคุมเซ็นเซอร์หรืออุปกรณ์จำนวนมาก เป็นต้น

หวังว่าคุณจะชอบบทช่วยสอนนี้

แนะนำ: