1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* This is a library for our I2C LED Backpacks
Designed specifically to work with the Adafruit 16x8 LED Matrix backpacks ----> http://www.adafruit.com/products/2035 ----> http://www.adafruit.com/products/2036 ----> http://www.adafruit.com/products/2037 ----> http://www.adafruit.com/products/2038 ----> http://www.adafruit.com/products/2039 ----> http://www.adafruit.com/products/2040 ----> http://www.adafruit.com/products/2041 ----> http://www.adafruit.com/products/2042 ----> http://www.adafruit.com/products/2043 ----> http://www.adafruit.com/products/2044 ----> http://www.adafruit.com/products/2052
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 <Wire.h> #include <Adafruit\_GFX.h> #include "Adafruit\_LEDBackpack.h"
Adafruit_8x16matrix matrix = Adafruit\_8x16matrix();
void setup() { Serial.begin(9600); Serial.println("16x8 LED Matrix Test"); matrix.begin(0x70); // pass in the address }
static const uint8\_t PROGMEM smile_bmp[] = { B00111100, B01000010, B10100101, B10000001, B10100101, B10011001, B01000010, B00111100 }, neutral_bmp[] = { B00111100, B01000010, B10100101, B10000001, B10111101, B10000001, B01000010, B00111100 }, frown_bmp[] = { B00111100, B01000010, B10100101, B10000001, B10011001, B10100101, B01000010, B00111100 };
void loop() { matrix.clear(); matrix.drawBitmap(0, 0, smile_bmp, 8, 8, LED_ON); matrix.writeDisplay(); delay(500); matrix.clear(); matrix.drawBitmap(0, 8, neutral_bmp, 8, 8, LED_ON); matrix.writeDisplay(); delay(500);
matrix.clear(); matrix.drawBitmap(0, 0, frown_bmp, 8, 8, LED_ON); matrix.writeDisplay(); delay(500);
matrix.clear(); // clear display matrix.drawPixel(0, 0, LED_ON); matrix.writeDisplay(); // write the changes we just made to the display delay(500);
matrix.clear(); matrix.drawLine(0,0, 7,15, LED_ON); matrix.writeDisplay(); // write the changes we just made to the display delay(500);
matrix.clear(); matrix.drawRect(0,0, 8,16, LED_ON); matrix.fillRect(2,2, 4,12, LED_ON); matrix.writeDisplay(); // write the changes we just made to the display delay(500);
matrix.clear(); matrix.drawCircle(3,8, 3, LED_ON); matrix.writeDisplay(); // write the changes we just made to the display delay(500);
matrix.setTextSize(2); matrix.setTextWrap(false); // we dont want text to wrap so it scrolls nicely matrix.setTextColor(LED_ON); for (int8\_t x=0; x>=-64; x--) { matrix.clear(); matrix.setCursor(x,0); matrix.print("Hello"); matrix.writeDisplay(); delay(100); }
matrix.setTextSize(1); matrix.setTextWrap(false); // we dont want text to wrap so it scrolls nicely matrix.setTextColor(LED_ON); matrix.setRotation(1); for (int8\_t x=7; x>=-36; x--) { matrix.clear(); matrix.setCursor(x,0); matrix.print("World"); matrix.writeDisplay(); delay(100); } matrix.setRotation(0); }
|