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…