Forum: Mikrocontroller und Digitale Elektronik Siebensegment, Arduino - was ist hier falsch?


von Henri R. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich brauche Eure Hilfe.
Ich habe eine Siebensegmentanzeige SA39-11(gemeinsame Anode) wie in 1000 
Tutorien beschrieben (glaube ich jedenfalls) an ein Schieberegister 
M74HC595B1 und meinen Arduino angeschlossen.

Leider macht sie nicht das, was sie soll.
Austausch des Registers ändert nix. Schaltung nochmal komplett neu 
gesteckt - gleicher Fehler.´Habe 470 Ohm Widerstände genommen.

Hier der Code (aus wesentliche reduziert):
1
int latchPin = 8;           
2
int clockPin = 12;          
3
int dataPin = 11;          
4
5
void setup() {
6
  pinMode(latchPin, OUTPUT);
7
  pinMode(clockPin, OUTPUT);
8
  pinMode(dataPin, OUTPUT);
9
}
10
11
void loop() {
12
digitalWrite(latchPin, 0);
13
shiftOut(dataPin, clockPin, LSBFIRST, 11111111);   
14
digitalWrite(latchPin, 1);
15
}
Laut meinem Code sollte doch alles aus sein, oder nicht? Es leuchten 
aber immer noch die LEDs c, d und e (siehe LED-Foto).
Wenn ich alles auf 1 setze (0000 0000) gehen alle LEDs an (ist alles 
invertiert).
Ich sehe den Fehler nicht. Bitte helft.

Kurz noch zu den Fotos:
am Schiebe-Register:
gelb geht an Pin12
blau an Pin8
grün an Pin 11,
der andere Grüne ist QA und geht an Pin10 der Segmentanzeige.

von Tux (Gast)


Lesenswert?

11111111 ist eine Dezimalzahl, und eindeutig größer als 255 (lies doch 
mal die Doku zu ShiftOut)

von Glaskugel (Gast)


Lesenswert?

11111111 mod 8 = 7 dezimal
7 dezimal = 0b00000111 binär

--> die 3 niederwertigst verbundenen leds leuchten

von Henri R. (Gast)


Lesenswert?

Wow Danke.

Dann habe ich wohl das shiftout bzw. dessen Arbeitsweise und das Prinzip 
Dezimal/Bitweise etc. noch nicht recht verstanden. Ich dachte, dass es 
(wie bei den LED-Beispielen) darum geht, dass 0 und 1 für an und aus 
(invertiert) für jeden Pin des Registers steht. Und da es ja 8 Stk sind 
und 8 bits = 1 byte und das wird doch mit shiftout übertragen usw...

Na jedenfalls ist das ja wohl ziemlicher Müll und ich lese mich jetzt 
nochmal ein.
Ich versuche das mithilfe Eurer Antworten. Danke für die Hinweise!!!!

von S.Chematic (Gast)


Lesenswert?

Henri R. schrieb:
> Ich sehe den Fehler nicht. Bitte helft.

Ich liebe Prosaschaltpläne und 2MB Steckbrettbilder ;-(

von Henri R. (Gast)


Lesenswert?

Moment, oder hätte ich nur 0b11111111 schreiben müssen?

von Ja (Gast)


Lesenswert?

Henri R. schrieb:
> Moment, oder hätte ich nur 0b11111111 schreiben müssen?

Ja!

von Henri R. (Gast)


Lesenswert?

Danke, ich liebe Euch :-*

von g457 (Gast)


Lesenswert?

..leuchten jetzt die richtigen Felder in Westerrönfeld?

von Julian W. (julian-w) Benutzerseite


Lesenswert?

monster bilder und falsches forum tztztztz....

von Ein (Gast)


Lesenswert?

Julian W. schrieb:
> monster bilder und falsches forum tztztztz....

Upps - jetzt sind die Bilder handlicher und dafür die EXIF-Daten 
kastriert.

von Henri R. (Gast)


Lesenswert?

Danke für die Hinweise mit den Daten. Ich war ehrlich gesagt total 
ahnungslos. Das passiert mir nicht ein 2. Mal. Auch hinsichtlich der 
Bildgröße gelobe ich Besserung! Glaubt mir, hätte ich:

>Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen und 
>diskutieren. Bitte hier keine Fragen posten!

...vorm posten gelesen...nuja, hätte hätte usw.

Zum Glück gibt es ja Euch, die sowas korrigieren.
Vielleicht ist ja einer der Moderatoren sogar noch so nett und 
"kastriert" die Bilder komplett. Dieser Thread darf auch gern gelöscht 
werden :-D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.