Problem mit Schieberegister 74HC595

Gast #3543096
Lesenswert?
• ▲
▼
Hallo,

ich habe gerade ein kleines Problem mit einer LED Matrix von mir.
Die Schaltung habe ich nach dem Schaltplan aufgebaut und gerade 
getestet. Mir ist dabei aufgefallen, dass mein Schieberegister verrückt 
spielt. Das Schieberegister habe ich auch schon ausgetauscht doch der 
Fehler besteht weiter.

Ich habe ein kleines Testprogramm auf den ATTiny aufgespielt:
1
#include "ShiftRegister595.h"
2

3
byte latchPin = 0;  //Pin connected to ST_CP of 74HC595
4
byte clockPin = 1; //Pin connected to SH_CP of 74HC595
5
byte dataPin = 2;  //Pin connected to DS    of 74HC595
6

7
int led1 = 8;
8
int led2 = 9;
9
int led3 = 10;
10
int led4 = 11;
11
int led5 = 12;
12
int led6 = 13;
13
int led7 = 14;
14
int led8 = 15;
15
int led9 = 16;
16

17
ShiftRegister595 shiftRegister595 = ShiftRegister595( latchPin , clockPin , dataPin );
18

19

20
void setup() {
21
  pinMode(led1, OUTPUT);
22
  pinMode(led2, OUTPUT);
23
  pinMode(led3, OUTPUT);
24
  pinMode(led4, OUTPUT);
25
  pinMode(led5, OUTPUT);
26
  pinMode(led6, OUTPUT);
27
  pinMode(led7, OUTPUT);
28
  pinMode(led8, OUTPUT);
29
  pinMode(led9, OUTPUT);
30
}
31

32
void loop() {
33
  digitalWrite(led1, HIGH);
34
  digitalWrite(led2, HIGH);
35
  digitalWrite(led3, HIGH);
36
  digitalWrite(led4, HIGH);
37
  digitalWrite(led5, HIGH);
38
  digitalWrite(led6, HIGH);
39
  digitalWrite(led7, HIGH);
40
  digitalWrite(led8, HIGH);
41
  digitalWrite(led9, HIGH);
42
  //count up routine
43
  for (int j = 0; j < 256; j++) {
44
    shiftRegister595.write(j);
45
    delay(1000);
46
  }
47
}

Das komische ist die LEDs bleiben dunkel, aber wenn ich den dataPin 
ablege dann flackern die LEDs.

Meine Frage ist jetzt, ist die Schaltung überhaupt richtig?
Angehängte Dateien:
Gast #3543210
Lesenswert?
• ▲
▼
Der einzige unter schied im Plan ist die 5V Spannungsquelle und der 10k 
Widerstand.

Ich habe das Programm auf einem ATTiny mit einem Arduino gebrannt. Das 
Programm läuft soweit also daran kann es nicht liegen.
#3543212
Lesenswert?
• ▲
▼
Bl4cksh4rk schrieb:
> Der einzige unter schied im Plan ist die 5V Spannungsquelle und der 10k
> Widerstand.
>
> Ich habe das Programm auf einem ATTiny mit einem Arduino gebrannt. Das
> Programm läuft soweit also daran kann es nicht liegen.


Mag sein.
Aber irgendwas IST falsch. Wenn du uns mit deinem Plan Fehler 
präsentierst, die sich dann bei Nachfrage als "das ist nur im Plan so" 
herausstellen, dann ist das auf dieser Seite des Bildschirms nicht sehr 
hilfreich.


Gib mal ein einziges fixes Muster am Schieberegister aus und sieh nach, 
ob die Ausgänge entsprechende Pegel annehmen.
#3543251
Lesenswert?
• ▲
▼
Erstens finde ich die Ansteuerung der Transistoren schlecht, ich wûrde 
das mit Stromgegengekoppelten pnp transistoren lösen.

Zweitens gibst du an deinem Schieberegister alle Werte von 0 bis 255 
aus, d. H. Im ersteren Fall sind alle Ausgänge eingeschaltet. Du musst 
hier immer 1sen rausschicken, außer bei der Spalte die du gerade 
ansteuerst.
Also Ansteuerung Spalte für Spalte.

Zu dem anderen Problem, wenn du den sdi Pin abklemst, kann es sein dass 
Sie flackern, weil du dir eine Störung einfängst. Probier mal mit einem 
Widerstand auf 5V hängen
Gast #3543271
Lesenswert?
• ▲
▼
Das Programm war ja jetzt erstmal nur zum testen. Das Schieberegister 
reagiert ja überhaupt nicht auf befehle. Ich habe das vorhin auch von 
hand versucht ohne attiny. Das müsste ja eigentlich auch ohne probleme 
funktionieren, aber das schieberegister reagiert nicht.
Gast #3544902
Lesenswert?
• ▲
▼
Ich habe das Problem gelöst gelöst. Es lag wohl an den Ausgängen des 
ATTiny. Pin 0,1,2 waren nicht geeignet.

Mich würde jetzt nur noch interessieren was mit dem SDI Pin gemeint war. 
An welchem Bauteil sitzt der?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.