" เกมส์งู " แท๊นแท่นน!!! เกมส์สุดคลาสสิคที่ทุกคนก็คงจะคุ้นเคยกันเป็นอย่างดีเพราะเราเล่นกันมานานมากทั้งในมือถือ ในคอมพิวเตอร์ แต่มันก็คงจะจำเจมาก ถ้าเรายังเล่นแบบเดิมๆกันอยู่ใช่ไหมคะ วันนี้เรามีสิ่งที่จะทำให้การเล่นเกมส์งูอันแสนน่าเบื่อดูมีความน่าสนใจขึ้นมา นั่นก็คือ " Building the snake game using matrix LED with the Arduino " ซึ่งก็คือการทำเกมส์งูด้วยการใช้ matrix LED ที่ถูกควบคุมด้วย Arduino มาถึงตรงนี้หลายๆคนคงสงสัยใช่ไหมคะ เอ๊ะ! Matrix LED คืออะไรนะ? แล้วArduinoใช้ควบคุมได้อย่างไรล่ะ? ถ้าอยากจะทำเองบ้าง จะเริ่มทำอย่างไรดี? ดังนั้นวันนี้เรามาเรียนรู้ข้อมูลพื้นฐานที่เราจะไปใช้ทำเกมส์ของเรากันดีกว่าค่ะ Let's go!! ^^
วงจรเลื่อนข้อมูล(Shift Register)
รีจิสเตอร์ คือ กลุ่มของฟลิปฟลอปที่ต่อเรียงกันและทำงานร่วมกันใช้สำหรับเก็บข้อมูลหรือ
เลื่อนข้อมูลรีจิสเตอร์ที่ใช้สำหรับเลื่อนข้อมูลเรียกว่า ชิฟท์รีจิสเตอร์
โครงสร้างของไบนารีรีจิสเตอร์
จากรูปที่ 17.1 แสดงไบนารีรีจิสเตอร์เบื้องต้นขนาด 4 บิต ประกอบด้วย เจเค ฟลิปฟลอป 4 ตัว ต่อกันแบบคาสเคด
จากรูปที่ 17.1 แสดงไบนารีรีจิสเตอร์เบื้องต้นขนาด 4 บิต ประกอบด้วย เจเค ฟลิปฟลอป 4 ตัว ต่อกันแบบคาสเคด
![[image%5B61%5D.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ztx72-tleyelQ7YxAWv1YJKRHjuZJJsojSacjIQvVfXiHeSQWtv23SEIMYeMfJdC4FdFDiEWGziKtHfB06DIt5JqkQ2fIlgls9PSLTEi9waFAAQxIQHh0rEHxVjLgFzJUj9dHRSyXe7r/s1600/image%255B61%255D.png)
รูปที่ 17.1 ชิฟท์รีจิสเตอร์ที่สร้างจาก
เจเค ฟลิปฟลอป
การแบ่งกลุ่มรีจิสเตอร์
การแบ่งกลุ่มรีจิสเตอร์สามารถแบ่งตามลักษณะการทำงาน
และการต่อวงจร สามารถแบ่งออกเป็น 4 กลุ่มใหญ่ๆ ดังนี้
- แบบอนุกรมเข้า – อนุกรมออก (SISO)
- แบบอนุกรมเข้า – ขนานออก (SIPO)
- แบบขนานเข้า – อนุกรมออก (PISO)
- แบบขนานเข้า – ขนานออก (PIPO)
แบบอนุกรมเข้า – อนุกรมออก
จากรูปที่ 17.2 เป็นชิฟท์รีจิสเตอร์แบบอนุกรมเข้า - อนุกรมออก ข้อมูลแบบอนุกรมจะถูกป้อนเข้าที่อินพุต JAและข้อมูลอนุกรมออกที่เอาต์พุต QD
จากรูปที่ 17.2 เป็นชิฟท์รีจิสเตอร์แบบอนุกรมเข้า - อนุกรมออก ข้อมูลแบบอนุกรมจะถูกป้อนเข้าที่อินพุต JAและข้อมูลอนุกรมออกที่เอาต์พุต QD
รูปที่ 17.2 วงจรรีจิสเตอร์แบบอนุกรมเข้า
– อนุกรมออก
แบบอนุกรมเข้า – ขนานออก
เมื่อนำข้อมูลอินพุตเข้าทีละหลัก
แต่นำออกเอาต์พุตออกพร้อมกัน เรียกว่า แบบอนุกรมเข้า - ขนานออก
ตัวอย่างวงจรเบื้องต้นดังแสดงในรูปที่ 17.3
รูปที่ 17.3 วงจรรีจิสเตอร์แบบอนุกรมเข้า
- ขนานออก
จากรูปที่
17.3 เป็นวงจรรีจิสเตอร์แบบอนุกรมเข้า
– ขนานออก ข้อมูลแบบอนุกรมจะถูกป้อนเข้าที่อินพุต JAและข้อมูลขนานออกที่เอาต์พุต QA ถึง QD
แบบขนานเข้า – อนุกรมออก
เมื่อนำข้อมูลอินพุตเข้าพร้อมกัน แต่นำออกที่เอาต์พุตทีละหลัก เรียกว่า แบบขนานเข้า - อนุกรมออก วงจรชิฟท์รีจิสเตอร์แบบขนานเข้า – อนุกรมออก ชนิดเก็บข้อมูลผ่านเกตควบคุมไปเข้าที่ขาพรีเซ็ตกับเคลียร์ของฟลิปฟลอปแต่ละตัวโดยตรง แสดงดังรูปที่ 17.4
เมื่อนำข้อมูลอินพุตเข้าพร้อมกัน แต่นำออกที่เอาต์พุตทีละหลัก เรียกว่า แบบขนานเข้า - อนุกรมออก วงจรชิฟท์รีจิสเตอร์แบบขนานเข้า – อนุกรมออก ชนิดเก็บข้อมูลผ่านเกตควบคุมไปเข้าที่ขาพรีเซ็ตกับเคลียร์ของฟลิปฟลอปแต่ละตัวโดยตรง แสดงดังรูปที่ 17.4
![[image%5B54%5D.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhl8zO18PElLPjqx0vdWqbkevOwRJoRIFniZJxxyqui-jSQ7i4r4g9fwD4zV4DltLcnT1bZnMnFGZi0iDasUmKaUyx8cv2ExKXVwUjpBcn2zYeg1pM27Hh6_NA2E-bDm6QiIieW4LiM7Kmt/s1600/image%255B54%255D.png)
![[image%5B48%5D.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCJlqyeX0N7kgNl2pn8vTfHeT5128imoGBSW_OXUNUTexp3jxSv09TaQlLWCUoJH4Hw4OSqQbFrInIRXSZWe4LK52h4oSxmHHUc811vUOmn-KL6E2LFZLdGf3CdhfbDPpcgWNyV-yDxYVQ/s1600/image%255B48%255D.png)
![[image%5B53%5D.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghA56_9mzQaO5ppOnabqDUhpenaTtXf0-lvnJNpSNMd5mqod-bl4J89N6QL6KRPyX-UnRPzXXL4pvgbbnmoHhTRAKV3D6JWgmrneZuaUxT8bEbnwSQ6i94MJgqRq8ItJMxVqxjZn3ejzcI/s1600/image%255B53%255D.png)
รูปที่ 17.4 วงจรรีจิสเตอร์แบบขนานเข้า – อนุกรมออก ชนิดนำข้อมูลเข้าแบบไม่ต้องเข้าจังหวะ
![[image%5B50%5D.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsFlUJlZJy6uqAUeFuqhixq3WyiufQ0M-Uvs-efW0UlNBIyKeuApB5PuJ1O8WFbwIfQtpnKl4xkKZqmH-Drr38-PdFkz_Wejzy_49wfZdsmvxK9CoINeGnfSwuD1eWIbE4-U1EduAZcxh6/s1600/image%255B50%255D.png)
รูปที่ 17.5 วงจรรีจิสเตอร์แบบขนานเข้า – อนุกรมออก
ชนิดนำข้อมูลเข้าแบบเข้าจังหวะ
แบบขนานเข้า – ขนานออก
เมื่อนำข้อมูลอินพุตเข้าพร้อมกัน และนำข้อมูลออกที่เอาต์พุตพร้อมกัน เรียกว่าแบบขนานเข้า – ขนานออก
![[image47.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXCR9rBfRx3Ui4AHdlbCQ35jmsr-2YcBkZJlXjt1kGazNhg_B1zr8Z2W2DZsbaZgv_AtXcRy4ebn49kq2NBpi1qI7iTk_4LUqTohWFRTwdTulbvOG1nApB3adM1droItcNx0vx2Rhhmex/s1600/image47.png)
รูปที่ 17.6 วงจรรีจิสเตอร์แบบขนานเข้า – ขนานออก
จากรูปที่ 17.6 เป็นวงจรรีจิสเตอร์แบบขนานเข้า – ขนานออก ข้อมูลแบบขนานจะถูกป้อนเข้าที่อินพุต PA ถึง PDของฟลิปฟลอปทุกตัว และข้อมูลขนานออกที่เอาต์พุต QA ถึง QD
ไอซีไบนารีรีจิสเตอร์
ไอซีเบอร์ 7495 เป็นไอซีไบนารีรีจิสเตอร์ ขนาด 4 บิต แสดงลอจิกไดอะแกรม ดังรูปที่ 17.7
ไอซีเบอร์ 7495 เป็นไอซีไบนารีรีจิสเตอร์ ขนาด 4 บิต แสดงลอจิกไดอะแกรม ดังรูปที่ 17.7
![[image44.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm3j29K4JvjSXXZcHUSdD3unHocOLTOdFQK2NJSaJSQfK99sN7EXuDV0q9r_9lqVWisqu6bjvzeU6-jssThkk4FSuBYCafd0ta7RwgcFYmtR76l9NOzSGEUgicdlauu2OPemF0ubUPI0MP/s1600/image44.png)
รูปที่ 17.7 ไอซีไบนารีรีจิสเตอร์ เลื่อนข้อมูลขวา/ซ้าย
วงจรลอจิกเกตที่ต่อเพิ่มเติม
สามารถควบคุมให้รีจีสเตอร์สามารถเลื่อนข้อมูลไปทางซ้าย หรือ
เลื่อนข้อมูลไปทางขวาได้ สำหรับการทำงานในการเลื่อนข้อมูลไปทางซ้าย เอ้าต์พุต Q
ของฟลิบฟลอบ ตัวหลังจะต้องต่อย้อนกลับไปยังอินพุตของฟลิบฟลอบตัวหน้า
ซึ่งสามารถใช้ไอซีออร์เกตเบอร์ 7432 มาต่อช่วยอีกตัวหนึ่ง
และยังทำให้สามารถนำข้อมูลเข้าแบบขนานเข้าสู่รีจีสเตอร์ได้ด้วย
การส่งถ่ายข้อมูลระหว่างรีจิสเตอร์
ในระบบงานดิจิตอล
จำเป็นต้องส่งถ่ายข้อมูลจากรีจิสเตอร์ตัวหนึ่งไปยังรีจิสเตอร์อีกตัวหนึ่ง
สามารถทำได้สองวิธี คือ การส่งถ่ายข้อมูลแบบอนุกรม และการส่งถ่ายข้อมูลแบบขนาน
ดังแสดงใน รูปที่ 17.9
![[image38.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6dqU4DeruWQjM2nbJUkzB4Bd4vDGdQ_uQayMEn3TMUgYPl2s_gv9_uVDLmc1aTXdhCXXrbJjszRka0KRA7durDmtmnEs8TvoTtxqCwuEidnF6_gDnjBry1XSgBU9-zmvg96lO36ZNYVA/s1600/image38.png)
รูปที่ 17.9 การส่งถ่ายข้อมูลระหว่างรีจิสเตอร์ (แบบอนุกรม)
![[image39.png]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK00M6arfgvEeKSKTZAaMzGXEo33i7nfuf_SmzS-yGmmLjpF624Lq4r13H8fUFLbPeNr-3qv9a1zI7ntoAPQ-PRQVAVjknggk3gQfSJxd4SlbVlEjI7ABj4ctZEHeoqHYLp24lVe9ev5Hp/s1600/image39.png)
การส่งถ่ายข้อมูลระหว่างรีจิสเตอร์
(แบบขนาน)
ดอทเมตริกซ์ (Dot Matrix)
ดอทเมตริกซ์ (Dot Matrix) เป็นอุปกรณ์แสดงผล แบบเดียวกับ LED ค่ะ คือจะเป็นการนำเอา LED หลายๆตัวมาต่อเรียงกัน
เป็นหลัก เป็นแถว ซึ่งเราจะเห็นการใช้งานดอมเมตริกซ์ในการทำป้ายไฟวิ่ง โดยเราจะนำเอาดอทเมตริกซ์ หลายๆตัวมาต่อกัน แล้วเขียนโปแกรมผ่านไมโครคอนโทลเลอร์
หรือ คอมพิวเตอร์ผ่านวงจรขับดอทเมตริกซ์ เราก็สามารถทำไฟวิ่งได้เช่นกันค่ะ
รูปภายในของดอทเมทริกซ์
ตัวอย่างวีดีโอที่น่าสนใจเกี่ยวกับShift Rehgister