Hallo zusammen,
ich möchte mit einem MAX7219 ein 7-Segment-Display steuern.
Angeschlossen hab ich alles wie im Plan oben.
Displayangaben sind UF = 2.2V und IF= 20mA, daher der 30k Widerstand.
Als Script habe ich schon diverse Beispielscripte genommen, ua ganz
simpel:
1
#include "LedControl.h"
2
LedControl lc=LedControl(22,24,23,1);
3
4
void setup()
5
{
6
// Initialize the MAX7219 device
7
lc.shutdown(0,false); // Enable display
8
lc.setIntensity(0,15); // Set brightness level (0 is min, 15 is max)
9
lc.clearDisplay(0); // Clear display register
10
}
11
void loop()
12
{
13
lc.setDigit(0, 0, (byte)8, false);
14
delay(1000);
15
}
Jedoch leuchtet kein einziges Segment.
Beim messen der Spannung an den einzelnen Segmenten werden auch nur
0.43V angezeigt.
Weiß jemand weiter? In der Suchmaschine hab ich leider nichts passendes
gefunden..
Gruß
Anzeige mit gemeinsamer Kathode?
Anders, als die meisten anderen ICs, wünscht der MAX Anzeigen mit
gemeinsamer Kathode.
Ist der MAX7219 ein Original, oder eine Chinafälschung? Kann
funktionieren, muß aber nicht. Von 2. Wahl über umgelabelten Chips bis
zum Leergehäuse kann alles dabei sein.
Dan0207 schrieb:> Ja, Display ist mit gemeinsamer Kathode.> Naja, hab den IC von einem deutschen Händler aus der Bucht gekauft.>> Gruß
Alles was nicht vom Distributor kommt und unter 5€ p. Stück kostet, ist
schon mal verdächtig. Guck mal hier, da sind Fotos der Logos von
Original und Fälschung: http://forum.arduino.cc/index.php?topic=233109.0
Okay, dann gehe ich mal von Fake ICs aus, dafür waren meine viel zu
billig..
Ich möchte eigentlich nur einen Temperaturwert (max 3 Ziffern), der dann
auch auf einem Server und von dort per Website anzeigbar ist, direkt am
Gehäuse anzeigen.
Dachte dafür wäre ein Segment Display die beste Sache,
wo bekomme ich denn schnellstmöglich und garantiert einen Originalen
(und am besten auch ohne dass ich für den Versand nochmal genauso viel
zahle) her?
Hallo,
hab mal die Funktion betrachtet und das Beispiel hier gefunden:
/*
* Now we create a new LedControl.
* We use pins 12,11 and 10 on the Arduino for the SPI interface
* Pin 12 is connected to the DATA IN-pin of the first MAX7221
* Pin 11 is connected to the CLK-pin of the first MAX7221
* Pin 10 is connected to the LOAD(/CS)-pin of the first MAX7221
* There will only be a single MAX7221 attached to the arduino
*/
LedControl lc1=LedControl(12,11,10,1);
Wenn ich den Schaltplan richtig lese so ist Pin13 an D23 (clock) und
Pin12 an D24 (Load) und Pin1 and D22 (Data).
Sollte es also dann nicht so heißen:
LedControl lc=LedControl(22,23,24,1);
und nicht
LedControl lc=LedControl(22,24,23,1);
Oder hab ich da etwas falsch verstanden? Ich selbst hab an die 100 von
solchen Dingern schon verbaut, die sind für kleines Geld aus China und
funzen ALLE!
Gruß
Thomas
Dan0207 schrieb:> Okay, dann gehe ich mal von Fake ICs aus, dafür waren meine viel zu> billig..
Ich würde zu 99,99% die Software in Verdacht haben oder einen
Verdrahtungsfehler.
Ist das eine original Arduino-Lib und hast Du die Doku dazu gelesen und
verstanden?
Wenn es aber eine Lib eines anderen Users ist, weißt Du nicht, welche
Qualität die Lib hat.
Gerade Anfänger programmieren oft nach trial&error und nicht nach
Datenblatt, d.h. deren Libs sind nur sehr eingeschränkt nachnutzbar.
Schick mal den Display-Test Befehl an den MAX7221.
Hallo,
also ich hab nochmal alles mögliche probiert und getestet.
Meine Displays sind sicher mit gemeinsamer Kathode (gemeinsamer
Anschluss an GND, + über Vorwiderstand an die einzelnen Segmente -> LED
leuchtet).
Meine Anschlüsse hab ich nun an folgendes Script angepasst:
1
/*
2
Basic code for using Maxim MAX7219/MAX7221 with Arduino.
3
Wire the Arduino and the MAX7219/MAX7221 together as follows:
4
| Arduino | MAX7219/MAX7221 |
5
| --------- | --------------- |
6
| MOSI (11) | DIN (1) |
7
| SCK (13) | CLK (13) |
8
| I/O (7)* | LOAD/CS (12) |
9
* - This should match the LOAD_PIN constant defined below.
10
11
For the rest of the wiring follow the wiring diagram found in the datasheet.
Funktioniert immer noch nicht..
Danach hab ich nur eine einzelne LED an den MAX angeschlossen, Anode an
SegA und Kathode an Dig0. Hat genauso nicht geleuchtet.
Dann hab ich die LED umgedreht nun blinkt sie. Mit Anode an Dig0 und
Kathode an SegA. Sollte doch eigentlich andersrum sein oder?
Gruß
Dan0207 schrieb:> Mit Anode an Dig0 und> Kathode an SegA. Sollte doch eigentlich andersrum sein oder?
Bist du nach Drahtlänge gegangen, oder hast du die Polung elektrisch
ausgetestet? Es gibt auch LEDs, die sich nicht an den ungeschriebenen
Standard halten.
Gerald B. schrieb:> Bist du nach Drahtlänge gegangen, oder hast du die Polung elektrisch> ausgetestet? Es gibt auch LEDs, die sich nicht an den ungeschriebenen> Standard halten.
Hab es getestet. Die LED ist richtig herum angeschlossen.