Arduino Forum

International => Deutsch => Topic started by: Big_Spender on Dec 18, 2012, 03:47 pm

Title: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 18, 2012, 03:47 pm
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.
Title: Re: Arduino UNO R3 und max7219
Post by: pylon on Dec 18, 2012, 03:55 pm
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.
Title: Re: Arduino UNO R3 und max7219
Post by: jurs on Dec 18, 2012, 04:13 pm

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 …
Title: Re: Arduino UNO R3 und max7219
Post by: Addi on Dec 18, 2012, 04:24 pm

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
Title: Re: Arduino UNO R3 und max7219
Post by: pylon on Dec 18, 2012, 06:40 pm
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.
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 18, 2012, 11:33 pm
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...
Title: Re: Arduino UNO R3 und max7219
Post by: uwefed on Dec 19, 2012, 12:04 am
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
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 19, 2012, 01:09 am
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 (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.
Title: Re: Arduino UNO R3 und max7219
Post by: uwefed on Dec 19, 2012, 01:38 am
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
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 19, 2012, 07:46 am
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
Title: Re: Arduino UNO R3 und max7219
Post by: uwefed on Dec 19, 2012, 08:22 am
Pin 2 ist nicht DIG 1 sondern DIG 0.
Ansonsten ist der Aufbau prinzipiell richtig.
Postest Du auch nochmal den Sketch?
Grüße Uwe
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 19, 2012, 08:32 am
lol, meine ich ja, Digit0 :) :smiley-roll-sweat:

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

Code: [Select]

//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
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Dec 19, 2012, 10:22 pm
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
Title: Re: Arduino UNO R3 und max7219
Post by: nix_mehr_frei on Jan 13, 2013, 08:55 pm
Hallo Big_Spender,

ich kann bestätigen, das der Sketch läuft :)
http://arduino.cc/playground/uploads/Main/LedControl.zip (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 (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
Title: Re: Arduino UNO R3 und max7219
Post by: nix_mehr_frei on Jan 16, 2013, 08:51 pm
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
Title: Re: Arduino UNO R3 und max7219
Post by: volvodani on Jan 16, 2013, 10:15 pm
Ich nutzte erfolgreich zwei MAX7221 in meiner QlockTwoQlone. Ich habe zwei von den 7221 Kaskadiert. Sie sind ja soweit kompatibel  aber der xx21 hat eine echte SPI die ich dann nachher nachdem umschreiben der Library nutzen konnte und refresh flicker vermeiden konnte.
Gruß
Der Dani

===> Der Big_Spender war seit dsem 21.12.21 nicht mehr on deswegen glaube ich das der Thread ausläuft.
Title: Re: Arduino UNO R3 und max7219
Post by: nix_mehr_frei on Jan 17, 2013, 08:44 am
Auf jeden Fall ist der MAX7219 /21 ein interessantes Bauteil, das auch "Nichtelektroniker" verbauen können, wenn ein paar Leute die entsprechenden Beispiele als Denkanstoß vorstellen. Von daher wäre es schade, wenn der Tröt hier gänzlich unkommentiert in der Versenkung verschwindet.
Ich dachte, die LedControl Library würde sowohl den xx19, als auch den xx21 unterstützen?
Na jedenfalls habe ich schon mal nach Quellen Ausschau gehalten und da findet man defacto nur 19'er. Bei Reichelt gibt es den 21'er für weitere 2€ "Exotenaufschlag" - über 7€ das Stück! Aber das ist mir echt zu heavy. Werde mir wohl über die Bucht 10x 7219 von außerhalb bestellen. In England, Amiland und Asien sind die wesentlich preiswerter.
Bei mir soll's ein Analogthermometer mit vieeelen LED's als Skala werden...  :D

Gruß Gerald
Title: Re: Arduino UNO R3 und max7219
Post by: volvodani on Jan 17, 2013, 02:46 pm
Es sind auch beide ähnlich wobei der 7219 32 Helligkeitsstufen hat der 7221 nur 16 Helligkeitsstufen. Der 7221 kann echtes SPI wobei der 7219 nur über normales shiftout die Daten bekommt. Die Library aus dem Playground benutzt für beide nur das normale shiftout. Ich habe mit die Lib verändert damit ich echtes SPI (flacker Problem).
Gruß
Der Dani
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Jan 21, 2013, 05:29 pm
So, habe mir noch mal die 7219 bestellt, und, es funktioniert immer noch nicht. Ich werde mir jetzt ein Modul das "nix_mehr_frei" in sein post vorgeschlagen hat bestellen, und, dann werde ich berichten was Sache ist.

Danke nochmal für die antworten/hinweise.

bis bald
Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Feb 05, 2013, 12:45 pm
Also, das Modul ist gekommen und funktioniert einwandfrei, bis auf die spiegelverkehrte Schrift die auch "nix_mehr_frei" erwähnt hat. ich habe auch alle ic´s die ich vorher bestellt habe auf die Platine gesteckt, und, keins davon hat funktioniert, einige haben einfach willkürlich ein paar punkte auf die Matrix (Dauerlicht, also, mit oder ohne arduino hat immer das selbe geleuchtet)  angemacht, mehr aber auch nicht. leider finde ich nicht mehr heraus von wem ich die ic´s gekauft habe, auf jeden Fall, war das ein chinesischer Anbieter, alle 20 Stück die ich habe sind Schrott.  Eigentlich sollte ich von vorn herrein wiessen was loss ist, die schrift "MAXIM" ist nicht die originale, ich füge ein foto hinzu....

@ nix_mehr_frei:

wie hast du das Problem mit der spiegelverkehrte Schrift gelöst?

(http://imageshack.us/a/img16/4394/unbenannteje.jpg)

die untere IC ist der fake.
Title: Re: Arduino UNO R3 und max7219
Post by: nix_mehr_frei on Feb 05, 2013, 05:32 pm
Schade, schade, das du nicht mehr weißt, wo du bestellt hast. ich wollte mir demnächst mal 10 Stück besorgen. in Frage käme die "Bucht" (com) oder http://www.aliexpress.com und da nen Anbieter rauspicken...
Hat jemand gute Erfahrungen mit einem Lieferanten gemacht?
Die Schrift war für mich erstmal sekundär. Ich habe jetzt 64 LEDs als langes Band mit der Single Loop angesteuert. Nun bin ich am löten und gehe auf 192 LEDs hoch. 600 Rechteck-LEDs (für die Skalenstriche) aus Canada sind bereits aufgeschlagen, heute kam ein Sack voll kleiner 7-Segmentanzeigen (für die Skalenbeschriftung). Nun habe ich alles zusammen. Wenn die Hardware zusammengeschmiedet ist, muß ich mal schauen, wie ich die Umsetzung von Binär nach "Band" realsiere. Als "Quick & Dirthy" würde ich spontan die Schleife der Serial Loop aus der LedControl hernehmen und einen Rundenzähler drüberstülpen, der so viele Durchläufe macht, bis der Wert erreicht ist. Dann Pause und die nächste Runde... Smarter wäre ein kleines Arry und dann den Binärwert zu shiften und die nächste Gruppe zu verarzten. Das würde auch schneller eingelesen werden, da jede LED einzeln zu setzen 8x so lange dauert, wie ein ganzes Byte am Stück in den MAX zu schieben.
Wenn ich das Thermometer am Laufen habe, schaue ich nach weiteren Spielereien  :D

Gruß Gerald

Title: Re: Arduino UNO R3 und max7219
Post by: Big_Spender on Feb 06, 2013, 02:39 am
so, ich habe den verkeufer gefunden, papyal hatte noch die daten gespeichert:
Zahlung an: kai zhang    (Der Empfänger dieser Zahlung ist Nicht-US - verifiziert.)
Mitgliedsname des Verkäufers: bascoomart
E-Mail des Verkäufers: luke33179@gmail.com

ich hoffe ich konnte hiermit helfen.

EDIT:

der Verkäufer ist nicht mehr bei Ebay, zumindest verkauft er zur zeit nichts mehr, sein Shop ist leer, hatte aber 16K+ bewertungspunkestand :~
Title: Re: Arduino UNO R3 und max7219
Post by: nix_mehr_frei on Feb 06, 2013, 10:29 am
Danke, sieht danach aus, als ob der gute Mann auch angeschmiert wurde.
Wieder eine neue Position, was alles schon gefälscht wurde: In der Pentium Ära Intel CPU's (anderer Multiplikator, da offen), RAM Riegel mit SPD Daten von Markenware, Elkos wurden mit neuem Schrumpfschlauch von 85° auf 105° umgelabelt, Leistungstransistoren... das sind so die Dinge, an die ich mich erinnere   :smiley-eek-blue:

Update: noch so Einer, wo Ärger vorprogrammiert ist!  ]:)
http://www.ebay.com/itm/MAX7219CNG-Manu-MAXIM-Encapsulation-DIP-24-Serially-Interfaced-8-Digit-LED-/110887904668?pt=LH_DefaultDomain_0&hash=item19d16f259c (http://www.ebay.com/itm/MAX7219CNG-Manu-MAXIM-Encapsulation-DIP-24-Serially-Interfaced-8-Digit-LED-/110887904668?pt=LH_DefaultDomain_0&hash=item19d16f259c)
...und noch Einer
http://www.ebay.com/itm/8-Digit-LED-Display-Drivers-IC-MAX7219-MAX7219CNG-NEW-/260265904126?pt=LH_DefaultDomain_0&hash=item3c990e87fe (http://www.ebay.com/itm/8-Digit-LED-Display-Drivers-IC-MAX7219-MAX7219CNG-NEW-/260265904126?pt=LH_DefaultDomain_0&hash=item3c990e87fe)

Wobei interessant ist, das der Datumscode in der unteren Zeile nicht der selbe ist!