ATtiny84 & TWI

q

Now I'm thinking, why use an MCU like the Atmega 328 when something like an Attiny would do the job?

Uh, well, because your time is far more valuable than the $2 you will save using a different processor.

(If I think of any reason you would have the problem you are having I will let you know. It is certainly a strange problem.)

I’m not trying to pinch a penny, just that I’m of the “why use a sledgehammer when a fly swatter would work” school. I was thinking of using the Anarduino Mini-Wireless things (about $15.00 US) but thought
I’d try to use stuff i had underfoot first.

Been playing Arduino for about 5 years and this is first time I’ve been backed into the corner and hollered for help.

TNX for your reply

IDE version?

1.0.5+dfsg2-2

Where did you get LiquidCrystal_I2C_85V1.zip?

http://playground.arduino.cc/Code/USIi2c

More info:

Installed IDE 1.6.1, which seems to work OK with some existing UNO and Nano sketches but

same problem with tiny 84.

BTW I'm running Linux, Kubuntu 14.04 64 bit on an Asus desktop, never had any problems with computer.

Update:

Decided to go back and upload blink again, now I get:

arduino.h - no such file. Think the tiny library or boards file is corrupted.

Current status - stopped.

jcallen:
http://playground.arduino.cc/Code/USIi2c

Where did you get the master I2C library for the t84 processor?

For Arduino 1.0.x, use the ide-1.0.x branch: GitHub - damellis/attiny at ide-1.0.x

Think this library or the tiny additions to my boards file got corrupted with all the library swapping, if I

select UNO or Nano the sketch will compile OK, when I select tiny 84 1Mhz or 8Mhz compiler can’t find any .h files

outside of the current library.

Think I’ll remove & reinstall arduino 1.0.5 and start over.

Both the TinyWireM and LiquidCrystal_I2C_85V1 do not support the ATtiny84 mcu. They will need to be modified to add the ATtiny84 definitions.

Yep hiduino, I kind of suspected that, I did change a line in LiquidCrystal_I2C_85V1- LiquidCrystal_I2C.h from:

if defined(AVR_ATtiny85) || (AVR_ATtiny2313), to:

if defined(AVR_ATtiny85) || (AVR_ATtiny2313) || (AVR_ATtiny84), but no change.

Modding libs is currently beyond me, any suggestions where I might find that info?

I don't have time, we start getting freezing nights in November.

TNX for reply

Update:

Reloaded Arduino IDE 1.0.5 & cleaned up directories & libraries, now have only 1 tiny library in ~/sketchbook/hardware. Now can upload sketches with no I2C or SPI, so I'm back to finding a library that will work with SainSmart 4 x 20 lcd #QC2004A with LCD2004 backpack with TWI interface. Any info is greatly appreciated.

BTW I think my problem was too many libraries in too many places.

Updated libraries that resolve the compilation errors.

LiquidCrystal_I2C plus TinyWireM.zip (19.8 KB)

Alright! Works like a charm. Now back to the radios and SPI. ;D

Many tnx Coding Badly & all. Nice to have a pool of geniuses to fall back on.

As Arnold said... "I'll be back".

BTW: Don't know yet how to mark a thread solved but I'm sure I'll learn before this ordeal is over.

Excellent. You are welcome.

But, by “works like a charm” do you mean just compiling or actually interacting with the display?

BTW: Don’t know yet how to mark a thread solved but I’m sure I’ll learn before this ordeal is over.

Edit the first post then add something like [solved] to the subject. Most people add it to the front.

Hover the mouse over More, select Modify, and edit the title.

Display lights up but with 2 rows of black blocks, working on it now, had to stop for something else, will let you know asap.

LCD not working yet. Got to stop and build a breadboard with zif sockets, wire swapping is driving me knuts.