ซึ่งจริง ๆ แล้วถ้าเราไม่ใช้ Firmata ที่เป็น Protocal มาตรฐานแล้ว เราก็สามารถที่จะพัฒนาในส่วนของ ATMega32U4 ขึ้นมาเองได้เหมือนกัน แต่จะทำให้ระยะเวลาในการพัฒนานานขึ้นเพราะเราต้องทำทั้งสองฝั้ง
จากรูปด้านบนเราจะเห็นว่าในส่วนของ Duo นั้นจะใช้ GPIO ของ ATMega32U4 ซึ่ง Firmata จะเป็น Protocal มาตรฐานที่มีใช้อยู่ใน Arduino IDE อยู่แล้ว ส่วนที่เหลือเราก็แค่ Implement ในส่วนการทำงานของ MPU อย่างเดี่ยว ในที่นี้เราจะใช้การทำงานของ NodeJS (JavaScript)
Linkit Smart 7688 Duo Pinout
ในการ interface i2c LCD กับ Duo นั้นให้เราดูที่แทบสีส้ม ๆ ซึ่งจะเป็น GPIO ของ ATMega32U4 (Arduino) i2c จะอยู่ที่
- D2 = SDA
- D3 = SCL
ส่วน LCD นั้นจะใช้ไฟ 5V เราสามารถต่อได้จาก 5V ที่อยู่บน Duo ได้เลย
Upload Script
จาก Code
บรรทัดที่ 1 เป็นการเรียกใช้งาน package johnny-five
บรรทัดที่ 2 สร้างส่วนติดต่อกับบอร์ด ซึ่งการติดต่อระหว่าง MPU กับ MCU จะใช้ ttyS0 กับ Serial1
บรรทัดที่ 4 เป็น function callback ถ้าการติดต่อสำเร็จจะถูกเรียกใช้งาน
บรรทัดที่ 5 จะเป็นการสร้าง object LCD แล้วระบุว่าใช้ controller เบอร์อะไร (PCF8574) รายละเอียด
บรรทัดที่ 7, 8 เป็นการระบุว่า LCD ที่เราใช้มีกี่ Row กี่ Column ถ้าหากไม่กำหนดค่า Default ของ roes = 2, cols = 16
ผลจากการรัน script
จาก code ตัวอย่างจะทำการจะทำการอ่านค่า IP Address มาแสดงผล จะเห็นว่าหลังจากที่เราได้ทำการ upload sketch StandardFirmata ลงไปแล้วในส่วนของ ATMega32U4 (Arduino) เราไม่ต้องไปทำอะไรกับมันอีกเลย
Arduino ติดปีก
ไม่มีความคิดเห็น:
แสดงความคิดเห็น