-
Jun 11th, 2018, 03:25 AM
#1
Thread Starter
Hyperactive Member
Arduino UNO printing on 32*32 1/4 scan rate missy results.
Hello Everyone,
I'm not sure if I'm posting in the right place
I have asked about my problem many times everywhere and I couldn’t have it solved yet.
For that I decided to make this topic for everyone who wants to share and challenge solving this problem.
To participate you will only need:
Connect as follows:
CLK To 8
LAT To 10
OE To 9
A To A0
B To A1
C To A2 *(I don’t have it on my panel)
D To A3 *(I don’t have it on my panel)
R1 To 2
G1 To 3
B1 To 4
R2 To 5
G2 To 6
B2 To 7
GND To GND
*My Panel Has only A & B Where C & D are grounded and not there.
Copy this code and paste it in new Arduino Sketch:
Code:
#include <gamma.h>
#include <RGBmatrixPanel.h>
#include <avr/pgmspace.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT 10
#define OE 9
#define A A0
#define B A1
#define C A2
#define D A3
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false, 2);
char inChar; // Temp char storage
int num;
char tmpchr1;
uint64_t index = 0;
uint64_t index1 = 0;
bool newPrint;
int r;
int g;
int b;
void setup() {
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
Serial.begin(9600);
digitalWrite(13, HIGH);
matrix.begin();
matrix.setTextSize(1);
matrix.fillScreen(00);
matrix.setTextColor(matrix.Color333(0,7,0));
delay(100);
matrix.print(00);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
}
void loop() {
// Check the availability of new input
while(Serial.available())
{
Loop1:
num = Serial.parseInt();
num = constrain(num, 0, 9999);
Serial.print(num);
if (num < 3)
{
goto Loop1;
}
if (num < 10)
{
if (num < 9)
{
r = 0;
g = 7;
b = 0;
digitalWrite(11, HIGH);
}
else
{
r = 7;
g = 7;
b = 0;
digitalWrite(12, LOW);
}
}
if (num > 10)
{
r = 7;
g = 0;
b = 0;
digitalWrite(11, LOW);
}
matrix.fillScreen(matrix.Color333(0, 0, 0)); // Delete the whole panel
matrix.setCursor(0,0); // Set the top left position of the first line
matrix.setTextColor(matrix.Color333(r,g,b));
matrix.print(num);
if (num < 3)
{
matrix.fillScreen(matrix.Color333(0, 0, 0));
digitalWrite(12, LOW);
delay(50);
digitalWrite(12, HIGH);
}
newPrint = false; // New RGB print disabled
delay(500);
matrix.fillScreen(matrix.Color333(0, 0, 0));
//digitalWrite(12, LOW);
// delay(50);
digitalWrite(11, HIGH);
}
index = 0; // Restart the storage of characters from 0
index1 = 0;
//
delay(500);
matrix.fillScreen(matrix.Color333(0, 0, 0));
digitalWrite(11, HIGH);
}
Because my project is all about getting numbers from Serial Port, for that I’m sending the numbers from the Arduino program directly from: Tools>Serial Monitor
I just write some numbers on the Serial Monitor upper text box and make sure they look good on the display panel.
You can change font size from this line ( 1, 2 or 3 )
Code:
matrix.setTextSize(1);
Now let’s see what happened with me:
Typing number 4 one time with font size 1: (If not shown see attachment LED Panel1)

Typing number 4 three times with font size 1: (If not shown see attachment LED Panel2)

Typing number 4 one time with font size 2: (If not shown see attachment LED Panel3)

Have fun trying the code with your panel if it’s ¼ Scan Rate
And I think it will work fine if your panel is 16x32.
Please share your experience and surprise me if it works with your 32x32 Display Panel.
If you have the (32x32 ¼ scan rate Dip Type) one which has A & B pins and no C & D,
You are more than welcome to solve this issue together,
Thank you everyone
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|