Arduino led matrix geht nicht?
Hey
habe mir ne LED matrix mit 4 panels gekauft...
Habe alles wie im video gemacht :https://www.youtube.com/watch?v=SIlLj4thyso
Bei mir kommt nur keine ahnung was raus
Das erste panel leuchtet alles irgentwie random und die anderen leuchten komplett immer anders?
Weiß jemand woran das liegt ? fehlerhaftes video?
LG
4 Antworten
Sicher dass deine Batterie und der 5V Spannungsregler alle LED's gleichzeitig betreiben kann?
Das könnte auch noch eine Ursache sein.
EDIT: Du hast bestimmt die falschen Pins genommen. Wenn das Teil mit I2C funktioniert, musst du auch die I2C des Arduino Mega was du nutzt raussuchen und nicht die Pins aus dem Video verwenden.
Ich habe eben kurz in den Code geguckt.. du scheinst SPI zu verwenden.
Für SPI brauchst du noch einen CS-PIN außerdem sind das auch wieder andere Pins als I2C also hier nochmal genau schauen ob alle Pins richtig gewählt und gesteckt sind.
Bin Beruflich Elektroniker, meistens liegt es an defekten Lötstellen auf der Platine der Matrix. Einfach mal mit einem Zahnstocher versuchen unter die Lötstellen zu kommen, falls das klappt sind sie defekt, dann einfach mit dem Lötkolben nochmal erwärmen.
Okey probiere ich aus
Vielen dank für die schnelle antwort!
Mittlerweile leuchten alle komplett manchmal geht aber trotzdem noch eins aus
// Program to demonstrate the MD_Parola library
//
// Simplest program that does something useful - Hello World!
//
// MD_MAX72XX library can be found at https://github.com/MajicDesigns/MD_MAX72XX
//
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
// Define the number of devices we have in the chain and the hardware interface
// NOTE: These pin numbers will probably not work with your hardware and may
// need to be adapted
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
// Hardware SPI connection
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// Arbitrary output pins
// MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
void setup(void)
{
P.begin();
P.displayText("Hello", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
}
void loop(void)
{
P.displayAnimate();
}
Um dir zu helfen müsstest du deinen Code mal für uns bereitstellen. Hast du auch alles richtig angeschlossen?
ja wie im video ...
Code:
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
const uint16_t WAIT_TIME = 1000;
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
// Hardware SPI connection
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// Arbitrary output pins
// MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
void setup(void)
{
P.begin();
}
void loop(void)
{
P.print("Hello");
delay(WAIT_TIME);
P.print(1234, DEC);
delay(WAIT_TIME);
P.print(1234, HEX);
delay(WAIT_TIME);
P.print(12.5); // float not supported by Arduino Print class
delay(WAIT_TIME);
P.print(9876l);
delay(WAIT_TIME);
P.println("end"); // only get the /r/n characters - avoid using println
delay(WAIT_TIME);
P.write('A');
delay(WAIT_TIME);
P.write('B');
delay(WAIT_TIME);
P.write('C');
delay(WAIT_TIME);
}
das mit den 5V ja
habe jetzt die l2C pins genommen kein unterschied :/