แก้ Library I2C4BIT ยังไงดีครับ

Started by pacozaa, February 04, 2013, 10:59:17 AM

Previous topic - Next topic

pacozaa




ผมใช้ Arduino MEGA 2560 จะควบคุม LCD 20x4 ผ่าน I2C โดยใช้ IC mcp23008  จากโมดูลตัวนี้ครับ
http://www.arduino.in.th/product/127/i2c-convertor-module-for-lcd1602-2004
ใช้ Arduino 1.0
ลองใช้ Library จากลิงค์นี้ดู
http://playground.arduino.cc/Code/I2CPortExpanderAndLCDs
แล้วcompile ไม่ผ่านครับ ลองแก้ส่วนของโปรแกรมแล้วนะครับ
"WConstants.h" เป็น "Arduino.h"
Wire.send เป็น Wire.write


ขึ้น Error ตามรูปนี้ครับ

chuamongtek

ผมทดลองคอมไพล์ดูแบบไม่ได้แก้อะไร ปรากฏว่าผ่านครับ


pacozaa

ของผมเวอร์ชัน Arduino 1.0 ครับ

ตามรูปเป็นเวอร์ชันเก่ากว่าครับ


ARDUINO

extern "C" {
  #include <stdio.h>  //not needed yet
  #include <string.h> //needed for strlen()
  #include <inttypes.h>
  #include "WConstants.h"  //all things wiring / arduino
}

ให้เอา extern "C" ออกไปด้วยนะครับ เหลือเป็น

#include <stdio.h> 
#include <string.h>
#include <inttypes.h>
#include "Arduino.h"

แล้ว Wire.send เปลี่ยนเป็น Wire.write

ลองแล้ว compile บน 1.0.3 ผ่าน ใช้งานได้ปกติดีครับ

pacozaa

คอมไพล์ผ่านแล้วครับ
แต่ว่าLCD ติดสว่างทุก pixel เฉยๆ ครับ ไม่ได้แสดงตัวอักษรออกมาครับ

แก้ไขที่ตรงไหนดีครับ

ARDUINO

ลองปรับ contrast ที่ตัว module ดูรึยังครับ

pacozaa

ลองดูแล้วครับ ไม่ได้ผลครับ  เดี๋ยวเปลี่ยนไปใช้pin ธรรมดาแล้วครับ ขอบคุณมากครับ

คราวหน้าผมค่อยเปลี่ยนไปใช้ PCF น่ะครับ

JENG

address ทั้งหมดมันต่อกับไฟ+5ครับพิลึกจิงๆ งงอยู่ตั้งนาน ถ้าส่ง opcode+address  0x40 จะเงียบสนิท  ;D


สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺