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

ไฟวิ่งควบคุมด้วยไมโครคอนโทรลเลอร์

วงจรไฟวิ่ง

ลายวงจร

การลงอุปกรณ์

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

การทำงานของวงจร
ส่วนฮาร์ดแวร์

......การทำงานในส่วนฮาร์ดแวร์ไม่มีอะไรมากจะไปเน้นที่ซอฟแวร์ เมื่อจ่ายไฟเข้า D1 จะเป็นตัวป้องกันการต่อไฟผิดขั้ว โดยให้ไฟบวกผ่านได้อย่างเดียว IC1 7805 เป็นตัวรักษาระดับแรงดันไฟให้ได้ 5 โวลท์ มี C1 ช่วยให้ระดับแรงไฟเรียบขึ้น แรงดัน 5 โวลท์นี้จะไปใช้เลี้ยงวงจรทั้งหมด มาดูที่ตัวสำคัญของวงจร คือ IC2 PIC16C54-RC/P ซึ่งเป็นไมโครคอนโทรลเลอร์ ของบริษัทไมโครชิพ ที่นิยมใช้กันขณะนี้ มีข้อดีหลายประการ คือกินกระ แส ไฟต่ำ มีภาคกำเนิดความถี่เพียงใช้ R กับ C คือ VR1 และ C2 สามารถปรับความถี่ให้ช้าหรือเร็วได้ด้วย VR1 มีพอร์ตให้ใช้งานได้ 2 พอร์ต คือพอร์ต A 4บิต และพอร์ต B 8 บิต เราจะใช้งานทั้งหมด แต่ละพอร์ตจ่ายโหลดได้สูงพอควร มีคำสั่งเพียง 33 คำสั่งไม่ต้องจำมาก นี่คือเหตุผลที่เลือกเบอร์นี้ ที่แต่ละบิตจะมีตัว LED ต่ออนุกรมอยู่ 2 ตัว เพื่อความสวยงามเราจะใช้ LED เขียวกับแดง โดย LED ที่เป็นเลขคี่จะใช้สีเขียว และเลขคู่จะใช้สีแดง ถ้าจะใช้ทำไฟเบครถให้ใช้สีแดงทั้งหมด ไฟบวกจะไหลผ่าน R1-R12 ผ่าน LED มารอที่ PIC 16C54 อยู่แล้ว เพียง PIC ทำงานสั่งต่อขาคาโทดของ LED ลงกราวด์ LED ก็จะสว่างทันที R1-R12 มีไว้จำกัดกระแสของ LED ให้เหมาะสม ทีนี้จะให้ดวงไหนติดบ้างก็ขึ้นกับการโปรแกรม

 

ส่วนซอฟแวร์

......เมื่อเริ่มต้นจ่ายไฟ ก็กำหนดให้พอร์ต A และพอร์ต B เป็น เอาต์พุต ต่อจากนั้นก็ต้องกำหนดรูปแบบวิธีการวิ่ง เช่นให้ดวงซ้ายและขวาวิ่งมาชนกันตรงกลาง เราก็กำหนดดังนี้

0111,1111,1110 พอร์ต A = 0111 , พอร์ต B = 11111110
1011,1111,1101 พอร์ต A = 1011 , พอร์ต B = 11111101
1101,1111,1011 พอร์ต A = 1101 , พอร์ต B = 11111011
1110,1111,0111 พอร์ต A = 1110 , พอร์ต B = 11110111
1111,0110,1111 พอร์ต A = 1111 , พอร์ต B = 01101111
1111,1001,1111 พอร์ต A = 1111 , พอร์ต B = 10011111

......โดย 0 คือ LED ติด และ 1 คือ LED ดับ ที่ให้ 0 เป็น LED ติดนั้น ก็เพราะวงจรนี้ออกแบบมาให้แบบ LED มีไฟบวกมารออยู่แล้ว เป็นแบบ แอคทีฟโลว์ หลังจากกำหนดเสร็จแล้วก็สามารถสั่งให้แสดงออกที่พอร์ตได้เลย ช่วงที่เปลี่ยนสเต็ปการวิ่งนั้น ไมโครคอนโทรลเลอร์จะทำงานด้วยความไวมาก จนตาเราดูไม่ทัน ดังนั้นต้องหน่วงการทำงานแต่ละสเต็ปให้ทำงานค้างสักครู่ด้วยการดีเลย์หรือการวนลูปคำสั่งก่อนที่จะเปลี่ยนไปแสดงสเต็ปต่อไป และในช่วงแต่ละสเต็ปก็ต้องเคลียร์ให้ LED ดับก่อนที่จะสั่งให้สเต็ปต่อไปทำงาน โดยกำหนดให้พอร์ต A และ พอร์ต B เป็น 1111,11111111 ไม่เช่นนั้นจะทำให้ดูเบลอ ๆ การวิ่งแยกไม่ชัดเจน คำสั่งที่ใช้ให้แต่ละพอร์ตทำงานนั้น มีหลายรูปแบบ เช่นสั่งตรงๆ ไปที่แต่ละพอร์ตเลย หรือใช้วิธีเลื่อนรีจีสเตอร์ของแต่ละพอร์ต หรือใช้วิธีเขียนรูปแบบการวิ่งไว้ที่ตารางข้อมูลแล้วค่อยดึงไปออกที่พอร์ตอีกที ซึ่งขึ้นกับความถนัดของแต่ละคน และสามารถหาความรู้ได้จากหนังสือไมโครคอนโทรลเลอร์หรือไมโครโปรเซสเซอร์ ทั่ว ๆไป ซึ่งมีเทคนิคในการใช้งานแต่ละงานที่คล้าย ๆกัน แต่อาจจะต่างกันตรงที่คำที่ใช้แทนความหมาย เช่นการกอปปี้ข้อมูล บางเบอร์ใช้ LDDA X บางเบอร์ใช้ LD A,X บางเบอร์ใช้ MOV A,X ส่วนของ PIC ที่ใช้ในโครงงานนี้ใช้ MOVLW X ซึ่งก็มีความหมายไม่ต่างกันนัก เมื่อเราอ่านมาก ๆ ก็จะสามารถปรับเปลี่ยนได้ไม่ยาก ขอเพียงให้เราจำรูปแบบไว้ เช่นการวนลูปทำอย่างไร การใช้ตารางข้อมูลทำอย่างไร ไม่จำเป็นต้องจำคำสั่ง เพราะคำสั่งใช้บ่อย ๆก็จำได้เอง ถ้าลืมก็เปิดคู่มือดูได้ให้จำเทคนิคต่าง ๆ เช่นการหน่วงเวลาแสดงผล อาจจะใช้การหน่วงเวลาแบบแสดงผลซ้ำ ๆ หลาย ๆครั้ง หรือใช้การแลทช์ข้อมูลแล้วไปนับเลขแล้วค่อยมาทำงานต่อ หรือแลทช์ข้อมูลไว้แล้วไปทำโปรแกรมย่อยแล้วกลับมาทำต่อก็ยังได้ อ่านมากรู้มาก การปรับใช้ไมโครคอนโทรลเลอร์เบอร์ต่าง ๆ ก็ง่าย ซึ่งจะทำให้เราเป็นคนหนึ่งที่ใช้ไมโครคอนโทรลเลอร์ได้พอตัว โดยขึ้นกับงาน ไม่ขึ้นกับเบอร์ใดเบอร์หนึ่ง สำหรับท่านที่นึกภาพไม่ออก ว่ามีการวิ่งลักษณะไหนบ้าง สามารถซื้อชุดคิตไปดูเป็นแนวทางได้ รายละเอียดอยู่รายการอุปกรณ์

การสร้างและการใช้งาน

......เริ่มด้วยการใส่ R บัดกรีให้เสร็จ ต่อจากนั้นใส่ LED โดยใส่สีเขียวที่เลขคี่ และสีแดงที่เลขคู่ เพราะจะทำให้ขณะวิ่งดูสวยงามขึ้น บัดกรีเสร็จตัดขาของ LED มาใส่เป็นสายจั๊มซึ่งมีอยู่จุดเดียว ส่วน IC1 7805 ให้พับขางอไปด้านหลัง 90 องศา เพื่อตอนใส่จะได้แนบกับปริ๊นต์ ไดโอด กับ C 10UF ดูให้ดีอย่าใส่กลับขั้ว PIC ควรใส่ซอกเกตต์ บัดกรีทุกตัวเสร็จแล้ว ใส่ PIC ให้ถูกขาด้วย เมื่อตรวจทุกอย่างถูกต้องก็จ่ายไฟเข้าได้เลย ใช้ไฟกระแสตรงได้ตั้งแต่ 5-30 โวลท์ ใช้แบตเตอรี่ 9 โวลท์ ทดลองก็ได้ ปรับความเร็วการวิ่งได้ด้วย VR ถ้าไปต่อเป็นไฟเบคก็ต่อขั้วลบเข้าโครงและต่อขั้วบวกที่หลอดไฟเบค สำหรับท่านที่ต้องการไปขับโหลดที่ใหญ่ขึ้น เช่น หลอด100 วัตต์ ก็สามารถทำได้ โดยใช้ออปโต้คัปเปิ้ลต่อแทน LED วงจรตัวอย่างดังแสดงที่รูป 2

รูปที่ 2

 



1