first commit

This commit is contained in:
Jérôme Delacotte
2025-03-06 11:15:32 +01:00
commit 7b30d6e298
5276 changed files with 2108927 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
// ----------------------------------------------------------------------------
// LCDiSpeed - LCD Interface Speed test for AdaFruit_LiquidCrystal in 4bit mode
// ----------------------------------------------------------------------------
// This sketch is a wrapper sketch for the hd44780 library example.
// Note:
// This is not a normal sketch and should not be used as model or example
// of hd44780 library sketches.
// This sketch is simple wrapper that declares the needed lcd object for the
// hd44780 library sketch.
// It is provided as a convenient way to run a pre-configured sketch for
// the i/o class.
// The source code for this sketch lives in the hd44780 examples.
// hd44780/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino
// From IDE:
// [File]->Examples-> hd44780/hd44780examples/LCDiSpeed
//
#include <Adafruit_LiquidCrystal.h>
// ugliness to allow this sketch to locate the hd44780 example sketch
// note: hd44780.h is not needed, it is only included to get its directory on the include path
#include <hd44780.h>
#undef hd44780_h // undefine this so the example sketch does not think hd44780 is being used.
// cols and rows don't have to be exact to still get accurate transfer numbers
#define LCD_COLS 16
#define LCD_ROWS 2
// declare Arduino pins used for LCD functions
// and the lcd object
//const int rs=12, en=11, db4=5, db5=4, db6=3, db7=2; // pins used by IDE LiquidCrystal examples
const int rs=8, en=9, db4=4, db5=5, db6=6, db7=7; // lcd keypad shield pins
Adafruit_LiquidCrystal lcd(rs, en, db4, db5, db6, db7);
// tell the hd44780 sketch the lcd object has been declared
#define HD44780_LCDOBJECT
// include the hd44780 library sketch source code
#include <examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino>

View File

@@ -0,0 +1,40 @@
// ----------------------------------------------------------------------------
// LCDiSpeed - LCD Interface Speed test for Adafruit_LiquidCrystal using i2c
// ----------------------------------------------------------------------------
// This sketch is a wrapper sketch for the hd44780 library example LCDiSpeed.
// Note:
// This is not a normal sketch and should not be used as model or example
// of hd44780 library sketches.
// This sketch is simple wrapper that declares the needed lcd object for the
// hd44780 library sketch.
// It is provided as a convenient way to run a pre-configured sketch for
// the i/o class.
// The source code for this sketch lives in hd44780 examples:
// hd44780/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino
// From IDE:
// [File]->Examples-> hd44780/hd44780examples/LCDiSpeed
//
#include <Wire.h>
#include <Adafruit_LiquidCrystal.h>
// ugliness to allow this sketch to locate the hd44780 example sketch
// note: hd44780.h is not needed, it is only included to get its directory on the include path
#include <hd44780.h>
#undef hd44780_h // undefine this so the example sketch does not think hd44780 is being used.
// cols and rows don't have to be exact to still get accurate transfer numbers
#define LCD_COLS 16
#define LCD_ROWS 2
// declare the lcd object
// Note: The i2c address must match the backpack address
// and the library only works with the MCP23008 based #292 backpack
const uint8_t i2cAddr = 0; // default i2c address for #292 board
Adafruit_LiquidCrystal lcd(i2cAddr);
// tell the hd44780 sketch the lcd object has been declared
#define HD44780_LCDOBJECT
// include the hd44780 library LCDiSpeed sketch source code
#include <examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino>

View File

@@ -0,0 +1,47 @@
// ----------------------------------------------------------------------------
// LCDiSpeed - LCD Interface Speed test for Adafruit_LiquidCrystal using i2c
// ----------------------------------------------------------------------------
// This sketch is a wrapper sketch for the hd44780 library example LCDiSpeed.
// Note:
// This is not a normal sketch and should not be used as model or example
// of hd44780 library sketches.
// This sketch is simple wrapper that declares the needed lcd object for the
// hd44780 library sketch.
// It is provided as a convenient way to run a pre-configured sketch for
// the i/o class.
// The source code for this sketch lives in hd44780 examples:
// hd44780/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino
// From IDE:
// [File]->Examples-> hd44780/hd44780examples/LCDiSpeed
//
#include <Wire.h>
#include <Adafruit_LiquidCrystal.h>
// ugliness to allow this sketch to locate the hd44780 example sketch
// note: hd44780.h is not needed, it is only included to get its directory on the include path
#include <hd44780.h>
#undef hd44780_h // undefine this so the example sketch does not think hd44780 is being used.
#if ARDUINO < 157
#error "This sketch Requires Arduino 1.5.7 or higher"
#endif
// NOTE: uses API that only works on IDE 1.5.7 and up
#define WIRECLOCK 400000L // tell hd44780 example to use this i2c clock rate
// cols and rows don't have to be exact to still get accurate transfer numbers
#define LCD_COLS 16
#define LCD_ROWS 2
// declare the lcd object
// Note: The i2c address must match the backpack address
// and the library only works with the MCP23008 based #292 backpack
const uint8_t i2cAddr = 0; // default i2c address for #292 board
Adafruit_LiquidCrystal lcd(i2cAddr);
// tell the hd44780 sketch the lcd object has been declared
#define HD44780_LCDOBJECT
// include the hd44780 library LCDiSpeed sketch source code
#include <examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino>

View File

@@ -0,0 +1,19 @@
Adafruit_LiquidCrystal hd44780 examples
========================================
The Adafruit_LiquidCrystal library must be installed in order to use these sketches.
#### The examples are broken up into various sub directories.
* `4bit`<br>
Contains example sketches that are for LCDs that are wired up directly to Arduino pins.
* `I2C`<br>
Contains example sketches that are for LCDs connected to an Adafruit #292 backpack when using the i2c MCP23008 i/o expander chip to control the LCD.
* `SPI`<br>
Contains example sketches that are for LCDs connected to an Adafruit #292 backpack when using the shift register to control the LCD.
Note: that while adafruit uses the term "SPI" the #292 backpack it is not using SPI.
It is mearly using a shift register.
Also, the Adafruit_liquidCrystal library is not using the SPI h/w but rather simply calling the s/w shiftout() function to do the transfer.

View File

@@ -0,0 +1,37 @@
// ----------------------------------------------------------------------------
// LCDiSpeed - LCD Interface Speed test for Adafruit_LiquidCrystal shiftreg mode
// ----------------------------------------------------------------------------
// This sketch is a wrapper sketch for the hd44780 library example LCDiSpeed.
// Note:
// This is not a normal sketch and should not be used as model or example
// of hd44780 library sketches.
// This sketch is simple wrapper that declares the needed lcd object for the
// hd44780 library sketch.
// It is provided as a convenient way to run a pre-configured sketch for
// the i/o class.
// The source code for this sketch lives in hd44780 examples:
// hd44780/examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino
// From IDE:
// [File]->Examples-> hd44780/hd44780examples/LCDiSpeed
//
#include <Wire.h>
#include <Adafruit_LiquidCrystal.h>
// ugliness to allow this sketch to locate the hd44780 example sketch
// note: hd44780.h is not needed, it is only included to get its directory on the include path
#include <hd44780.h>
#undef hd44780_h // undefine this so the example sketch does not think hd44780 is being used.
// declare the lcd object for shift register mode
const uint8_t clkPin = 2;
const uint8_t datPin = 3;
const uint8_t latPin = 4;
Adafruit_LiquidCrystal lcd(datPin, clkPin, latPin);
// tell the hd44780 sketch the lcd object has been declared
#define HD44780_LCDOBJECT
// include the hd44780 library LCDiSpeed sketch source code
#include <examples/hd44780examples/LCDiSpeed/LCDiSpeed.ino>