ไฟ LED แสดงสถานะเจ็ดส่วน ไฟแสดง 7 ส่วน ไฟ LED แสดงสถานะ 7 ส่วนพร้อมแคโทดร่วม

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

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

แต่ข้อได้เปรียบหลักของ LED ก็คือเนื่องจากขนาดที่เล็ก บางส่วนจึงสามารถรวมอยู่ในตัวเรือนขนาดกะทัดรัดอันเดียวซึ่งก่อให้เกิดสิ่งที่เรียกว่าตัวบ่งชี้เจ็ดส่วน

ตัวบ่งชี้เจ็ดส่วนประกอบด้วยไฟ LED เจ็ดดวง (จึงเป็นชื่อของมัน) ซึ่งจัดเรียงเป็นรูปสี่เหลี่ยมผืนผ้าดังแสดงในรูป ไฟ LED ทั้งเจ็ดดวงแต่ละดวงเรียกว่าเซกเมนต์เนื่องจากเมื่อส่องสว่างเซกเมนต์จะเป็นส่วนหนึ่งของตัวเลข (ทศนิยมหรือ 12 หลัก) บางครั้งภายในแพ็คเกจเดียวกันจะใช้ LED เพิ่มเติมลำดับที่ 8 ซึ่งทำหน้าที่แสดงจุดทศนิยม (DP) จึงทำให้สามารถแสดงผลได้หากมีการเชื่อมต่อตัวบ่งชี้ 7 ส่วนสองตัวขึ้นไปเข้าด้วยกันเพื่อแสดงตัวเลขที่มากกว่าสิบ

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

ดังนั้น ความลำเอียงไปข้างหน้าที่ใช้กับหมุดที่สอดคล้องกันของส่วน LED ในลำดับที่แน่นอนจะทำให้บางส่วนสว่างขึ้นในขณะที่ส่วนที่เหลือยังคงมืด ทำให้สามารถแสดงสัญลักษณ์รูปแบบตัวเลขที่ต้องการบนจอแสดงผลได้ ซึ่งช่วยให้เราสามารถแสดงทศนิยมสิบหลักแต่ละหลักตั้งแต่ 0 ถึง 9 บนจอแสดงผล 7 ส่วน

โดยทั่วไปจะใช้พินทั่วไปเพื่อกำหนดประเภทของจอแสดงผล 7 ส่วน จอแสดงผล LED แต่ละตัวมีขั้วต่อเชื่อมต่ออยู่ 2 ขั้ว ขั้วหนึ่งเรียกว่า "แอโนด" และอีกขั้วหนึ่งเรียกว่า "แคโทด" ดังนั้นไฟ LED แสดงสถานะเจ็ดส่วนจึงสามารถมีการออกแบบวงจรได้สองประเภท - มีแคโทดร่วม (OC) และแอโนดร่วม (OA)

ความแตกต่างระหว่างจอแสดงผลทั้งสองประเภทนี้คือในการออกแบบ OK แคโทดของทั้ง 7 ส่วนจะเชื่อมต่อกันโดยตรง และในการออกแบบแอโนดทั่วไป (CA) แอโนดของทั้ง 7 ส่วนจะเชื่อมต่อถึงกัน ทั้งสองแผนงานมีดังนี้

  • แคโทดทั่วไป (OC) - แคโทดที่เชื่อมต่อระหว่างส่วน LED ทั้งหมดมีระดับตรรกะเป็น "0" หรือเชื่อมต่อกับสายไฟทั่วไป แต่ละเซกเมนต์จะได้รับแสงสว่างโดยการใช้สัญญาณลอจิกสูงหรือลอจิก 1 กับพินแอโนดผ่านตัวต้านทานจำกัดเพื่อส่งต่อไบแอสของ LED แต่ละตัว
  • ขั้วบวกทั่วไป (CA) - ขั้วบวกของส่วน LED ทั้งหมดจะรวมกันและมีระดับตรรกะเป็น "1" แต่ละส่วนของไฟแสดงสถานะเมื่อแต่ละแคโทดเฉพาะเชื่อมต่อกับกราวด์ ลอจิก "0" หรือสัญญาณที่มีศักยภาพต่ำผ่านตัวต้านทานจำกัดที่สอดคล้องกัน

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

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

ตัวบ่งชี้เจ็ดส่วนดังกล่าวเรียกว่าคงที่ ข้อเสียเปรียบที่สำคัญคือพินจำนวนมากในแพ็คเกจ เพื่อกำจัดข้อเสียเปรียบนี้ จึงมีการใช้แผนการควบคุมแบบไดนามิกสำหรับตัวบ่งชี้เจ็ดส่วน

ตัวบ่งชี้เจ็ดส่วนได้รับความนิยมอย่างมากในหมู่นักวิทยุสมัครเล่นเนื่องจากสะดวกในการใช้งานและเข้าใจง่าย

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

ไฟ LED แสดงสถานะเจ็ดส่วน LED ยังคงเป็นหนึ่งในองค์ประกอบยอดนิยมสำหรับการแสดงข้อมูลดิจิทัล

คุณสมบัติดังต่อไปนี้มีส่วนทำให้เกิดสิ่งนี้

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

ประเภทของไฟ LED

ไฟ LED แสดงสถานะเจ็ดส่วนจะแสดงอักขระโดยใช้ไฟ LED เจ็ดดวง - ส่วนหลัก ไฟ LED ดวงที่แปดจะส่องสว่างจุดทศนิยม ดังนั้นจึงมี 8 ส่วนในตัวบ่งชี้เจ็ดส่วน

เซ็กเมนต์ถูกกำหนดด้วยตัวอักษรละตินตั้งแต่ "A" ถึง "H"

ขั้วบวกหรือแคโทดของ LED แต่ละตัวจะรวมกันในตัวบ่งชี้และสร้างลวดร่วม ดังนั้นจึงมีตัวบ่งชี้ที่มีขั้วบวกร่วมและแคโทดร่วม

ไฟ LED แสดงสถานะพร้อมขั้วบวกทั่วไป

ไฟ LED แสดงสถานะพร้อมแคโทดทั่วไป

การควบคุม LED แบบคงที่

จะต้องเชื่อมต่อไฟ LED เข้ากับไมโครคอนโทรลเลอร์ผ่านตัวต้านทานจำกัดกระแส

การคำนวณตัวต้านทานจะเหมือนกับการคำนวณ LED แต่ละตัว

R = (อุปทาน U - ส่วน U) / ส่วน I

สำหรับวงจรนี้: ฉันแบ่งส่วน = (5 - 1.5) / 1,000 = 3.5 mA

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

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

ส่วนจะสว่างขึ้นที่พินควบคุมซึ่งจะสร้างระดับสูง (5 V)

โหมดมัลติเพล็กซ์สำหรับควบคุมไฟ LED

ต้องใช้แปดพินเพื่อเชื่อมต่อตัวบ่งชี้เจ็ดส่วนแต่ละตัวกับไมโครคอนโทรลเลอร์ หากมีตัวบ่งชี้ 3-4 ตัว (ตัวเลข) แสดงว่างานนั้นเป็นไปไม่ได้ในทางปฏิบัติ มีพินไมโครคอนโทรลเลอร์ไม่เพียงพอ ในกรณีนี้ สามารถเชื่อมต่อตัวบ่งชี้ได้ในโหมดมัลติเพล็กซ์ ในโหมดตัวบ่งชี้ไดนามิก

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

ในการเชื่อมต่อตัวบ่งชี้สามตัวจำเป็นต้องใช้ 11 พินและไม่ใช่ 24 พินเช่นเดียวกับในโหมดควบคุมแบบคงที่

ด้วยการแสดงผลแบบไดนามิก จะมีการสว่างเพียงหลักเดียวตลอดเวลา สัญญาณระดับสูง (5 V) จะถูกส่งไปยังพินทั่วไปของบิตใดบิตหนึ่ง และสัญญาณระดับต่ำจะถูกส่งไปยังพินเซกเมนต์สำหรับเซกเมนต์ที่ควรสว่างขึ้นในบิตนี้ หลังจากผ่านไประยะหนึ่ง การคายประจุครั้งถัดไปจะสว่างขึ้น ระดับสูงจะถูกนำไปใช้กับพินทั่วไป และสัญญาณสถานะของบิตนี้จะถูกส่งไปยังพินเซกเมนต์ และต่อๆ ไปสำหรับตัวเลขทั้งหมดในวงวนไม่สิ้นสุด รอบเวลาเรียกว่าเวลาการฟื้นฟูตัวบ่งชี้ หากเวลาการฟื้นฟูสั้นเพียงพอ ดวงตาของมนุษย์จะไม่สังเกตเห็นการสลับการปลดปล่อย ดูเหมือนว่าการปลดปล่อยทั้งหมดจะส่องแสงอยู่ตลอดเวลา เพื่อหลีกเลี่ยงการกะพริบของตัวบ่งชี้ เชื่อว่าความถี่ของวงจรการฟื้นฟูควรมีอย่างน้อย 70 Hz ฉันพยายามใช้อย่างน้อย 100 Hz

วงจรบ่งชี้แบบไดนามิกสำหรับ LED ที่มีแคโทดทั่วไปมีลักษณะดังนี้

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

การคำนวณองค์ประกอบการแสดงผลแบบไดนามิกของตัวบ่งชี้ไดโอดเปล่งแสง (LED)

การคำนวณค่อนข้างซับซ้อนกว่าโหมดคงที่ ในระหว่างการคำนวณจำเป็นต้องกำหนด:

  • กระแสเฉลี่ยของส่วนต่างๆ
  • กระแสพัลส์ของเซ็กเมนต์
  • ความต้านทานของตัวต้านทานส่วน;
  • กระแสพัลส์ของขั้วร่วมของการปล่อยประจุ

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

ลองเลือกส่วนปัจจุบันเฉลี่ย 1 mA

ทีนี้มาคำนวณกระแสพัลส์ของเซ็กเมนต์กัน เพื่อให้กระแสเฉลี่ยที่ต้องการ กระแสพัลส์จะต้องมากกว่า N เท่า โดยที่ N คือจำนวนหลักตัวบ่งชี้

ฉันแบ่งส่วน ภูตผีปีศาจ = ฉันแบ่งส่วน เฉลี่ย *น

สำหรับโครงการของเรา ฉันแบ่งส่วน ภูตผีปีศาจ = 1 * 3 = 3 มิลลิแอมป์

เราคำนวณความต้านทานของตัวต้านทานที่จำกัดกระแส

R = (อุปทาน U - ส่วน U) / ส่วน I ภูตผีปีศาจ

R = (5 – 1.5) / 0.003 = 1166 โอห์ม

เรากำหนดกระแสพัลส์ของขั้วร่วมของการปล่อยประจุ 8 ส่วนสามารถสว่างขึ้นในเวลาเดียวกัน ซึ่งหมายความว่าคุณต้องคูณกระแสพัลส์ของหนึ่งส่วนด้วย 8

ฉันจัดหมวดหมู่ภูตผีปีศาจ = ฉันแบ่งส่วน ภูตผีปีศาจ * 8

สำหรับวงจรของเราฉันจัดหมวดหมู่ภูตผีปีศาจ = 3 * 8 = 24 มิลลิแอมป์

  • เราเลือกความต้านทานของตัวต้านทานเป็น 1.1 kOhm;
  • หมุดของไมโครคอนโทรลเลอร์ควบคุมเซ็กเมนต์จะต้องมีกระแสอย่างน้อย 3 mA;
  • หมุดของไมโครคอนโทรลเลอร์สำหรับเลือกตัวเลขตัวบ่งชี้จะต้องมีกระแสไฟอย่างน้อย 24 mA

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

แบบแผนพร้อมคีย์เพิ่มเติม

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

แผนภาพการเชื่อมต่อสำหรับไฟ LED ที่มีขั้วบวกทั่วไปในโหมดมัลติเพล็กซ์พร้อมสวิตช์ทรานซิสเตอร์สำหรับเลือกการปล่อยประจุ

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

แผนภาพการเชื่อมต่อสำหรับไฟ LED ที่มีแคโทดร่วมในโหมดมัลติเพล็กซ์พร้อมสวิตช์ทรานซิสเตอร์สำหรับเลือกการปล่อยประจุ

ในการเลือกบิตในวงจรนี้จำเป็นต้องสร้างสัญญาณระดับสูง กุญแจที่เกี่ยวข้องจะเปิดและปิดขั้วจำหน่ายทั่วไปลงกราวด์

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

ปุ่มสำหรับตัวบ่งชี้ที่มีแรงดันไฟฟ้าเพิ่มขึ้น.

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

วงจรของปุ่มที่เชื่อมต่อสัญญาณบ่งชี้กับกราวด์ยังคงไม่เปลี่ยนแปลง และสวิตช์ไฟควรสร้างตามรูปแบบที่แตกต่างกันเช่นนี้

ในวงจรนี้ บิตแอคทีฟจะถูกเลือกโดยสัญญาณควบคุมระดับสูง

ระหว่างตัวเลขตัวบ่งชี้การสลับ ควรปิดทุกส่วนในช่วงเวลาสั้น ๆ (1-5 μs) เวลานี้จำเป็นสำหรับกระบวนการชั่วคราวของการสลับคีย์ให้เสร็จสิ้น

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

ในบทเรียนถัดไป เราจะเชื่อมต่อไฟ LED เจ็ดส่วนเข้ากับบอร์ด Arduino และเขียนไลบรารีเพื่อควบคุม

หมวดหมู่: . คุณสามารถบุ๊กมาร์กไว้ได้

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

แผนภาพ

วงจรนี้เป็นตัวควบคุมการแสดงผล 7 หลักหลักเดียวโดยใช้ชุด LED ขนาดใหญ่ 5 ดวงต่อเซ็กเมนต์ และรีจิสเตอร์ชิฟต์เพื่อให้ควบคุมอินพุตไมโครคอนโทรลเลอร์ได้ง่าย ไฟ LED แต่ละดวงที่ใช้ในโครงการนี้มีเส้นผ่านศูนย์กลาง 5 มม.

ชิป ULN2003 ช่วยขยายกระแสที่ไหลผ่าน LED ตัวต้านทาน R1 - R8 เป็นตัวจำกัดกระแสสำหรับ LED ซึ่งเชื่อมต่อแบบอนุกรมในวงจร

ขอให้เป็นวันที่ดี! หลังจากหยุดพักมายาวนาน เราจะมาเรียนหลักสูตรการเขียนโปรแกรม Arduino กันต่อ ในบทเรียนก่อนหน้านี้บทหนึ่ง เราได้ทำงานกับลำดับของ LED แล้ว ตอนนี้ถึงเวลาที่จะไปยังขั้นตอนต่อไปของการฝึกอบรม หัวข้อของบทความในวันนี้จะเป็นตัวบ่งชี้ 7 ส่วน

ทำความรู้จักกับตัวบ่งชี้ 7 ส่วนจะประกอบด้วยสองส่วน ในส่วนแรก เราจะพูดถึงองค์ประกอบทางทฤษฎีโดยย่อ ทำงานกับฮาร์ดแวร์ และเขียนโปรแกรมง่ายๆ

ครั้งสุดท้ายที่เราทำงานกับลำดับ LED 8 ดวง วันนี้ก็จะมี 8 ดวงด้วย (แถบ LED 7 แถบและ 1 จุด) ต่างจากลำดับก่อนหน้า องค์ประกอบของชุดนี้ไม่ได้เรียงกัน (ทีละชิ้น) แต่จัดเรียงตามลำดับที่แน่นอน ด้วยเหตุนี้ การใช้ส่วนประกอบเดียวจึงสามารถแสดงตัวเลข 10 หลัก (ตั้งแต่ 0 ถึง 9)

ข้อแตกต่างที่สำคัญอีกประการหนึ่งที่ทำให้ตัวบ่งชี้นี้แตกต่างจากไฟ LED ธรรมดา มีแคโทดร่วม (หรือมากกว่าสองขาที่เท่ากัน 3 และ 8 ซึ่งเชื่อมต่อแคโทดอยู่) เพียงเชื่อมต่อแคโทดตัวใดตัวหนึ่งเข้ากับกราวด์ก็เพียงพอแล้ว ( จีเอ็นดี). องค์ประกอบตัวบ่งชี้ทั้งหมดมีแอโนดแยกกัน

การพูดนอกเรื่องเล็กน้อย ทั้งหมดข้างต้นใช้กับตัวบ่งชี้ 7 ส่วนที่มีแคโทดร่วม อย่างไรก็ตาม มีตัวบ่งชี้ที่มีขั้วบวกร่วมอยู่ การเชื่อมโยงตัวชี้วัดดังกล่าวมีความแตกต่างกันอย่างมาก ดังนั้นโปรดอย่าสับสนระหว่าง “บาปกับความชอบธรรม” คุณต้องเข้าใจอย่างชัดเจนว่าคุณมีอุปกรณ์เจ็ดส่วนประเภทใดอยู่ในมือ!

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

ฉันหวังว่าคุณจะไม่ลืมเกี่ยวกับความจำเป็นในการใช้ตัวต้านทานจำกัดกระแสเมื่อเชื่อมต่อ LED เช่นเดียวกับตัวบ่งชี้: แต่ละองค์ประกอบของตัวบ่งชี้จะต้องมีตัวต้านทานของตัวเองเชื่อมต่ออยู่ 8 องค์ประกอบ (7 + 1) – ตัวต้านทาน 8 ตัว

ฉันมีหน่วยเจ็ดส่วนที่มีเครื่องหมาย 5161AS (แคโทดทั่วไป) อยู่ในมือ พินเอาท์:



แผนภาพ

อย่างที่ฉันบอกไปก่อนหน้านี้ เพื่อเปิดเซกเมนต์ "A" เราเชื่อมต่อกราวด์กับพินทั่วไป (3 หรือ 8) และจ่ายไฟ 5V ไปที่พิน 7 หากตัวบ่งชี้มีขั้วบวกร่วม เราจะใช้ 5V กับขั้วบวกและกราวด์กับเอาต์พุตของเซ็กเมนต์!

มาประกอบม้านั่งทดสอบกัน เราเชื่อมต่อสายไฟตามลำดับโดยเริ่มจากขาแรกซึ่งไปที่พินที่ 2 ของบอร์ด Arduino เราเชื่อมต่อกราวด์เข้ากับพิน 8 ของตัวบ่งชี้

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

หากต้องการตรวจสอบตัวบ่งชี้ ให้รันโปรแกรมที่เขียนไว้ เลือกองค์ประกอบ “A” แล้วแฟลช


ทีนี้มาแฟลชหมายเลข 2 กัน หากต้องการทำสิ่งนี้ เรามาเปิดองค์ประกอบเพิ่มเติมอีกสองสามอย่างกัน

หากต้องการส่งออกหนึ่งหลัก คุณต้องเขียนโค้ดจำนวน n บรรทัด มันยากคุณไม่คิดเหรอ?

มีอีกวิธีหนึ่ง ในการแสดงตัวเลขใดๆ บนตัวบ่งชี้ จะต้องแสดงเป็นลำดับบิตที่แน่นอนก่อน

ตารางการติดต่อ

หากจอแสดงผลมีขั้วบวกทั่วไป 1 จะต้องถูกแทนที่ด้วย 0 และ 0 ด้วย 1!

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

ตัวเลขในระบบเลขฐานสองเขียนได้ดังนี้: 0b00000000. 0ข- ระบบไบนารี เลขศูนย์หมายถึงไฟ LED ทั้งหมดดับอยู่

เมื่อเชื่อมต่อเราใช้พิน 2 ถึง 9 หากต้องการเปิดพิน 2 ให้เขียนหนึ่งอันลงไป = 0b00000001.บิตที่สี่จากทางขวาเป็นผู้รับผิดชอบจุด บิตสุดท้ายสอดคล้องกับเส้นที่อยู่ตรงกลางของตัวบ่งชี้

ลองเขียนตัวอย่างผลลัพธ์ของตัวเลข 0

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

หมายเหตุ: ฟังก์ชัน bitRead() อ่านสถานะของบิตที่ระบุและส่งกลับค่าสถานะ (0 หรือ 1)บิตอ่าน(x, n)โดยที่ x คือตัวเลขที่ต้องอ่านบิต n คือจำนวนบิตที่ต้องอ่านสถานะ การกำหนดหมายเลขเริ่มต้นด้วยบิตที่มีนัยสำคัญน้อยที่สุด (ขวาสุด) ที่มีหมายเลข 0

และในตอนท้ายของส่วนแรก เราจะเขียนตัวนับเล็กๆ

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

ทำไมต้องมีตัวบ่งชี้ 7 ส่วน? ท้ายที่สุดแล้ว มีหน้าจอที่แตกต่างกันมากมาย โดยมีตัวอักษรจำนวนมาก เส้น เส้นทแยงมุมและความละเอียดต่างๆ ขาวดำและสี ซึ่งราคาไม่แพงที่สุดซึ่งมีราคาสองสามดอลลาร์... และที่นี่: "เก่า" หนึ่ง เรียบง่ายอุกอาจ แต่ต้องใช้พินจำนวนมาก ตัวบ่งชี้ 7 ส่วน แต่ถึงกระนั้น "ชายชรา" คนนี้ก็มีข้อได้เปรียบเช่นกัน ความจริงก็คือการใช้ภาพร่างที่ให้ไว้ที่นี่คุณสามารถฟื้นคืนชีพได้ไม่เพียง แต่ตัวบ่งชี้ที่มีความสูงหลัก 14 มม. เท่านั้น แต่ยังรวมถึงโครงการที่จริงจังกว่า (แม้ว่าจะทำที่บ้าน) และตัวเลขมิเตอร์ในกรณีนี้ยังอยู่ไกลจากขีด จำกัด สิ่งนี้อาจไม่น่าสนใจสำหรับผู้อยู่อาศัยในเมืองหลวง แต่ประชากรของ Novokatsapetovka หรือ Nizhnyaya Kedrovka จะมีความสุขมากหากมีนาฬิกาปรากฏที่สโมสรหรือสภาหมู่บ้านซึ่งสามารถแสดงวันที่และอุณหภูมิได้และพวกเขาจะพูดคุยเกี่ยวกับผู้สร้าง ของนาฬิกาเรือนนี้มายาวนานมาก แต่นาฬิกาดังกล่าวเป็นหัวข้อของบทความแยกต่างหาก: ผู้เยี่ยมชมจะต้องการ - ฉันจะเขียน ทุกสิ่งที่เขียนข้างต้นถือเป็นการแนะนำ เช่นเดียวกับบทความล่าสุดของฉัน บทความนี้จะประกอบด้วยส่วนต่างๆ คราวนี้แบ่งเป็นสองส่วน ในส่วนแรก เราจะ "จัดการ" ตัวบ่งชี้ และในส่วนที่สอง เราจะพยายามปรับให้มีประโยชน์อย่างน้อยเล็กน้อย เรามาทำต่อ:

ส่วนที่หนึ่ง ทดลอง-การศึกษา

พื้นฐานสำหรับโครงการนี้คือ ARDUINO UNO ซึ่งเรารู้จักดีอยู่แล้วจากบทความก่อนหน้านี้ ฉันขอเตือนคุณว่าวิธีที่ง่ายที่สุดในการซื้ออยู่ที่นี่:หรือที่นี่: นอกจากนี้คุณจะต้องมีตัวบ่งชี้ 7 ส่วน 4 หลัก ฉันมี GNQ-5641BG-11 โดยเฉพาะ ทำไมอันนี้? ใช่ เพียงเพราะว่าเมื่อ 5 ปีที่แล้วฉันซื้อมาโดยไม่ได้ตั้งใจ ฉันขี้เกียจเกินกว่าจะเปลี่ยนมัน ดังนั้นมันจึงนอนรออยู่ที่ปีกตลอดเวลา ฉันคิดว่าใครก็ตามที่มีขั้วบวกทั่วไปจะทำได้ (และด้วยแคโทดทั่วไปก็เป็นไปได้ แต่คุณจะต้องกลับข้อมูลอาร์เรย์และค่าพอร์ตอื่น ๆ - นั่นคือเปลี่ยนเป็นค่าที่ตรงกันข้าม) ตราบใดที่ มันไม่แรงเกินไปเพื่อที่จะไม่เผา Arduino นอกจากนี้ตัวต้านทานจำกัดกระแส 4 ตัวแต่ละตัวประมาณ 100 โอห์มและสายเคเบิลหนึ่งเส้น (10 ซม. เพียงพอสำหรับฉัน) สำหรับ 12 พิน (คอร์) สามารถ "ฉีกออก" จากอันที่กว้างกว่าซึ่งเป็นสิ่งที่ฉันทำ หรือคุณสามารถบัดกรีด้วยสายไฟแยกกันได้ก็ไม่มีปัญหา คุณจะต้องมีหมุดสำหรับบอร์ด (11 ชิ้น) แม้ว่าคุณจะระวังคุณก็สามารถทำได้โดยไม่ต้องใช้หมุดเหล่านั้น ภาพร่างของตัวบ่งชี้สามารถดูได้ในรูปที่ 1 และแผนภาพในรูปที่ 2 ฉันจะทราบด้วยว่าควรจ่ายไฟไม่เกิน 2.1V ให้กับแต่ละส่วนของตัวบ่งชี้นี้ (จำกัด ด้วยตัวต้านทาน 100 โอห์ม) และ ในกรณีนี้จะกินกระแสไม่เกิน 20 mA หากตัวเลข “8” สว่างขึ้น การสิ้นเปลืองพลังงานจะไม่เกิน 7x20=140 mA ซึ่งค่อนข้างยอมรับได้สำหรับเอาต์พุต Arduino ผู้อ่านที่อยากรู้อยากเห็นจะถามคำถาม:“ แต่การปล่อย 140 mA 4 ครั้งแต่ละครั้งก็มี 4x140 = 560 mA แล้วและนี่ก็มากเกินไปแล้ว!” ฉันจะตอบ - จะเหลือ 140 อย่างไร? อ่านต่อ! ตำแหน่งของหมุดบนตัวบ่งชี้สามารถดูได้ในรูปที่ 3 และเราทำการเชื่อมต่อตามตารางที่ 1


ข้าว. 1 - ร่างตัวบ่งชี้


ข้าว. 2 - วงจรตัวบ่งชี้


ข้าว. 3 - ปักหมุดตำแหน่ง

ตารางที่ 1

ปักหมุด Arduino Uno

พินตัวบ่งชี้

บันทึก

ส่วน G

ส่วน F

ส่วน E

ส่วนง

ส่วน C

ส่วน B

ส่วน ก

ขั้วบวกทั่วไปของส่วนที่ 1 เชื่อมต่อผ่านตัวต้านทาน 100 โอห์ม

ขั้วบวกทั่วไปของส่วนที่ 2 เชื่อมต่อผ่านตัวต้านทาน 100 โอห์ม

ขั้วบวกทั่วไปของส่วนที่ 3 เชื่อมต่อผ่านตัวต้านทาน 100 โอห์ม

ขั้วบวกทั่วไปของส่วนที่ 6 เชื่อมต่อผ่านตัวต้านทาน 100 โอห์ม



เรากรอกแบบร่างง่ายๆ ซึ่งเป็น "ตารางการนับ" ธรรมดาตั้งแต่ 0 ถึง 9:


ตอนนี้ขอชี้แจงบ้าง DDRD เป็นการลงทะเบียนของพอร์ต D (DDRB - ตามลำดับพอร์ต B) ด้านหลังคำว่า "น่ากลัว" "ลงทะเบียน" มีเพียงฟังก์ชั่น "ซ่อน" ที่ระบุว่าพอร์ตจะอ่านบางสิ่งด้วยพิน (รับข้อมูล) หรือรอง ในทางกลับกันก็เป็นไปได้ที่จะทำอะไรบางอย่างที่นั่นแล้วเขียน (ให้ข้อมูล) ในกรณีนี้ บรรทัด DDRD=B11111111; แสดงว่าขาทั้งหมดของพอร์ต D เป็นเอาท์พุต เช่น ข้อมูลจะออกมาจากพวกเขา ตัวอักษร "B" หมายความว่ามีการเขียนเลขฐานสองลงในรีจิสเตอร์ ผู้อ่านที่ใจร้อนจะถามทันทีว่า “ทศนิยมเป็นไปได้ไหม!” ฉันรีบเร่งเพื่อให้คุณมั่นใจว่ามันเป็นไปได้ แต่จะเพิ่มเติมในภายหลังอีกเล็กน้อย หากเราต้องการใช้ครึ่งหนึ่งของพอร์ตสำหรับอินพุต และครึ่งหนึ่งสำหรับเอาต์พุต เราสามารถระบุได้ดังนี้: DDRD=B11110000; หมุดจะแสดงหมุดที่จะให้ข้อมูล และเลขศูนย์จะแสดงหมุดที่จะรับข้อมูลนี้ ความสะดวกหลักของการลงทะเบียนก็คือคุณไม่จำเป็นต้องลงทะเบียนพินทั้งหมด 8 ครั้งนั่นคือ เราบันทึก 7 บรรทัดในโปรแกรม ตอนนี้เรามาดูบรรทัดต่อไปนี้:

PORTB=B001000; // ตั้งค่าพิน 11 ของพอร์ต B สูง

PORTB คือการลงทะเบียนข้อมูลพอร์ต B เช่น โดยการเขียนตัวเลขลงไป เราจะระบุว่าพินใดของพอร์ตจะมีหนึ่งอันและอันใดจะมีศูนย์ นอกจากความคิดเห็นแล้วฉันจะบอกว่าถ้าคุณใช้ Arduino Uno ในลักษณะที่คุณสามารถมองเห็นคอนโทรลเลอร์และหมุดดิจิทัลอยู่ด้านบนการเข้าสู่รีจิสเตอร์จะชัดเจนเช่น ซึ่ง "ศูนย์" (หรือ "หนึ่ง") สอดคล้องกับพินใดเช่น ศูนย์ขวาสุดของพอร์ต B รับผิดชอบพินที่ 8 และอันซ้ายสุดคือพินที่ 13 (ซึ่งมี LED ในตัว) สำหรับพอร์ต D ตามลำดับ ด้านขวาสำหรับพิน 0 ด้านซ้ายสำหรับพิน 7
ฉันหวังว่าหลังจากคำอธิบายโดยละเอียดทุกอย่างชัดเจน แต่เนื่องจากชัดเจน ฉันจึงเสนอให้กลับไปสู่ระบบเลขทศนิยมที่เรารู้จักและเป็นที่รักมาตั้งแต่เด็ก และอีกอย่างหนึ่ง - ภาพร่าง 25 เส้นอาจดูเล็ก แต่สำหรับมือใหม่ก็ยังค่อนข้างยุ่งยาก เราจะลดมันลง

มาเติมร่างที่เรียบง่ายยิ่งขึ้น "ตารางการนับ" แบบเดียวกัน:


วิดีโอ 1.
11 เส้นเท่านั้น! นี่คือวิถีของเรา “วิถีมือใหม่”! โปรดทราบว่าแทนที่จะใช้เลขฐานสอง เลขทศนิยมจะถูกเขียนลงในรีจิสเตอร์ โดยปกติแล้ว สำหรับตัวเลขทศนิยม ไม่ต้องใช้ตัวอักษรนำหน้า ฉันคิดว่าการใส่ตัวเลขทั้งหมดลงในตารางก็ไม่เสียหาย

ตารางที่ 2. ความสอดคล้องของอักขระที่แสดงกับข้อมูลพอร์ต

ขั้วบวกทั่วไป

แคโทดทั่วไป

ระบบไบนารี่

ระบบทศนิยม

ระบบไบนารี่

ระบบทศนิยม

ตารางที่ 3. ความสอดคล้องของตัวเลขที่แสดงกับข้อมูลพอร์ต

ขั้วบวกทั่วไป

แคโทดทั่วไป

ระบบไบนารี่

ระบบทศนิยม

ระบบไบนารี่

ระบบทศนิยม



ความสนใจ! ข้อมูลในตารางที่ 2 และ 3 ใช้ได้เฉพาะเมื่อมีการต่อสายตามตารางที่ 1 เท่านั้น
ตอนนี้มาอัปโหลดภาพร่างด้วย "ตารางการนับ" ตั้งแต่ 0 ถึง 9999:




ข้าว. 4 - โต๊ะนับ

สามารถชมภาพร่างจริงได้ที่วิดีโอ 2.

มีความคิดเห็นในแบบร่างนี้มากกว่าตัวโค้ดเอง ไม่ควรมีคำถามใดๆ... นอกจากสิ่งหนึ่งแล้ว นี่คือ "วงจรการกะพริบ" แบบใด จริงๆ แล้วกะพริบตรงนั้นอะไร และเพราะเหตุใด และยังมีตัวแปรบางอย่างสำหรับสิ่งนี้...
และประเด็นทั้งหมดก็คือส่วนที่ชื่อเดียวกันของทั้งสี่หมวดเชื่อมโยงกันที่จุดเดียว A1, A2, A3 และ A4 มีแคโทดร่วม A1, B1, …..G1 ขั้วบวกทั่วไป ดังนั้นหากใช้ “1234” กับตัวบ่งชี้ 4 หลักพร้อมกัน เราจะได้ “8888” และจะต้องประหลาดใจมากกับสิ่งนี้ เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น คุณต้องเปิดไฟ "1" ในหมวดหมู่ของคุณก่อน จากนั้นจึงปิดไฟ จากนั้นเปิดไฟ "2" ในหมวดหมู่ของคุณ ฯลฯ หากคุณทำสิ่งนี้อย่างรวดเร็ว การกะพริบของตัวเลขจะรวมกันเหมือนกรอบบนแผ่นฟิล์ม และดวงตาแทบจะไม่สังเกตเห็นมันเลย และค่าสูงสุดของตัวแปรการกะพริบในกรณีนี้จะควบคุมความเร็วของการเปลี่ยนตัวเลขบนตัวบ่งชี้ อย่างไรก็ตามต้องขอบคุณ "การกะพริบ" นี้ที่ทำให้การสิ้นเปลืองกระแสไฟสูงสุดอยู่ที่เพียง 140 mA แทนที่จะเป็น 560 ตอนนี้ฉันขอแนะนำให้เปลี่ยนไปใช้สิ่งที่มีประโยชน์มากกว่า

ส่วนที่สอง อย่างน้อยก็มีประโยชน์นิดหน่อย

ในส่วนนี้ เราจะส่งออกอักขระจากคอมพิวเตอร์ส่วนบุคคลไปยังตัวบ่งชี้ 7 ส่วนโดยใช้ ARDUINO MEGA เหตุใดความคิดที่จะ “เปลี่ยนม้าที่ทางข้าม” จึงเกิดขึ้นทันใด? มีเหตุผลสองประการ ประการแรก ฉันไม่เคยพิจารณา ARDUINO MEGA ในบทความของฉันมาก่อน และประการที่สอง ใน ARDUINO UNO ฉันยังคงไม่รู้ว่าจะสลับพอร์ต COM และพอร์ต D แบบไดนามิกได้อย่างไร แต่ฉันเป็นมือใหม่ - ฉันสามารถให้อภัยได้ โดยปกติแล้ว คุณสามารถซื้อคอนโทรลเลอร์นี้ได้ที่นี่: . เพื่อดำเนินการตามแผน ฉันต้องใช้หัวแร้งและบัดกรีสายเคเบิลจากฝั่ง Arduino อีกครั้ง และเขียนแบบร่างใหม่ด้วย คุณสามารถดูวิธีการบัดกรีสายเคเบิลได้ในรูปที่ 5 ประเด็นก็คือ ARDUINO MEGA และ ARDUINO UNO มี pinout ของพอร์ตที่แตกต่างกัน และ Mega มีพอร์ตอีกมากมาย ความสอดคล้องของหมุดที่ใช้สามารถดูได้ในตารางที่ 4



ข้าว. 5 - เดินสายไฟใหม่

ตารางที่ 4

พอร์ตเมก้า


ความสนใจ! ตารางนี้ใช้ได้สำหรับโครงการนี้เท่านั้น!

คุณควรทราบด้วยว่าพอร์ต C ของ Arduino Mega “เริ่มต้น” จากพิน 37 จากนั้นเรียงลำดับจากมากไปน้อย และพอร์ต A เริ่มจากพิน 22 จากนั้นเรียงลำดับจากน้อยไปหามาก



ข้าว. 6 - มุมมองทั่วไป



คุณลักษณะการใช้งานขนาดเล็ก: เราจะส่งออกอักขระ 4 ตัว อักขระต้องเป็นตัวเลข หากคุณป้อน "1234" แล้วเราจะเห็น "1234" หากคุณป้อน "123456" เราจะยังคงเห็น "1234" หากคุณป้อน "ytsuk", "fyva1234", "otiog485909oapom" - เราจะไม่เห็นอะไรเลย หากคุณป้อน “pp2345mm” เราจะเห็น “23” เช่น ขนาดเล็ก "ป้องกันการเข้าใจผิด" ในตัว

ร่างจริง:



คุณสามารถดูการทำงานของโปรแกรมนี้ได้ที่วิดีโอ 3.



บทวิจารณ์จัดทำโดย Pavel Sergeev