โครงงาน "Electronics Door Magnetic Card" วัตถุประสงค์ 1.เพื่อศึกษาวิธีการถอดรหัสข้อมูลที่อยู่บนแถบแม่เหล็ก 2.เพื่อศึกษาวิธีการติดต่อรับ-ส่งข้อมูลผ่านพอร์ตอนุกรมมาตรฐาน RS232 3.เพื่อนำวิธีการตามข้อ 1 และ 2 ไปประยุกต์ใช้งานในลักษณะอื่นต่อไป อุปกรณ์ 1.เครื่องอ่านบัตรแม่เหล็ก (Magnetic Card Reader) พร้อมกับบัตรแถบแม่เหล็ก 2.บอร์ดควบคุม จะหาซื้อตามท้องตลาดหรือทำวงจรเองก็ได้ 3.Connector DB9(female) 4.เครื่องคอมพิวเตอร์สำหรับเขียนโปรแกรม 5.เครื่องโปรแกรมสำหรับโปรแกรม IC ( AT89C2051 ) |
||||
![]() |
อธิบายหลักการทำงานดังนี้ สัญญาณที่ได้จากเครื่องอ่านบัตรโดยการรูดบัตรแถบแม่เหล็ก จะถูกประมวลผลโดย IC at89c2051 ที่อยู่บนบอร์ดควบคุม โดยการโปรแกรมให้ถอดรหัสสัญญาณออกมาเป็นสัญญาณดิจิตอล เพื่อที่จะส่งสัญญาณดิจิตอล ออกไปแสดงผลที่จอคอมพิวเตอร์ โดยส่งข้อมูลผ่าน มาตรฐาน RS232 และสัญญาณที่ได้ยังจะถูกนำไปเปรียบเทียบกับข้อมูลที่ทำเป็น ฐานข้อมูลไว้ เพื่อใช้เป็นเงื่อนใขในการเปิดประตูหรือจะใช้ประยูกต์ในการควบคุมอุปกรณ์อย่างอื่นต่อไป |
|||
วิเคราะห์สัญญาณที่ได้จากเครื่องอ่านบัตรแถบแม่เหล็ก เมื่อจ่ายไฟเลี้ยงให้กับเครื่องอ่านบัตรแถบแม่เหล็กแล้วรูดบัตรที่มีข้อมูลอยู่บนบัตร แล้วใช้ "Logic analyzer " ตรวจจับสัญญาณจะได้สัญญาณออกมาในลักษณะคล้ายกันกับภาพ |
||||
ลักษณะของสัญญาณอธิบายได้ว่าเมื่อสภาวะเริ่มต้นสัญญาณทั้ง3เส้นจะมี สถานะเป็น Hi เมื่อรูดบัตรแถบแม่เหล็กจะทำให้สายสัญญาณ CP เป็น Low ไปจนกว่าบัตรจะพ้นไปจากเครื่องอ่าน (End Card) ในช่วงจังหวะที่สาย CP เป็น Low จะเป็นช่วงที่เครื่องอ่านข้อมูลบนบัตรและส่งออกมาตามสายสัญญาณ DATA และข้อมูลจะหยุดส่งเมื่อสัญญาณ CP เป็น Hi อีกครั้ง โดยมีสัญญาณ CLK เป็นตัวกำหนดจังหวะในการส่งข้อมูล ดังนั้นการรูดบัตรไม่ว่าจะเร็วหรือช้าแต่เป็นการรูดที่ต่อเนื่องกันไปก็จะได้ข้อมูลชุดเดียวกันตลอดบนบัตรเดียวกัน |
||||
บอร์ดควบคุมใช้ AT89C2051 เป็นตัวประมวลผลกลาง ซึงเป็น IC ตระกูล MCS-51 Atmel เป็นผู้ผลิต ./.-ข้อมูลที่เข้ามาตามสายสัญญาณ DATA ต่อเข้ากับสายสัญญาณพอร์ต P1.2 ของ at89c2051 สายสัญญาณ CP ต่อเข้ากับ P1.3 และสัญญาณนาฬิกา (CLK) ต่อกับ P1.4 สำหรับ P1.5 และ P1.6 ใช้สำหรับเป็น สัญญาณออก (Output) เพื่อใช้ในการควบคุมอุปกรณ์อื่นต่อไป ในที่นี้ใช้สำหรับแสดงสถานะ LED แทนการเปิด-ปิดประตู ส่วนวงจรที่ใช้สำหรับสื่อสารอนุกรม RS232 นั้นถ้าใช้บอร์ดที่ทำเองก็ต่อสายสัญญาณให้ถูกต้อง ส่วนบอร์ดที่ซื้อมาส่วนมากจะมีส่วนของ RS232 รองรับอยู่แล้ว | ||||
![]() |
อธิบายหลักของโปรแกรมดังนี้ เริ่มแรกจะรับข้อมูลเข้ามา หลังจากนั้นจะตรวจสอบการรับข้อมูลว่า ข้อมูลที่เข้ามาถูกต้องหรือไม่ ในที่นี้หมายถึงข้อมูลที่เข้ามาจากการรูดบัตรเข้ามาครบหรือไม่ โดยตรวจจากสัญญาณจากสาย CP จะต้องกลับมามีสถานะเป็น Hi อีกครังหลังจาก ที่รูดบัตรผ่านไปแล้วเรียกว่า End Card. ถ้าข้อมูลที่เข้ามาถูกต้องต่อไปก็จะทำการแปลงข้อมูลดิจิตอลที่ได้เป็นรหัสข้อมูล ASCII แล้วนำไปเปรียบเทียบกับฐานข้อมูล (ในที่นี้จะเขียนลงไปพร้อมกับโปรแกรมซึ่งเป็นทางเลือกที่ไม่ค่อยจะเหมาะสมเพราะว่าหากจะเพิ่มผู้ใช้จะต้อง ทำการโปรแกรมข้อมูลเข้าไปใน IC at89c2051ใหม่) หลังจากเปรียบเทียบข้อมูลผ่านแล้วก็โปรแกรมให้สถานนะของ P1.5 เป็น Hi เพื่อควบคุมการเปิด-ปิดประตูและส่งข้อมูลไปยัง พอร์ตอนุกรม ถ้าการเปรียบเทียบข้อมูลไม่ถูกต้องเช่นกรณีที่เป็นบัตรที่ไม่ได้รับอนุญาต สถานะของ P1.6 จะเป็น Hi เพื่อที่จะแสดงสถานะบ่งบอกความผิดพลาด ในที่นี้ใช้ Red-LED แสดงสถานะ |
|||