INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hilfe bei einem Schieberegister
22.02.2015, 13:34
Beitrag #9
RE: Hilfe bei einem Schieberegister
Gut,

Code:
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;



int ledl = B00000001;
int ledd = B00000100;
int leda = B00000010;

void setup()
{
   Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  

  

}
void loop()
{
  
  
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, MSBFIRST, ledl);  
    digitalWrite(latchPin, HIGH);
    
    
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, MSBFIRST, leda);  
    digitalWrite(latchPin, HIGH);
    
     digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, MSBFIRST, ledd);  
    digitalWrite(latchPin, HIGH);
  }

Hier mal ein Beispiel von mir.

Gruß Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.02.2015, 10:19
Beitrag #10
RE: Hilfe bei einem Schieberegister
Hi,
damit kann man doch schon was anfangen. Jetzt muss man sich nur noch statt ein paar Konstanten den gewünschten Zustand des Schieberegisters merken:
Code:
byte srState = 0;  // am Anfang alles aus
...jetzt noch die Funktion, die einzelne Bits setzt und zurücksetzt, analog zu digitalWrite:
Code:
void srDigitalWrite(int pin, int state) {
  // check for Overflow
  if(pin < 0 || pin > 7) return;
  // set or reset bit nr. "pin"
  bitWrite(srState,pin,state);    
  // write to shift register
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, srState);  
  digitalWrite(latchPin, HIGH);
};
Die Funktion srDigitalWrite sollte man jetzt genauso verwenden können wie das normale digitalWrite, nur dass es die Ausgangs-Pins des Schieberegisters verwendet. D.h. Du kannst jetzt irgendeinen Blink-Sketch nehmen, den Kram oben und die Definition der latch-/clock-/data-pins hinzufügen. Dann digitalWrite durch srDigitalWrite übersetzen und schon sollte das Geblinke über's Schieberegister gehen.

Vielleicht sollten wir dazu mal eine kleine Lib schreiben. Theoretisch kann man Schieberegister auch hintereinander hängen...

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 13:27
Beitrag #11
RE: Hilfe bei einem Schieberegister
hallo,
ist das jetzt so sehr anders als hier bei der Funktion
shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);
?

Code:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;



void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  // count from 0 to 255 and display the number
  // on the LEDs
  for (int numberToDisplay = 0; numberToDisplay < 256; numberToDisplay++) {
    // take the latchPin low so
    // the LEDs don't change while you're sending in bits:
    digitalWrite(latchPin, LOW);
    // shift out the bits:
    shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);  

    //take the latch pin high so the LEDs will light up:
    digitalWrite(latchPin, HIGH);
    // pause before next value:
    delay(500);
  }
}

aus:
http://arduino.cc/en/Tutorial/ShftOut11
http://arduino.cc/en/tutorial/ShiftOut
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 13:39
Beitrag #12
RE: Hilfe bei einem Schieberegister
Hi,
ja, da Du bei meinem Coding gezielt einzelne Bits setzen und zuruecksetzen kannst.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 16:51
Beitrag #13
RE: Hilfe bei einem Schieberegister
achso, also nicht Eingangswerte (0-255) sondern Ausgangs-Bits (0-7) setzen, also die Ausgangs-Pins direkt ansteuern, habe ich das richtig verstanden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 17:04
Beitrag #14
RE: Hilfe bei einem Schieberegister
Ja, genau so.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 20:42
Beitrag #15
RE: Hilfe bei einem Schieberegister
hallo,
ich habe bei mir ein IC HCF4024 BE gefunden - handelt es sich hierbei auch um ein Schieberegister, das man für solche Zwecke einsetzen kann?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2015, 22:00
Beitrag #16
RE: Hilfe bei einem Schieberegister
Nein, das ist ein Zähler.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Schieberegister LED Steuerung zeitlich anpassen Noformat 18 275 Gestern 16:45
Letzter Beitrag: Noformat
  RC Anwendung mit 3 Empfängereingangen und einem MPU6050 Thorsten_S 19 489 10.12.2017 19:59
Letzter Beitrag: Tommy56
  Prüfung eines Drucksensors mit Hilfe des Arduino r4c3 17 1.975 10.11.2017 22:24
Letzter Beitrag: r4c3
  Suche Hilfe für den Fehler in der Datei Holzwurm56 5 389 01.11.2017 14:26
Letzter Beitrag: Holzwurm56
  Hilfe bei Einschaltverzögerung gesucht Ingo 9 667 28.10.2017 19:04
Letzter Beitrag: Tommy56
Question Mehrere HX711 an einem Arduino Nano Lambacher 59 2.421 17.10.2017 09:34
Letzter Beitrag: Tommy56
Photo Hilfe bei meinem Arduino Projekt Niklas 10 585 23.09.2017 21:05
Letzter Beitrag: Niklas
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 3.589 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  Ublox Neo 6M und Nextion ! Bitte um Hilfe. b3ta 19 1.449 13.07.2017 14:52
Letzter Beitrag: Tommy56
  Anfänger sucht erfahrene Hilfe Customizer 21 1.658 11.07.2017 21:37
Letzter Beitrag: Customizer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste