completely rewrite the driver.
using one class to descripe two kinds of display. add two displays used simultaneously example. use : setTubeType() to select which type of display is going to be used. add : add comment ,modify configuration files.
This commit is contained in:
51
examples/combine_two_displays/combine_two_displays.ino
Normal file
51
examples/combine_two_displays/combine_two_displays.ino
Normal file
@@ -0,0 +1,51 @@
|
||||
#include <Wire.h>
|
||||
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
Seeee_Digital_Tube tube1;
|
||||
Seeee_Digital_Tube tube2;
|
||||
|
||||
/**
|
||||
* NOTICE:Every tubes display has the same default i2c address.
|
||||
* if you want to combine two(or more)display in one project,you should change the i2c
|
||||
* i2c address,by soldering the pad of display backside.
|
||||
* please refer to our wiki to get more details.
|
||||
* */
|
||||
#define I2C_ADDR_AFTER_CHANGE_FOUR 0x75
|
||||
#define I2C_ADDR_DEFAULT_FOUR 0x71
|
||||
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube1.setTubeType(TYPE_4,I2C_ADDR_AFTER_CHANGE_FOUR);
|
||||
|
||||
tube1.setBrightness(15);
|
||||
tube1.setBlinkRate(BLINK_OFF);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube2.setTubeType(TYPE_4,I2C_ADDR_DEFAULT_FOUR);
|
||||
|
||||
tube2.setBrightness(15);
|
||||
tube2.setBlinkRate(BLINK_OFF);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
tube1.displayNum(1234);
|
||||
delay(100);
|
||||
|
||||
tube2.displayNum(5678);
|
||||
delay(100);
|
||||
|
||||
while(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,48 +30,39 @@
|
||||
*/
|
||||
#include <Wire.h>
|
||||
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
//#define DUAL_NUMERIC
|
||||
|
||||
#ifdef DUAL_NUMERIC
|
||||
#include "grove_dual_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x70
|
||||
Digital_Tube2 tube;
|
||||
#else
|
||||
#include "grove_quad_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x71
|
||||
Digital_Tube4 tube;
|
||||
#endif
|
||||
|
||||
Seeee_Digital_Tube tube;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
tube.init(NUMERIC_I2C_ADDR);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube.setTubeType(TYPE_4,TYPE_4_DEFAULT_I2C_ADDR);
|
||||
|
||||
// If using two digital tubes, use this configuration.
|
||||
// tube.setTubeType(TYPE_2,TYPE_2_DEFAULT_I2C_ADDR);
|
||||
|
||||
tube.setBrightness(15);
|
||||
tube.setBlinkRate(BLINK_OFF);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
#ifdef DUAL_NUMERIC
|
||||
tube.display_two_tube('.','C');
|
||||
delay(1000);
|
||||
tube.displayNum(23,0);
|
||||
delay(1000);
|
||||
tube.displayString("AB",0);
|
||||
delay(1000);
|
||||
|
||||
#else
|
||||
tube.displayNum(123);
|
||||
delay(2000);
|
||||
tube.displayNum(4567);
|
||||
delay(2000);
|
||||
tube.displayString("ABCD");
|
||||
delay(2000);
|
||||
tube.displayString("abcd");
|
||||
|
||||
tube.displayNum(12);
|
||||
delay(2000);
|
||||
|
||||
#endif
|
||||
tube.displayNum(4567,500);
|
||||
delay(2000);
|
||||
|
||||
tube.displayString("AB",500);
|
||||
delay(2000);
|
||||
|
||||
tube.displayString("abcd",500);
|
||||
delay(2000);
|
||||
|
||||
}
|
||||
@@ -34,19 +34,26 @@
|
||||
/*********************************************************/
|
||||
/*****NOTICE : This example only for qual_alphanumeric****/
|
||||
/*********************************************************/
|
||||
#include "grove_quad_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x71
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
Digital_Tube4 tube;
|
||||
Seeee_Digital_Tube tube;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
tube.init(NUMERIC_I2C_ADDR);
|
||||
|
||||
// If using two digital tubes, use this configuration.
|
||||
// tube.setTubeType(TYPE_2,TYPE_2_DEFAULT_I2C_ADDR);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube.setTubeType(TYPE_4,TYPE_4_DEFAULT_I2C_ADDR);
|
||||
|
||||
|
||||
tube.setBrightness(15);
|
||||
tube.setBlinkRate(BLINK_1HZ);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -55,9 +62,15 @@ void displayCustom()
|
||||
tube.clearBuf();
|
||||
tube.setTubeSingleChar(FIRST_TUBE,'t');
|
||||
tube.setTubeSingleChar(SECOND_TUBE,'T');
|
||||
|
||||
//if using two digital tubes,there's no third&fourth channel.
|
||||
|
||||
tube.setTubeSingleNum(THIRD_TUBE,5);
|
||||
tube.setTubeSingleNum(FOURTH_TUBE,5);
|
||||
tube.setPoint(true,true);
|
||||
|
||||
// The location of point is different between two&four digital tubes.
|
||||
tube.setPoint(true,false);
|
||||
|
||||
tube.display();
|
||||
}
|
||||
|
||||
@@ -29,24 +29,23 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include <Wire.h>
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
//#define DUAL_NUMERIC
|
||||
|
||||
#ifdef DUAL_NUMERIC
|
||||
#include "grove_dual_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x70
|
||||
Digital_Tube2 tube;
|
||||
#else
|
||||
#include "grove_quad_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x71
|
||||
Digital_Tube4 tube;
|
||||
#endif
|
||||
Seeee_Digital_Tube tube;
|
||||
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
tube.init(NUMERIC_I2C_ADDR);
|
||||
|
||||
// If using two digital tubes, use this configuration.
|
||||
// tube.setTubeType(TYPE_2,TYPE_2_DEFAULT_I2C_ADDR);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube.setTubeType(TYPE_4,TYPE_4_DEFAULT_I2C_ADDR);
|
||||
|
||||
tube.setBrightness(15);
|
||||
tube.setBlinkRate(BLINK_OFF);
|
||||
}
|
||||
|
||||
@@ -29,24 +29,22 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include <Wire.h>
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
//#define DUAL_NUMERIC
|
||||
Seeee_Digital_Tube tube;
|
||||
|
||||
#ifdef DUAL_NUMERIC
|
||||
#include "grove_dual_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x70
|
||||
Digital_Tube2 tube;
|
||||
#else
|
||||
#include "grove_quad_alphanumeric_display.h"
|
||||
#define NUMERIC_I2C_ADDR 0x71
|
||||
Digital_Tube4 tube;
|
||||
#endif
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
tube.init(NUMERIC_I2C_ADDR);
|
||||
|
||||
// If using two digital tubes, use this configuration.
|
||||
// tube.setTubeType(TYPE_2,TYPE_2_DEFAULT_I2C_ADDR);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube.setTubeType(TYPE_4,TYPE_4_DEFAULT_I2C_ADDR);
|
||||
|
||||
tube.setBrightness(15);
|
||||
tube.setBlinkRate(BLINK_OFF);
|
||||
}
|
||||
@@ -55,6 +53,6 @@ void setup()
|
||||
|
||||
void loop()
|
||||
{
|
||||
tube.displayString("ABCDEFGHJIYZ",500);
|
||||
tube.displayString("ABCDEFGHIJK",500);
|
||||
delay(1000);
|
||||
}
|
||||
@@ -29,21 +29,23 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include <Wire.h>
|
||||
#include "grove_dual_alphanumeric_display.h"
|
||||
#include "grove_alphanumeric_display.h"
|
||||
|
||||
/*********************************************************/
|
||||
/*****NOTICE : This example only for dual_alphanumeric****/
|
||||
/*********************************************************/
|
||||
|
||||
#define NUMERIC_I2C_ADDR 0x70
|
||||
Seeee_Digital_Tube tube;
|
||||
|
||||
Digital_Tube2 tube;
|
||||
char hex_str[255] = {0};
|
||||
char hex_str[10];
|
||||
|
||||
void setup()
|
||||
{
|
||||
Wire.begin();
|
||||
tube.init(NUMERIC_I2C_ADDR);
|
||||
|
||||
// If using two digital tubes, use this configuration.
|
||||
// tube.setTubeType(TYPE_2,TYPE_2_DEFAULT_I2C_ADDR);
|
||||
|
||||
// If using four digital tubes, use this configuration.
|
||||
tube.setTubeType(TYPE_4,TYPE_4_DEFAULT_I2C_ADDR);
|
||||
|
||||
tube.setBrightness(15);
|
||||
tube.setBlinkRate(BLINK_OFF);
|
||||
|
||||
@@ -79,6 +81,6 @@ void loop()
|
||||
for(int i=0;i<0xff;i++)
|
||||
{
|
||||
tube.displayString(numToHexString(i),0);
|
||||
delay(300);
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user