ควันหลงจากงานโอลิมปิค ที่ google ช่างจะขยันเหลือเกิน ปรับเปลี่ยน doodle ให้เป็นเกมส์ให้ได้ลองเล่นด้วย ซึ่งมันก็มีตั้งแต่ วิ่งกระโดดข้ามสิ่งกีดขวาง, บาสเก็ตบอล, เรือพาย เรื่องมีอยู่ว่า ผมนั่งเล่นอยู่หลายนาที
มันเล่นได้เพลิน ยิ่งเล่น keyboard ยิ่งพัง รู้สึกว่าเกมส์นี้ มันออกแบบเพื่อทำลายล้าง keyboard แน่ ดูจากรูปก็รู้เกมส์นี้ ไม่ต้องใช้สมอง ใช้ความเร็วของนิ้วครับ มันเริ่มไม่สร้างสรรค์ ไม่ใช่แนวสักล่ะ
ผมจึงคิดได้ว่า กำลังจะมีบอร์ดใหม่ที่ต่อตรงกับ USB ได้ จึงเป็นที่มางานแรกของบอร์ด Leonardo ซึ่งเป็นบอร์ดทดลอง arduino clone ตัวใหม่ ที่ตอนนี้ทางเรากำลังทดลอง ใช้งานครับ หาปัญหา กับ วิธีแก้ไข
สำหรับบอร์ด Leonardo ตัวนี้มีอะไรใหม่บ้าง คือ
- ราคาถูกลง ต้นทุนจะถูกลง ลดไอซี usb2serial ออกไป
- ตัวบอร์ด ใช้ Libary ชุดเดิม และ เบิร์น USB ได้เหมือนเดิม
- บอร์ดนี้ มีความสามารถทาง USB เพิ่มมาด้วย เนื่องด้วยตัวไอซีใหม่ ที่ใส่ไปมันมี Hardware USB ในตัวครับ มันสือสารกับ USB ได้ง่าย
- เชื่อมต่อ USB จึงทำให้บอร์ดนี้จำลองตัวเองเป็น Serial ,Keyboard ,Mouse แบบ USB ได้
- ซึ่ง ถ้าความสามารถ USB ฮิตๆ ในอนาคตอาจจะ Support Joystick และ USB MIDI ได้อีกด้วย
แต่ข้อเสียมันก็มีครับ จากที่ลองใช้มา การไม่มี USB2Serial บนบอร์ด ทำให้เวลากด Reset , usb2serial ที่เป็น software มันจะหายไป ฉะนั้นโปรแกรมสื่อสารบนเครื่องคอมพิวเตอร์ที่ติดต่อกับ port นั้น จะมีปัญหาทันที่ ที่พอ port หายไป ซึ่งผมไม่คิดว่า มันแก้ไขไม่ได้ครับ คนที่ใช้ Leonardo ก็ต้องทราบข้อจำกัดนี้ นิดหนึ่ง
จากความสามารถใหม่นี้เอง จึงได้กดไอเดีย ทำเครื่องโกงเกมส์พายเรือสักเลย โดยจำลองการกด Arrow Left – Right เร็วๆ รั่วๆ แทน ซึ่งผลคะแนนนะครับ ถ้าโชดดี ไม่โดนจระเข้ขวาง จะพุ่งเร็วเป็นจรวดเลย
แถมด้วยตัวอย่างโค๊ด เดี่ยวจะหาว่ายาก แค่นี้จริงๆครับ
void setup() { //pinMode(2, INPUT_PULLUP); pinMode(13, OUTPUT); Keyboard.begin(); } void loop() { // while (digitalRead(2) == HIGH) { // do nothing until pin 2 goes low // delay(500); // } // delay(1000); digitalWrite(13,HIGH); Keyboard.press(KEY_RIGHT_ARROW); delay(5); Keyboard.release(KEY_RIGHT_ARROW); delay(20); digitalWrite(13,LOW); Keyboard.press(KEY_LEFT_ARROW); delay(5); Keyboard.release(KEY_LEFT_ARROW); delay(20); // Keyboard.releaseAll(); }
Arduino ธรรมดาที่ไม่ใช่ Leonado ทำแบบนี้ไม่ได้ใช่ไหมครับ
ถ้าเป็น UNO พอทำได้นะครับ
เปลี่ยน mega8u2 จาก serial เป็น HID ก่อนนะครับ
แต่ใช้ leonardo สบายกว่าเยอะ
ไม่ได้ครับ leonardo เป็นรุ่นเดียวที่ใช้ชิพใหม่ จำลอง keyboard mouse ได้