วันอาทิตย์ที่ 5 มิถุนายน พ.ศ. 2559

Linkit Smart 7688 Duo (ตอนที่ 3) i2c LCD

ในบทความนี้เราจะมาใช้งานจอแสดงผลแบบตัวอักษร 20x4 ใช้การเชื่อมต่อแบบ i2c จากก่อนหน้านั้นเราทราบกันแล้วว่าในส่วนของ Duo นั้นเราไม่สามารถใช้งาน GPIO ของ MPU ได้โดยตรงเพราะว่าใน Duo นั้นจะมี ATMega32U4 ในการติดต่อสื่อสารกับ MPU




ซึ่งจริง ๆ แล้วถ้าเราไม่ใช้ 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 จะอยู่ที่ 

  1. D2 = SDA
  2. D3 = SCL
ส่วน LCD  นั้นจะใช้ไฟ 5V เราสามารถต่อได้จาก 5V ที่อยู่บน Duo ได้เลย



Upload Script



สั่งรัน Sctipt ด้วยคสั่ง node i2c_lcd



จาก 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 ติดปีก




ไม่มีความคิดเห็น:

แสดงความคิดเห็น