ไฟ 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 เส้นเท่านั้น! นี่คือวิถีของเรา “วิถีมือใหม่”! โปรดทราบว่าแทนที่จะใช้เลขฐานสอง เลขทศนิยมจะถูกเขียนลงในรีจิสเตอร์ โดยปกติแล้ว สำหรับตัวเลขทศนิยม ไม่ต้องใช้ตัวอักษรนำหน้า ฉันคิดว่าการใส่ตัวเลขทั้งหมดลงในตารางก็ไม่เสียหาย
ขั้วบวกทั่วไป |
แคโทดทั่วไป |
|||
ระบบไบนารี่ |
ระบบทศนิยม |
ระบบไบนารี่ |
ระบบทศนิยม |
|
ตารางที่ 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