I still can't understand why there is so much emphasis on the use of shift registers for this job.Don
works the same as the included/standard LiquidCrystal at the API level
No other low wire count interface is this easy to make for a DIY project.
a 2wire or 3wire shift register interface can (depending on the library)allow LCD updates to be faster than i2C or Asnyc serial.
Quoteworks the same as the included/standard LiquidCrystal at the API levelWell so does the I2C option.
The shift register implementations (2wire, 3wire, and I2C)have LiquidCrystal API compatible libraries available.
QuoteNo other low wire count interface is this easy to make for a DIY project.No it is the same level of complexity and cost to have an I2C chip as to have a shift register.
Quotea 2wire or 3wire shift register interface can (depending on the library)allow LCD updates to be faster than i2C or Asnyc serial.No.The limiting factor is how fast the LCD can respond to the commands. The slightly slower speed of the I2C interface does not actually slow down the rate of update of the LCD. In fact the standard library doesn't read the ready flag from the LCD and so has to insert large delays for some LCD commands where as in practice the display does not need this long to be ready. The LCD clear display can be up to twice as fast by reading the ready flag. The reason why this is not done is to save a pin, a factor that is not important when you dedicate an I2C chip to it. With shift registers you would need input and output registers.
Again, I am going to disagree here.I have real world experience and math that I believe proves otherwise.
QuoteAgain, I am going to disagree here.I have real world experience and math that I believe proves otherwise.And so have I and I believe you are wrong.I don't buy into what you wrote, you are misunderstanding things.Anyway it is all a bit academic, you go with your solution and I will continue to build stuff with mine.
Interface ByteXfer 16x2FPS Ftime----------------------------------------------4BIT 338uS 86.92 11.51ms (original Liquid Crystal library)4BIT 98uS 298.58 3.35msSR2W 76uS 388.62 2.57msSR_2W 72uS 406.90 2.46msSR_3W 61uS 480.03 2.08msSR3W 102uS 287.92 3.47msI2C 957uS 30.74 32.25ms
Or forget about all the goofy libraries and programming.Unified Microsystems ATS-1 shield uses digital pins D0 and D1 which are used for serial communication.http://www.unifiedmicro.com/ats1-arduino-shield.htmlor available on Tindie.com:https://tindie.com/shops/garysxt/lcd-terminal-shield-for-arduino-model-ats-1/Just plug it in and don't use ANY open digital pins.