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
Question Problem beim Hochladen auf AtTiny45. Hilfe -.- Jonas Lindenblatt 5 122 24.03.2017 22:58
Letzter Beitrag: Tommy56
  Zeitschaltuhr Hilfe für RTC Anfänger 4Jordy 4 98 24.03.2017 15:23
Letzter Beitrag: MicroBahner
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 204 13.03.2017 12:12
Letzter Beitrag: Tommy56
  Hilfe bei Taster huber5093 11 310 14.02.2017 19:26
Letzter Beitrag: Tommy56
  Mehrere HX711 mit einem Arduino Uno be14b029 5 225 08.02.2017 18:09
Letzter Beitrag: Binatone
  8 Taster an einem Pin Kitt 9 473 04.02.2017 18:51
Letzter Beitrag: ardu_arne
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 482 17.12.2016 13:30
Letzter Beitrag: Colby
  Bridge und TemperaturWebPanel in einem Skript j_ard 4 357 17.12.2016 11:06
Letzter Beitrag: j_ard
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 262 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 397 09.10.2016 18:39
Letzter Beitrag: Prosac

Gehe zu:


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