#include <Arduino.h>
//Defines
#define Taster 13
#define Bit0 8
#define Bit1 9
#define Bit2 10
#define Bit3 11
//Globale Variable
byte zaehler = 1;
byte bitwert;
unsigned long Time;
unsigned int Interval;
bool richtungswechsel;
void setup() {
Serial.begin(9600);
pinMode(13, INPUT_PULLUP);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
Time = millis();
Interval = 1000;
}
void loop() {
{
if (digitalRead(Taster) == LOW)
richtungswechsel = !richtungswechsel;
}
for (byte n =0; n <= 3; n++)
{
bitwert = (zaehler & (1<<n));
if (bitwert)
digitalWrite(n+8, HIGH);
else
digitalWrite(n+8, LOW);
}
{
if(millis()-Time >= Interval)
{
if (richtungswechsel == LOW)
{
zaehler = zaehler << 1;
if (zaehler == 16)
zaehler = 1;
}
else
{
zaehler = zaehler >> 1;
if (zaehler == 0)
zaehler = 8;
}
Time = millis();
}
}
}