Git Product home page Git Product logo

new-liquidcrystal's People

Contributors

fmalpartida avatar gipda avatar ivankravets avatar mpparsley avatar valeros avatar zgoda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

new-liquidcrystal's Issues

can I use 3 displays as an array

I am using your library, thanks for creating.

until now:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd5(0x25, 2,1,0,4,5,6,7,3,POSITIVE);
LiquidCrystal_I2C lcd6(0x26, 2,1,0,4,5,6,7,3,POSITIVE);
LiquidCrystal_I2C lcd7(0x27, 2,1,0,4,5,6,7,3,POSITIVE);
...
lcd5.begin(16,2);
lcd6.begin(16,2);
lcd7.begin(16,2);
...

Is it possible to create an array of lcds to use sth like
for (byte i=0; i<3; i++) lcd[i].begin(16,2);

Thanks in advance!

analogWrite

The library REQUIRES analogWrite, even if not called.

ESP32 Arduino does not have an analogWrite function and the lib will not compile.

It would be helpful if there was come compile time conditional code to implement either analogWrite code (as exists) or to treat the backlight pin as a digital pin (with or without inversion etc).

Owen

Support for LOGO display 10x4

Hi Francisco!

I use some of those LOGO displays offered by Pollin here in germany as HB10401 (see https://www.pollin.de/p/lcd-modul-hb10401-4x10-121148).
The application I use one of it is described on my hompage.
(It's written in german. At the bottom of the page I added a translation feature (Google translate)).

To get your library up and running with those displays, one has to add a few lines of code in "LCD.cpp" to make the cursor positioning follow the somewhat different screen layout of the HB10401:

// 2017.10.18 deharry - add support for SIEMENS LOGO display, 10x4 chars (see "row_offsetsSpecial")
...

void LCD::setCursor(uint8_t col, uint8_t row)
{
   const byte row_offsetsDef[]   	= { 0x00, 0x40, 0x14, 0x54 }; // For regular LCDs
   const byte row_offsetsSpecial[]	= { 0x00, 0x40, 0x0A, 0x4A }; // For LOGO Display	<<< add this line
   const byte row_offsetsLarge[] 	= { 0x00, 0x40, 0x10, 0x50 }; // For 16x4 LCDs

   if ( row >= _numlines )
   {
	  row = _numlines-1;    // rows start at 0
   }

   // 16x4 LCDs have special memory map layout
   // ----------------------------------------
   if ( _cols == 16 && _numlines == 4 )
   {
	  command(LCD_SETDDRAMADDR | (col + row_offsetsLarge[row]));
   }
   // LOGO Display (10x4) has special memory map layout						<<< add this line
   else if ( _cols == 10 && _numlines == 4 )	// LOGO Display					<<< add this line
   {												<<< add this line
	  command(LCD_SETDDRAMADDR | (col + row_offsetsSpecial[row]));				<<< add this line
   }												<<< add this line
   else
   {
	  command(LCD_SETDDRAMADDR | (col + row_offsetsDef[row]));
   }
}

You may add these lines to your lib to support this sort of displays out of the box.
Thanks!
Harry

Library Issues when using PlatformIO & Teensy2.0++

Obligatory “I’m new, please be gentle”

Problem
When I upload code from PlatformIO, the characters displayed on the lcd are wrong/corrupted garbage. The output is always the same.
Identical code works fine when uploaded from the Arduino IDE
Below is relevant system info, followed by ideas I’ve had

Hardware Information
Windows 10, 64 bit, version 21H2
VS Code version 1.63.2
Using Teensy 2.0++
Teensy Loader v1.55

Code
Identical code works properly when uploaded with Arduino IDE
The issue can also be remodied by using the standard Arduino LCD library (arduino-libraries/LiquidCrystal@^1.0.7)

main.cpp

#include <Arduino.h>
#include <Wire.h>                    // Necessary to avoid library dependencies issue in VS Code -that’s a different issue
#include <LiquidCrystal.h>

const int RS = 18, EN = 19, D4 = 23, D5 = 24, D6 = 25, D7 = 26;
LiquidCrystal lcd(RS, EN, D4, D5, D6, D7);

void setup() {
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“anything”);
}

void loop() {
}

platformio.ini

[env:teensy2pp]
platform = teensy
board = teensy2pp
framework = arduino
lib_deps =
fmalpartida/LiquidCrystal@^1.5.0

Ideas

  • I’ve attempted creating a new, clean project and removing any unnnecessary code.
  • My project has 2 LCDs connected to the same pins on the Teensy. It's interesting to note that both displays show different things, but consistentlyl the same different things.

Things that stop the misbehaviour

  • uploading identical code using the Arduino IDE
  • The standard Arduino LCD Library works as expected (arduino-libraries/LiquidCrystal@^1.0.7)

4004 LCD on I2C IO expander

Hi community,

i have this 3.3v (and a 5.0v) 4004 LCD from eastrising (buydisplay)
https://www.buydisplay.com/default/3-3v-5v-40x4-lcd-module-display-white-on-black-hd44780-controller
I found on their website these documents regarding this type of display's
https://www.buydisplay.com/download/manual/ERM4004-1_Series_Datasheet.pdf

previous i used 2004 LCD with the I2C backpacks, but now, for a new project, with a Wemos Lolin 32S (ESP32 devboard) i would like (need?) to connect by I2C to save most of the pins on the devboard.
I tried different things, but nothing used to work out for me...

Was anyone capable of achieving this up so far? I read on the BitBucket thread, that using 2 instances of the library's I2C solution could be a helpfull thing, but i did not manage to get it to work
second question is : i have multiple I2C backpacks in the shelf, could one use 2 backpack on two different I2C adresses, for this type of display, it would mean more soldering or PCB prototyping, but if it would help that would be a minor problem... only problem is that i do not know where to start with all of this...

Any help to set me in the correct direction would be awesome!

Thanks in Advance,
yves

Keeping in sync with BitBucket

Hi! Thanks again, I just deleted my old fork and made a new one from this repository here. About your question: I've never used BitBucket (or indeed, Mercurial) before, so I wouldn't know. A bit of searching brought up this piece - is that helpful?

Optimizations for I2C library?

Hi,

First, thank you for your excellent library!

As I was in the need for speed, I investigated if I could write a faster I2C liquid display library.
After a week the code (0.1.2) is reasonable stable and performance is meeting my needs.

It might be interesting to look at some of the optimizations I made to include in your I2C part.
Most important the library send a byte in one transaction of 5 bytes instead of using 4 transaction (one per nibble).
The PCF8574 handles this nicely.
Furthermore as the 4 data pins are in ascending order one can prepare the byte a bit faster.

I tried to keep the API similar to your library however I have not implemented all functions fully yet.
Finally I added a few new functions, e.g. clearEOL() and some more.

The link is: https://github.com/RobTillaart/I2C_LCD and should be available through the library manager.

If there are questions, please let me know.

Regards,
Rob

Library not available in Arduino IDE library manager

I've been using this library (in stead of the original one) for a long time, and very happy with it.

But now that I'm moving many of my projects over to GitHub Actions as Ci/CD system it's bothering me more and more that the library cannot be installed automatically through the Arduino IDE or arduino-cli.

The library does feature in the patlformio library registry, so for platformio builds things do happen automatically, but not for Arduino.

Could you register your library with the Arduino library manager, please?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.