Hallo liebe Freunde,
spiele gerade mit einem Schieberegister rum und möchte die Ergebnisse die er raus gibt invertieren da meine Relaikarte bei einem 0 schaltet, ich sie aber mit einer 1 schalten möchte, da sie öfter aus als an sein werden.
int latchPin = 3;
int clockPin = 2;
int dataPin = 4;
byte leds = 0;
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
updateShiftRegister();
Serial.begin(9600);
while (! Serial); // Wait untilSerial is ready - Leonardo
Serial.println("Enter LED Number 0 to 7 or 'x' to clear");
}
void loop()
{
if (Serial.available())
{
char ch = Serial.read();
if (ch >= '0' && ch <= '7')
{
int led = ch - '0';
bitSet(leds, led);
updateShiftRegister();
Serial.print("Turned on LED ");
Serial.println(led);
}
if (ch == 'x')
{
leds = 0;
updateShiftRegister();
Serial.println("Cleared");
}
}
}
vill kann mir auch einer sagen wieso die Relaikarte genau versetzt schaltet also von rechts nach links und nicht von links nach rechts beim tippen in den Serielen monitor ?