16x32 RGB LED matrix + Arduini MEGA

Hogyha sikeresen O/PLED illetve hagyományos alfanumerikus - esetleg tán grafikus kijelzővel gyűlik meg a baja valakinek:)
nernoe
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2013. június 3. hétfő, 7:42

16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: nernoe »

Üdv Mindenkinek!

Van egy 16x32 RGB LED matrixom , amit már UNO-val sketch-el tökéletesen működött .
Most a több soros porti vétel miatt Megával szeretném megoldani , de csak villog össze-vissza :(
A matrixpanel.cpp- alapján definiáltam hogy Megarol van szó . A lábakat átírtam a komment szerint , de az R1.....G2 lábakkal nem tudon bit kezdeni , pedig a MEGA ezen lábai nem használhatók itt , a megjegyzés szerint.

Tud valaki segíteni hogy konkrétan mit hova kössek , mert guglin nem találom Megához..

Ímé a kód eleje , ennek önmagában is ki kellene írni hogy ME-MAK:

// For 16x32 RGB LED matrix:
// http://www.adafruit.com/products/420
//********ÁTKÜTNI a LATCHET A3ról D12-re!!!! *********
// 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
#define __AVR_ATmega2560__ //itt definiáltam hogy megáról van szó a matrixpanel.cpp-ben ********
//-----------------------------------------------------------------
// definiálom a kijelző lábakat P10 16*32 1/8 SCAN RATE !!!!
//--------------------------------------------------------------
#define CLK 11 //11 // MUST be on PORTB! (Use pin 11 on Mega)/volt unon is******
#define LAT 24 //12 volt unon****
#define OE 25 //9 volt unon******
#define A A5 //
#define B A1 // ezeket békén hagytam az analogokat*********
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);

//boolean le=1;
//boolean fel=1;

int kiir0=0;
int kiir10=0;
int kiir20=0;

int kezd=1;
int tol1=0;
int tol2=0;
int tol3=0;
unsigned long time; // a belső millis számlálónak
unsigned long oldtime;

//boolean ugrik;

void setup() {

pinMode (52,OUTPUT);// ez lesz a LATCH A3 helyett !!!!!
pinMode (11,OUTPUT);
pinMode (13,INPUT);
pinMode (50,OUTPUT);
pinMode(A0,INPUT);
pinMode(A4,INPUT);
pinMode(A3,INPUT);
// digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
Serial.begin(115200);
Serial3.begin(115200);
Serial2.begin(115200);
pinMode(8,INPUT); //MODE bemenet
//digitalWrite(11,HIGH);
pinMode(10,OUTPUT); //hang komenet
digitalWrite(8,HIGH); // felhuzo ellenall bekapcs
matrix.begin();


matrix.fillScreen(matrix.Color333(0, 0, 0));

// draw some text!
matrix.setCursor(1, 0); // start at top left, with one pixel of spacing
matrix.setTextSize(1); // size 1 == 8 pixels high Csak 1 vagy 2 lehet !!!!!

// print each letter with a rainbow color
matrix.setTextColor(matrix.Color333(7,0,7));
matrix.print("ME-");
matrix.setTextColor(matrix.Color333(0,0,7));
matrix.setCursor(1, 9);
matrix.print(" -MAK");
delay(2000);
// fill the screen with 'black'
matrix.fillScreen(matrix.Color333(0, 0, 0));
matrix.setTextColor(matrix.Color333(7,0,0));



oldtime = millis();
// whew!
}

void loop() {

Köszi
Ernoe
nernoe
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2013. június 3. hétfő, 7:42

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: nernoe »

Közben megtaláltam az Adafruiton a teljes áthuzalozást ...
MŰXIK :)))

Bocsi - Kösz :)

Ernoe
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: Robert »

http://www.tavir.hu - a gazda :)
nernoe
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2013. június 3. hétfő, 7:42

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: nernoe »

Még egy kérdésem lenne :

Az egyik Arduinoról küldök ki egy double változót tizedes nélkül

Serial.println(dfreq,0);

Ez eddig ok. Az Uno saját serial monitorján nézve maga a szám jelenik meg - azt kuldi ki.

Ezt venném egy MEGA egyik soros portján :
if (Serial2.available()){
kiir0 = Serial2.read();

}
Serial.write(kiir0);

Itt már hülyeségek jelennek meg : leginkább az első szám ASCII kódja , meg az enter ASCII kódja.

Hogy lehetne elérni hogy a kiir0 változó ugyanúgy normál decimális vagy esetleg string tipusu valós érték legyen ??

Köszi
nernoe
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2013. június 3. hétfő, 7:42

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: nernoe »

Szia Robi!

Most már valamennyire működik az alábbi kódrészlettel a vétel, rendesen elküldi a kiir rutinnak :
**********************************************************************************************
char buff;
String elsoszam;

void loop() {
while (Serial2.available() > 0) {

buff = Serial2.read(); // Egyszerre egy karaktert olvas
if (buff != 13 || buff != 10){
//A sorvégi karakterek elvetése
elsoszam += buff; //Itt fűzzük össze a karakterláncot a karakterek hozzáadásával
delay(5); // Várunk 5 ms-t, hogy biztos beérjen a következő bájt
}
Serial2.flush();

}
Serial.println(elsoszam);
delay(400);
kiir0=elsoszam.toInt();
Serial.println(kiir0);
kiir();
elsoszam="";
}

*********************************************************************************
Csak nagyon kényes a 400 msec időzítésre , ha leveszem 300ra már hol0-t ír , hol a rendes értéket.
Ha kiíratom vele a soros0 portján monitorra az értékeket akkor egy void loop lefutásakor kiírja többször is a kiir0 -t.
Minél nagyobb a delay annál többször :)

És még most jön a java : két különböző adatot akarok venni sorban , úgyhogy jöhetnek a szeparátorok , string kaszabolások.
De amig ez nem stabil , neki sem merek kezdeni :(

Üdv
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: Robert »

Serial.write (ertek); - az ertek ASCII kodjat irja ki
Serial.print(ertek); - az ertek-et írja ki decimálisan.
Ha ertek = 34; - 1.eset: B (B = ASCII 0x34); második eset: 34-et ír ki
http://www.tavir.hu - a gazda :)
nernoe
DrótVégénSzéndarab
Hozzászólások: 36
Csatlakozott: 2013. június 3. hétfő, 7:42

Re: 16x32 RGB LED matrix + Arduini MEGA

Hozzászólás Szerző: nernoe »

Köszi , ez ok.
Serial.println - el kuldom a kuldo oldalon , es konvertalas is ok. Csak ezzel a varakozassal nem tudok mit kezdeni (300-400 msec) , hogy ez miert kell.
Ja és a serial.flush csak az output buffert torli ?

Holnap elkezdek a serial.readString-el is jatszani...

Sajnos lázasodok es igy még a szokasosnal is lassubb a gondolatmenetem... ;)

Udv
Ernoe
Válasz küldése