Hello every one
I am new with ardunio ,with programming,but i am electronic engineer, I like to do projects and I am interest now in RGB led matrix,I bought 16*32 RGB led matrix ,I did all wiring and check the matrix with example code and work well.
in this topic I will write some code and let the others to discuss ,we will write our program, make changes,see what is happen,the code without changing as below.
// scrolltext demo for Adafruit RGBmatrixPanel library.
// Demonstrates double-buffered animation on our 16x32 RGB LED matrix:
// Medium 16x32 RGB LED matrix panel - 6mm Pitch : ID 420 : $24.95 : Adafruit Industries, Unique & fun DIY electronics and kits
// Written by Limor Fried/Ladyada & Phil Burgess/PaintYourDragon
// for Adafruit Industries.
// BSD license, all text above must be included in any redistribution.
#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library
// Similar to F(), but for PROGMEM string pointers rather than literals
#define F2(progmem_ptr) (const __FlashStringHelper *)progmem_ptr
#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2
// Last parameter = 'true' enables double-buffering, for flicker-free,
// buttery smooth animation. Note that NOTHING WILL SHOW ON THE DISPLAY
// until the first call to swapBuffers(). This is normal.
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, true);
// Double-buffered mode consumes nearly all the RAM available on the
// Arduino Uno -- only a handful of free bytes remain. Even the
// following string needs to go in PROGMEM:
const char str[] PROGMEM = "Adafruit 16x32 RGB LED Matrix";
int textX = matrix.width(),
textMin = sizeof(str) * -12,
hue = 0;
int8_t ball[3][4] = {
{ 3, 0, 1, 1 }, // Initial X,Y pos & velocity for 3 bouncy balls
{ 17, 15, 1, -1 },
{ 27, 4, -1, 1 }
};
static const uint16_t PROGMEM ballcolor[3] = {
0x0080, // Green=1
0x0002, // Blue=1
0x1000 // Red=1
};
void setup() {
matrix.begin();
matrix.setTextWrap(false); // Allow text to run off right edge
matrix.setTextSize(2);
}
void loop() {
byte i;
// Clear background
matrix.fillScreen(0);
// Bounce three balls around
for(i=0; i<3; i++) {
// Draw 'ball'
matrix.fillCircle(ball[0], ball[1], 5, pgm_read_word(&ballcolor*));
_ // Update X, Y position*
ball[0] += ball*[2];
ball[1] += ball[3];
// Bounce off edges*
if((ball[0] == 0) || (ball*[0] == (matrix.width() - 1)))
ball[2] = -1;
if((ball[1] == 0) || (ball[1] == (matrix.height() - 1)))
ball[3] = -1;
}
// Draw big scrolly text on top*
* matrix.setTextColor(matrix.ColorHSV(hue, 255, 255, true));
matrix.setCursor(textX, 1);
matrix.print(F2(str));
// Move text left (w/wrap), increase hue*
* if((--textX) < textMin) textX = matrix.width();
hue += 7;
if(hue >= 1536) hue -= 1536;
// Update display*
* matrix.swapBuffers(false);
}*
this code scroll the text from the write to the left.
the first question is how many test can we scroll and how?
this code we can write the text
const char str[] PROGMEM = "Adafruit 16x32 RGB LED Matrix";
if i want to write another text and want to scroll it after the first on .
what is the code?_