Greensiver
29.06.2013, 23:02
Hi liebe Community,
Ich hab mal versucht ein Sketch zu basteln, der die Auszeiten beim Blinken einer LED regelt. Folgender Sketch lässt die LED zwar Blinken aber das Regeln der Auszeit klappt noch nicht. Wer cool, wenn Ihr mir ein paar Verbesserungsmöglichkeiten und Ratschläge geben könntet.
Hier mein Code:
int LED_PIN = 13;
int LED_ON = 1000;
int LED_OFF = 3000;
unsigned long ms;
unsigned long msLast;
boolean ledState;
int writebyte=0;
int blink_on=0;
int serialinput;
void setup(void)
{
pinMode(LED_PIN, OUTPUT);
Serial.begin(19200);
}
void loop(void)
{
serialinput = Serial.read();
if(blink_on == 1)
{
ms = millis();
blinkloop();
}
if(serialinput == 'x')
{
writebyte=1;
}
if(serialinput == 'y')
{
writebyte=0;
}
if(writebyte == 1)
{
serialinput = LED_OFF;
}
if(writebyte == 0){
if(serialinput == 'a')
{
blink_on=1;
}
if(serialinput == 'b')
{
blink_on=0;
digitalWrite(LED_PIN,LOW);
}
}
}
void blinkloop(void)
{
if(blink_on == 1)
{
if (ms - msLast > (ledState ? LED_ON : LED_OFF))
{
digitalWrite(LED_PIN, ledState = !ledState);
msLast = ms;
}
}
}
______________________
Danke schon mal, Green
Ich hab mal versucht ein Sketch zu basteln, der die Auszeiten beim Blinken einer LED regelt. Folgender Sketch lässt die LED zwar Blinken aber das Regeln der Auszeit klappt noch nicht. Wer cool, wenn Ihr mir ein paar Verbesserungsmöglichkeiten und Ratschläge geben könntet.
Hier mein Code:
int LED_PIN = 13;
int LED_ON = 1000;
int LED_OFF = 3000;
unsigned long ms;
unsigned long msLast;
boolean ledState;
int writebyte=0;
int blink_on=0;
int serialinput;
void setup(void)
{
pinMode(LED_PIN, OUTPUT);
Serial.begin(19200);
}
void loop(void)
{
serialinput = Serial.read();
if(blink_on == 1)
{
ms = millis();
blinkloop();
}
if(serialinput == 'x')
{
writebyte=1;
}
if(serialinput == 'y')
{
writebyte=0;
}
if(writebyte == 1)
{
serialinput = LED_OFF;
}
if(writebyte == 0){
if(serialinput == 'a')
{
blink_on=1;
}
if(serialinput == 'b')
{
blink_on=0;
digitalWrite(LED_PIN,LOW);
}
}
}
void blinkloop(void)
{
if(blink_on == 1)
{
if (ms - msLast > (ledState ? LED_ON : LED_OFF))
{
digitalWrite(LED_PIN, ledState = !ledState);
msLast = ms;
}
}
}
______________________
Danke schon mal, Green