ทำความรู้จักกับ Knob บนแมคคานิคอลคีย์บอร์ด
ในช่วง 2-3 ปีที่ผ่านมา ผู้ที่มีความสนใจในแมคคานิคอลคีย์บอร์ดจะเริ่มเห็นฟีเจอร์อย่างหนึ่งที่มากับคีย์บอร์ดมากขึ้น นั่นก็คือเจ้า knob ที่เอาไว้หมุนซ้าย-ขวาเพื่อส่งคำสั่งไปที่คอมพิวเตอร์แทนการกดปุ่มบนแป้นคีย์บอร์ดนั่นเอง ซึ่งฟีเจอร์ดังกล่าวก็กำลังจะมาในคีย์บอร์ด Keychron รุ่น Q1 Knob โดยวันนี้เราจะขอพาไปรู้จักกับ knob หรือ rotary encoder ว่ามันคืออะไร ทำงานอย่างไร และสามารถนำไปใช้งานอย่างไรได้บ้างครับ
แท้จริงแล้ว การเรียกเจ้าลูกบิดนี้ว่า knob อาจจะดูไม่ครอบคลุมฟีเจอร์ทั้งหมดที่มันทำได้ เพราะว่าเจ้าตัวลูกบิดที่เราใช้เพื่อหมุนซ้าย-ขวานั้นเป็นเพียงองค์ประกอบหนึ่งของตัวควบคุมที่ทำหน้าที่ป้อนข้อมูลทิศทางการหมุนของตัวแกนให้กับ microcontroller บนคีย์บอร์ด เพื่อนำไปแปลงเป็นข้อมูลที่จะส่งไปควบคุมเครื่องคอมพิวเตอร์ของเราอีกต่อหนึ่งเท่านั้น โดยชื่อจริงๆ ของเจ้าอุปกรณ์ที่หมุนซ้าย-ขวาได้ตัวนี้ก็คือ rotary encoder นั่นเองครับ
ถึงแม้ว่าเจ้า rotary encoder นี้จะเพิ่งได้รับความสนใจจากเหล่าผู้ชื่นชอบแมคคานิคอลคีย์บอร์ดในช่วงไม่กี่ปีที่ผ่านมา ในความเป็นจริงเราก็ได้เห็นฟีเจอร์นี้ในคีย์บอร์ดเกมมิ่งแบรนด์ใหญ่ๆ มาเยอะพอสมควรแล้ว โดย encoder จะมาในรูปแบบของลูกบิดที่ใช้เพิ่ม-ลดเสียงของระบบปฏิบัติการในเครื่องคอมพิวเตอร์นั่นเอง และนอกจากบนคีย์บอร์ดแล้ว เรายังพบการใช้งานอื่นๆ ของ rotary encoder ได้ในชีวิตประจำวันของเราอีกด้วย โดยสังเกตได้ง่ายๆ ว่าถ้าลูกบิดบนอุปกรณ์ไฟฟ้าที่กำลังใช้งานสามารถหมุนได้รอบทิศในทิศทางไหนก็ได้ แปลว่าลูกบิดของอุปกรณ์นั้นๆ กำลังใช้เจ้า rotary encoder อยู่นั่นเองครับ
rotary encoder สามารถแบ่งประเภทได้ 2 แบบใหญ่ๆ คือแบ่งตามวิธีการส่งสัญญาณของตัว encoder และแบ่งตามวิธีที่ตัว encoder ใช้จับทิศทางซ้าย-ขวา โดยตัว encoder ที่เราจะพบได้ทั่วไปบนคีย์บอร์ดแบบ mechanical จะเป็นแบบ incremental encoder เนื่องจากเราไม่ต้องการความซับซ้อนของข้อมูลที่ส่งออกมาจากตัว encoder หรือความละเอียดของทิศทางการหมุนตัวแกนที่สูงมากในแบบที่พบได้ใน encoder รูปแบบอื่นครับ
วิธีการทำงานของ incremental rotary encoder มีดังนี้ครับ: ภายในแกนของตัว encoder จะมีหน้าสัมผัสไฟฟ้าอยู่ 2 จุด เมื่อมีการหมุนตัวก้าน encoder จะส่งผลให้หน้าสัมผัสด้านใดด้านหนึ่งได้รับสัญญาณไฟฟ้าก่อนอีกด้าน แล้วจึงส่งสัญญาณดังกล่าวไปที่ตัวแผงควบคุม (microcontroller) ของคีย์บอร์ดเพื่อแปลผลว่าด้านใดได้รับสัญญาณก่อน/หลัง แล้วตัวแผงควบคุมจึงทำการแปลค่ากระแสไฟฟ้าที่ได้รับออกมาว่าเป็นการหมุนซ้ายหรือขวา จากนั้นจึงส่งข้อมูลที่แปลแล้วไปควบคุมคอมพิวเตอร์ของเรา หรือทำตามฟังก์ชั่นอื่นๆ ที่เราได้ตั้งค่าไว้ให้กับ encoder ของเราครับ
เมื่อพูดถึงการตั้งค่าให้กับ rotary encoder แล้ว ข้อจำกัดของคีย์บอร์ดที่มี rotary encoder ที่ผ่านๆ มาคือการที่ผู้ใช้ไม่สามารถตั้งค่าให้กับตัว encoder ได้มากเท่าที่ควร แต่ด้วย Keychron รุ่น Q1 Knob ของเรา จะทำให้ผู้ใช้สามารถตั้งค่าตัว rotary encoder ให้หลากหลายมากกว่าเดิมอย่างแน่นอน โดยเราจะมาพูดถึงการตั้งค่าและใช้งาน rotary encoder ในโพสต์ถัดไปครับ
ที่มา: https://howtomechatronics.com/tutorials/arduino/rotary-encoder-works-use-arduino/