I am a complete Shield Buddy newbie. I would like to control a simple 20x4 LCD display with I2C. Unfortunately, it seems that this does not work as easily as I thought. When I run the demo sketch on the buddy via the Arduinio IDE, the reset led is permanently lit. The display is connected to the pins (20/21). Does anyone have an idea or maybe even a working library (Like LiquidCrystal_I2C)?
Thanks! I have tried. It can be compiled and flashed on the buddy. However, after the reset (so that the programme is executed), the reset led lights up again. It seems that the problem is related to the Wire.h library. The Buddy hangs on every call concerning LCD and Wire.I also tried to flash the Main_i2C example. That gives the same picture. I'm slowly running out of ideas.
Is it normal that the red LEDs are permanently lit when the buddy is supplied? Couldn't find anything about them in the docu.
Now I have completely uninstalled all software components (Arduino IDE, Shieldbuddy etc..) again, reloaded everything according to the instructions or taken ShieldBuddyTC375IDE.zip from the link and reinstalled it again. Unfortunately, the same error pattern again.
As soon as the library "Wire.h" is needed in a program (e.g. Lcd.beginn() etc.) the reset led lights up permanently and the ShieldBuddy refuses to work. Also with the example "Main_i2C". If I comment out the lines of the calls, everything works. Something must be wrong with the I2C so that the Buddy hangs when called. Is it possible to check the basic I2C function with the Eclipse IDE or another program to rule out a hardware error? The EOL test finds the Buddy to be working.
Yesterday I changed the calls from Wire.h to SoftwareWire.h in the Liquid Crystal library and assigned pins 6 and 7. After that, the code could be compiled/flashed to the Buddy and executed. Unfortunately I haven't managed to show anything on the display yet, but at least the Buddy doesn't freeze anymore and the reset led is switched off. According to the documentation, the baud rate cannot be changed when using SoftwareWire.h. Maybe the default 100kbit's are just too much for the HW-061? Any experience? In any case, it looks like the standard I2C ports (20/21) of the BuddyShield are defective. Is there any way to check this without an oscilloscope?
Also with SoftwareWire.h ? If so, may I have the example + libraries for it? I can't explain why the hardware I2C pins don't work. As soon as they are supposed to start communicating, the buddy freezes and the red reset lights up permanently.