X-Git-Url: https://code.citadel.org/?p=the_perfect_clock.git;a=blobdiff_plain;f=display_test%2Fdisplay_test.ino;fp=display_test%2Fdisplay_test.ino;h=3a585b9f7bfdad7b277a14507b9c3bc825e7de77;hp=0000000000000000000000000000000000000000;hb=467e2f9c96396bf20a756a38e7be988d9bf30edd;hpb=addce46764744c46daae043cd598b8228aa9e060 diff --git a/display_test/display_test.ino b/display_test/display_test.ino new file mode 100755 index 0000000..3a585b9 --- /dev/null +++ b/display_test/display_test.ino @@ -0,0 +1,88 @@ +#include + +#include +#include +#include +#include + +/*************************************************** + This is a library for our I2C LED Backpacks + + Designed specifically to work with the Adafruit LED 7-Segment backpacks + ----> http://www.adafruit.com/products/881 + ----> http://www.adafruit.com/products/880 + ----> http://www.adafruit.com/products/879 + ----> http://www.adafruit.com/products/878 + + These displays use I2C to communicate, 2 pins are required to + interface. There are multiple selectable I2C addresses. For backpacks + with 2 Address Select pins: 0x70, 0x71, 0x72 or 0x73. For backpacks + with 3 Address Select pins: 0x70 thru 0x77 + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ****************************************************/ + +//#include // Enable this line if using Arduino Uno, Mega, etc. +#include +#include "Adafruit_LEDBackpack.h" + +Adafruit_7segment matrix = Adafruit_7segment(); + +void setup() { +#ifndef __AVR_ATtiny85__ + Serial.begin(9600); + Serial.println("7 Segment Backpack Test"); +#endif + matrix.begin(0x70); +} + +void loop() { + // try to print a number thats too long + matrix.print(10000, DEC); + matrix.writeDisplay(); + delay(500); + + // print a hex number + matrix.print(0xBEEF, HEX); + matrix.writeDisplay(); + delay(500); + + // print a floating point + matrix.print(12.34); + matrix.writeDisplay(); + delay(500); + + // print with print/println + for (uint16_t counter = 0; counter < 9999; counter++) { + matrix.println(counter); + matrix.writeDisplay(); + delay(10); + } + + // method #2 - draw each digit + uint16_t blinkcounter = 0; + boolean drawDots = false; + for (uint16_t counter = 0; counter < 9999; counter ++) { + matrix.writeDigitNum(0, (counter / 1000), drawDots); + matrix.writeDigitNum(1, (counter / 100) % 10, drawDots); + matrix.drawColon(drawDots); + matrix.writeDigitNum(3, (counter / 10) % 10, drawDots); + matrix.writeDigitNum(4, counter % 10, drawDots); + + blinkcounter+=50; + if (blinkcounter < 500) { + drawDots = false; + } else if (blinkcounter < 1000) { + drawDots = true; + } else { + blinkcounter = 0; + } + matrix.writeDisplay(); + delay(10); + } +}