โปรเจคนี้มันอ่านค่าจากจอยสติ๊กอนาล็อก แล้วแสดงพิกัด X กับ Y ลงบนจอ LCD ให้ดูเลย! ไอเดียเกิดตอนที่แฟนให้จอยสติ๊กเป็นของขวัญวันคริสต์มาสก่อนเวลา (ใจดีเวอร์)
ของที่ต้องใช้ก็มี Arduino Uno R3, จอ LCD 16x2, ตัวต้านทานปรับค่าได้ 10K (Potentiometer), จอยสติ๊ก 2 แกน แล้วก็สายไฟเยอะๆ หน่อย!
Analog Navigation: Joystick to LCD
ก่อนจะมีจอสัมผัส จอยสติ๊กนี่แหละคือราชาแห่งการควบคุมเลย โปรเจค Joystick to LCD นี้จะสอนให้น้องรู้วิธีอ่านค่าอนาล็อกจากสองแกน แล้วแปลงมันเป็นระบบพิกัดไปแสดงบนหน้าจอดิจิทัล ง่ายๆ แต่มันส์!
การแมปพิกัด X และ Y
จอยสติ๊กของ Arduino จริงๆ แล้วก็คือตัวต้านทานปรับค่าได้ (Potentiometer) สองตัวซ้อนกันนั่นแหละ
- แกน X: ส่งค่ามาที่ Analog Pin A0 ค่าจะอยู่ระหว่าง 0-1023 ตอนพักจะอยู่ประมาณ 512
- แกน Y: ส่งค่ามาที่ Analog Pin A1 ค่าจะอยู่ระหว่าง 0-1023 ตอนพักจะอยู่ประมาณ 512
- ปุ่มกด: มันมีสวิตช์แบบปุ่มกดดิจิทัลด้วย เวลากดจอยลงไปเลย
โค้ด Arduino ของเราต้องตีความว่า ถ้าค่าแกน X "มากกว่า 700" ก็คือ "เลื่อนเคอร์เซอร์ไปขวา" ส่วนถ้า "น้อยกว่า 300" ก็คือ "เลื่อนเคอร์เซอร์ไปซ้าย" ง่ายมั้ยล่ะ!
การประกอบฮาร์ดแวร์
- Arduino Uno/Nano: หัวใจหลักของโปรเจค
- โมดูลจอยสติ๊ก: ตัวควบคุม
- จอ LCD แบบข้อความ 16x2 หรือจอกราฟิกอย่าง Nokia 5110
- สายจัมเปอร์ (เตรียมเยอะๆ หน่อยนะ)
สร้างอินเทอร์เฟซผู้ใช้
โปรเจคนี้คือบันไดก้าวแรกสู่การสร้างเมนูตั้งค่าสุดเท่ให้กับเครื่องพิมพ์ 3D หรือหุ่นยนต์ของน้องเลย น้องจะได้เขียนฟังก์ชันที่ให้ผู้ใช้ดันจอย UP/DOWN เพื่อเลื่อนดูตัวเลือกต่างๆ (เช่น อุณหภูมิ, การตั้งค่า, การปรับเทียบ) แล้วกด "Click" เพื่อเลือกตัวเลือกนั้นได้เป๊ะๆ งานนี้จัดไปวัยรุ่น! สู้งานนะน้อง