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
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 120 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 233 09.10.2016 18:39
Letzter Beitrag: Prosac
  A4988 Driver mit einem Nema 17 Hangloose 3 140 04.09.2016 21:49
Letzter Beitrag: Hangloose
  at24c256 Hilfe Gandalf 6 249 29.08.2016 18:59
Letzter Beitrag: MKc
Smile Progammier Neuling Codeschloss bittet um Hilfe Donalonso 2 285 27.08.2016 18:23
Letzter Beitrag: Binatone
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 450 22.08.2016 08:07
Letzter Beitrag: b3ta
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 181 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 543 06.07.2016 14:59
Letzter Beitrag: Binatone
  Hilfe beim Arduino Shield reimundko 6 457 05.06.2016 11:28
Letzter Beitrag: rpt007
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 531 23.04.2016 10:26
Letzter Beitrag: rkuehle

Gehe zu:


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