Inhaltsverzeichnis

Porterweiterung

Manchmal reichen die Ports nicht, da ist es schön, wenn man einfach die Ports erweitern könnte. Und das geht auch recht einfach. Ausgabeports lassen sich einfach mit dem 74HC595, einem Schieberegister mit Speicher, erweitern. zur Ansteuerung braucht man 3 Pins. Die 74HC595 lassen sich hintereinander schalten, pro Chip gibt's 8 Ausgänge mehr.

Schaltung

Software

Zum Ansteuern kann man das hier verwenden (Quelle: Arduino Referenz):

//**************************************************************//
//  Name    : shiftOutCode, Hello World                         //
//  Author  : Carlyn Maw,Tom Igoe                               //
//  Date    : 25 Oct, 2006                                      //
//  Version : 1.0                                               //
//  Notes   : Code for using a 74HC595 Shift Register           //
//          : to count from 0 to 255                            //
//****************************************************************

//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 because they are addressed in the main loop
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  //count up routine
  for (int j = 0; j < 256; j++) {
    //ground latchPin and hold low for as long as you are transmitting
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, j);  
    //return the latch pin high to signal chip that it
    //no longer needs to listen for information
    digitalWrite(latchPin, HIGH);
    delay(1000);
  }
} 

Um die Eingänge zu Erweitern eignet sich der 74xx165. Das ist quasi das Gegestück zum 595. Gelesen wird mit shiftIn…

arduino/tutorial/aktoren/porterweiterung.txt · Zuletzt geändert: 2018/11/04 10:51 von 127.0.0.1
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0