Pages: [1] 2   Go Down
Author Topic: Arduino UNO R3 und max7219  (Read 2700 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo an alle,

ich habe ein Problemchen und zwar: ich wollte ein max7219 mit ein arduino uno ansteuern aber, da tut sich nichts. Alles ist richtig angeschlossen, 100 mal geprüft, ich habe es auch mit mehrere ic´s versucht. ich habe alle code beispiele die ich gefunden habe ausprobiert, nix, ich habe auch alle mir zugänglichen lib´s getestet, nix. was ich mitbekommen habe ist dass der arduino nur auf der LOAD Leitung Impulse ausbringt, clock und data sind die ganze zeit still, habe es natürlich auch mit alle arduino Pins versucht (arduino ist io da ich alle Pins als Ausgang und Eingang getestet habe). Hat jemand einen Tipp für mich....

mfg.
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lege Dich auf ein Anschluss-Schema fest, ebenso auf einen Sketch, der Deiner Meinung nach funtkionieren könnte und poste beides hier.

Die Angabe "habe alle Libs probiert" ist ebenso nichts-sagend wie "habe es natürlich auch mit alle arduino Pins versucht" (ich hoffe nicht, dass Du das wirklich gemacht hast, gewisse Kombinationen können Deinen Arduino zerstören). Wenn Du uns ein konkretes Problem schilderst (eben mit Code und Verdrahtung), dann werden wir versuchen, Dir zu helfen.
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 146
Posts: 3032
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alles ist richtig ...

Kennst Du den:

Sagt eine Frau zu ihrem Mann, er ist Programmierer:

Sie: „Schatz, wir haben kein Brot mehr, könntest du bitte zum
Supermarkt gehen und eins holen? Und wenn sie Eier haben, bring 6 Stück mit.”

Er: „Klar, mach ich!”

Nach kurzer Zeit kommt er wieder zurück und hat 6 Brote dabei.

Sie: „Warum nur hast du 6 Brote gekauft?!?”

Er: „Sie hatten Eier.”

Eins ist sicher: Er hat alles richtig gemacht …
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Angabe "habe alle Libs probiert" ist ebenso nichts-sagend wie "habe es natürlich auch mit alle arduino Pins versucht" (ich hoffe nicht, dass Du das wirklich gemacht hast, gewisse Kombinationen können Deinen Arduino zerstören).
Welche würden denn den Arduino zerstören?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Welche würden denn den Arduino zerstören?

Wenn ein Pin auf Ausgang geschaltet ist und auf HIGH gesetzt wird, dann mit einem Pin verbunden wird, der Verbindung zu Masse hat.
Grundsätzlich: wenn LOW und HIGH ohne Widerstand verbunden werden, also ein Kurzschluss produziert wird.

Und alle Arduino-Pins beinhaltet auch die 5V, 3V3, GND, AREF, etc. Pins.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mein Fehler, ich sollte als aller erstes sagen dass ich nicht seid gestern mit mcu's hantiere und mit der Aussage "ich habe es mit alle Pins versucht " meine ich NATÜRLICH die digital Pins (Pin 0 bis 13, nicht das jemand jetzt auf die Idee kommt mir zu sagen das auch der USB Anschluss digital ist)  . An der Aussage "ich habe es mit alle libs versucht" kann ich auch nichts ändern, alle die mein bester freund Google ausgespuckt hat habe ich getestet, einschließlich die in/für Wiring. Und seid doch ehrlich, so viel falsch kann man da nicht machen. Ich werde morgen die Beispiele für die libs aus den Arduino playground 1zu1 hier kopieren denn, die habe ich 1zu1 übernommen. Verdrahtung werde ich auch hier Posten...
P.s.. Es ist immer wieder genial wie manche Leute reagieren wenn die der Meinung sind etwas besser zu Wissen... Genial..
 P. S. Auch nur zur Information, vor ca. 25 Jahre habe ich meine erste Endstufe mit KD503 gebaut... Aber man macht Fehler, des wegen Schrei e ich jetzt hier, mit der Hoffnung dass ihr mir helfen könnt.
Jurs, so verdreht ist meine Logik nicht...
Bis morgen...
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 263
Posts: 21609
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Entschuldig da muß ich Dir widersprechen. Mit der Information: ich hab alles ausprobiert aber nichts funkioniert hast Du uns null informationen gegeben was Du bis jetzt gemacht hast und was Deine Probleme bzw Fehlermeldungen sind.

Hast Du eine LED-Matrix oder eine 7 Segmentanzeige angeschlossen? ist die 7 Segment-Anzeige eine mit gemeinsamer Kathode?
Versuchs mal mit http://playground.arduino.cc/Main/MAX72XXHardware und http://playground.arduino.cc//Main/LedControl

Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, sehe ich ein, deshalb habe ich mich den auch entschuldigt. Ich habe mit dem angefangen was du mir da vorgeschlagen hast. Ich weiß nicht was man da falsch machen kann. Mein Sketch ist ja in dem Fall der Beispiel "LCDemoMatrix", auch richtig angeschlossen, nach dem Schaltbild von: http://playground.arduino.cc/Main/MAX72XXHardware. ich verwende BarGraph anzeigen mit gem.Kathode. Höchstwahrscheinlich übersehe ich etwas. Ich habe gerade nochmal alles überprüft, nach dem oben genannten Schaltbild ist alles richtig verbunden, habe es mit Durchgangsprüfer geprüft.

hat jemand von euch mit LedControl lib schon gearbeitet? Würde mich echt interessieren ob der Beispiel der mit dabei ist auch so, ohne Änderungen, mit ein MAX7219 funktioniert.
hmm, eigentlich fange ich langsam an zu denken dass die ic´s nicht io sind.... habe diese über E..Y bekommen....
mfg.
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 263
Posts: 21609
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie genau hast Du die BarGraphanzeige an den MAX angeschlossen?
Welche BarGraph hast Du?
Machst Du bitte ein Foto vom Aufbau?
Danke Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Es ist eine HDSP-4840 10 LED BarGraphanzeige, die Kathoden sind zusammengeschaltet und an pin 2,also Digit 1, von dem MAX angeschlossen, ich benutze nur 1 BarGraphanzeige. Ein Foto vom Aufbau kann ich erst heute abend reinstellen. An RSet vom MAX ist ein 24,7k wiederstand an vcc geschaltet.

mfg
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 263
Posts: 21609
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pin 2 ist nicht DIG 1 sondern DIG 0.
Ansonsten ist der Aufbau prinzipiell richtig.
Postest Du auch nochmal den Sketch?
Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lol, meine ich ja, Digit0 smiley smiley-roll-sweat

und wie gesagt, an dem Beispiel-Sketch habe ich nichts geändert:

Code:
//We always have to include the library
#include "LedControl.h"

/*
 Now we need a LedControl to work with.
 ***** These pin numbers will probably not work with your hardware *****
 pin 12 is connected to the DataIn
 pin 11 is connected to the CLK
 pin 10 is connected to LOAD
 We have only a single MAX72XX.
 */
LedControl lc=LedControl(12,11,10,1);

/* we always wait a bit between updates of the display */
unsigned long delaytime=100;

void setup() {
  /*
   The MAX72XX is in power-saving mode on startup,
   we have to do a wakeup call
   */
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);
}

/*
 This method will display the characters for the
 word "Arduino" one after the other on the matrix.
 (you need at least 5x7 leds to see the whole chars)
 */
void writeArduinoOnMatrix() {
  /* here is the data for the characters */
  byte a[5]={B01111110,B10001000,B10001000,B10001000,B01111110};
  byte r[5]={B00111110,B00010000,B00100000,B00100000,B00010000};
  byte d[5]={B00011100,B00100010,B00100010,B00010010,B11111110};
  byte u[5]={B00111100,B00000010,B00000010,B00000100,B00111110};
  byte i[5]={B00000000,B00100010,B10111110,B00000010,B00000000};
  byte n[5]={B00111110,B00010000,B00100000,B00100000,B00011110};
  byte o[5]={B00011100,B00100010,B00100010,B00100010,B00011100};

  /* now display them one by one with a small delay */
  lc.setRow(0,0,a[0]);
  lc.setRow(0,1,a[1]);
  lc.setRow(0,2,a[2]);
  lc.setRow(0,3,a[3]);
  lc.setRow(0,4,a[4]);
  delay(delaytime);
  lc.setRow(0,0,r[0]);
  lc.setRow(0,1,r[1]);
  lc.setRow(0,2,r[2]);
  lc.setRow(0,3,r[3]);
  lc.setRow(0,4,r[4]);
  delay(delaytime);
  lc.setRow(0,0,d[0]);
  lc.setRow(0,1,d[1]);
  lc.setRow(0,2,d[2]);
  lc.setRow(0,3,d[3]);
  lc.setRow(0,4,d[4]);
  delay(delaytime);
  lc.setRow(0,0,u[0]);
  lc.setRow(0,1,u[1]);
  lc.setRow(0,2,u[2]);
  lc.setRow(0,3,u[3]);
  lc.setRow(0,4,u[4]);
  delay(delaytime);
  lc.setRow(0,0,i[0]);
  lc.setRow(0,1,i[1]);
  lc.setRow(0,2,i[2]);
  lc.setRow(0,3,i[3]);
  lc.setRow(0,4,i[4]);
  delay(delaytime);
  lc.setRow(0,0,n[0]);
  lc.setRow(0,1,n[1]);
  lc.setRow(0,2,n[2]);
  lc.setRow(0,3,n[3]);
  lc.setRow(0,4,n[4]);
  delay(delaytime);
  lc.setRow(0,0,o[0]);
  lc.setRow(0,1,o[1]);
  lc.setRow(0,2,o[2]);
  lc.setRow(0,3,o[3]);
  lc.setRow(0,4,o[4]);
  delay(delaytime);
  lc.setRow(0,0,0);
  lc.setRow(0,1,0);
  lc.setRow(0,2,0);
  lc.setRow(0,3,0);
  lc.setRow(0,4,0);
  delay(delaytime);
}

/*
  This function lights up a some Leds in a row.
 The pattern will be repeated on every row.
 The pattern will blink along with the row-number.
 row number 4 (index==3) will blink 4 times etc.
 */
void rows() {
  for(int row=0;row<8;row++) {
    delay(delaytime);
    lc.setRow(0,row,B10100000);
    delay(delaytime);
    lc.setRow(0,row,(byte)0);
    for(int i=0;i<row;i++) {
      delay(delaytime);
      lc.setRow(0,row,B10100000);
      delay(delaytime);
      lc.setRow(0,row,(byte)0);
    }
  }
}

/*
  This function lights up a some Leds in a column.
 The pattern will be repeated on every column.
 The pattern will blink along with the column-number.
 column number 4 (index==3) will blink 4 times etc.
 */
void columns() {
  for(int col=0;col<8;col++) {
    delay(delaytime);
    lc.setColumn(0,col,B10100000);
    delay(delaytime);
    lc.setColumn(0,col,(byte)0);
    for(int i=0;i<col;i++) {
      delay(delaytime);
      lc.setColumn(0,col,B10100000);
      delay(delaytime);
      lc.setColumn(0,col,(byte)0);
    }
  }
}

/*
 This function will light up every Led on the matrix.
 The led will blink along with the row-number.
 row number 4 (index==3) will blink 4 times etc.
 */
void single() {
  for(int row=0;row<8;row++) {
    for(int col=0;col<8;col++) {
      delay(delaytime);
      lc.setLed(0,row,col,true);
      delay(delaytime);
      for(int i=0;i<col;i++) {
        lc.setLed(0,row,col,false);
        delay(delaytime);
        lc.setLed(0,row,col,true);
        delay(delaytime);
      }
    }
  }
}

void loop() {
  writeArduinoOnMatrix();
  rows();
  columns();
  single();
}

mfg
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kann den jemand bestätigen das diese lib, LedControl, funktioniert? Hat jemand schon etwas da mit gemacht....?
Ich bestelle mir jetzt die IC´s jetzt von wo anderes, kann ja sein das die hier schrott sind.

mfg
Logged

Germany, Dresden
Offline Offline
Sr. Member
****
Karma: 15
Posts: 432
30 Jahre Elektronikbastelei, Programmieren null Ahnung!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Big_Spender,

ich kann bestätigen, das der Sketch läuft smiley
http://arduino.cc/playground/uploads/Main/LedControl.zip
runterladen und Arduino/libraries den LedControl Ordner reinkopieren. dann kannste das Sketch laufen lassen.
Als Hardware habe ich aus der Bucht diesen Bausatz hier genommen:
http://www.ebay.de/itm/261142548029?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
Am 3.1. bestellt und gestern am 12.1. aus China hier aufgeschlagen.
Für 4,99 Euronen bekommste hier nicht mal den MAX!  smiley-mr-green
Und hier ist noch ne durchkontaktierte Leiterplatte, eine 8x8 Matrix rot, Fassungen für IC & Matrix, und der Kleinkram dabei.
Habe mir den Bausatz gleich 2x bestellt. Das nächste Level wird sein, den 2. MAX zu kaskadieren. Was kurios ist, das die Arduino Laufschrift spiegelverkehrt ist  smiley-eek
Muß ich mal schauen, ob auf der PCB die Spaltenleitungen andersrum verwendet wurden, oder was da läuft.

Gruß Gerald
Logged

rot ist blau und Plus ist Minus

Germany, Dresden
Offline Offline
Sr. Member
****
Karma: 15
Posts: 432
30 Jahre Elektronikbastelei, Programmieren null Ahnung!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo, kleines Update!

meine Vermutung hat sich bestätigt. Beim China Baustz sind die Column-Leitungen spiegelverkehrt mit dem Display verdrahtet. Daraus resultiert die Spiegelschrift. Das rauszubekommen war ein bisschen tricky, weil im Datenblatt am Anfang zunächst die Zuordung der Segmente einer 7-Segmentanzeige zum Sockel korrospondierend angegeben wurde. Erst auf Seite 7 wurde dann eine "Übersetzung" Segmente zu Spalten geliefert.
Somit ist die Platine ganz nett für erste Experimente, aber zum Kaskadieren ist sie schlicht unbrauchbar  smiley-yell

Gruß Gerald
Logged

rot ist blau und Plus ist Minus

Pages: [1] 2   Go Up
Jump to: