Show Posts
Pages: [1]
1  International / Deutsch / serial enabled lcd / led toggle speed problem on: March 16, 2011, 02:34:36 pm
nabend,

seitdem ich ein serial enabled lcd an meinen arduino gestoepselt und wenige zeilen fuer die darstellung programiert habe, laeuft der arduino nur noch sehr langsam. im void loop steht bei mir eigentlich nur sowas:

      lcd.cursor(0);
      lcd.cursorTo(1,1);
      lcd.print("TEXT");
      lcd.cursorTo(2,1);
      lcd.print(Value1);
      lcd.cursorTo(2,7);
      lcd.print(Value2);
      lcd.cursorTo(2,13);
      lcd.print(Value3);

das allein reicht, um dem arduino anscheinend den rest zu geben. das auslesen des inputs findet nur noch sehr shuffle-maessig statt und die digitalausgaenge um leds zu aktivieren reagieren genauso sporadisch. ausgegeben werden auf dem display unter anderem auch die potentiometer werte, aber auch bei einem klartext und dem rauskommentierten variablen laeuft der arduino nicht mehr fluessig.
als library verwende ich die "SparkSoftLCD.h".

gibt es evtl einen besseren weg? so ist mir das display leider nicht wirklich von nutzen smiley-sad

gruss
2  Forum 2005-2010 (read only) / Deutsch / Re: Sequenz ohne delay() / synchronisation on: September 04, 2010, 03:08:35 pm
super. vielen dank! funktioniert genau so wie ich es haben wollte smiley
3  Forum 2005-2010 (read only) / Deutsch / Re: Sequenz ohne delay() / synchronisation on: September 03, 2010, 05:38:40 am
hallo,

sorry wenn etwas unverstaendlich.

hardwareproblem ist es nicht, da bei einem HIGH am input eine LED ja durchgaengig leuchtet.

bei einem LOW am input inkrementiert mein programm den counter permanent. das ist das problem.

ich moechte, dass das inkrementieren des counters beim dem tastendruck erfolgt.

1. tastendruck = 0
2. tastendruck = 1
2. tastendruck = 2
etc

verstaendlicher?  :-[
4  Forum 2005-2010 (read only) / Deutsch / Sequenz ohne delay() / synchronisation on: September 03, 2010, 04:28:36 am
hallo,

auch auf die gefahr hin, dass das thema irgendwo schon behandelt wurde und ich mich zum doesbaddel mache, frage ich mal nach:

eine sequenz mit delay() funktioniert ohne probleme. so weit bin ich schon gekommen.

jetzt moechte ich gerne, dass wenn der input "HIGH" ist, die erste LED mit "HIGH" geschrieben wird. beim naechsten intervall soll dann die 2. LED mit "HIGH" geschrieben werden. das weitersteppen funktioniert in meinem programm nur per zufall bzw. mit einer zu schnellen geschwindigkeit.

die variable wird erst mit einem input "LOW" inkrementiert... gerne haette ich eine loesung, bei der ein zwischenwert von HIGH zu LOW den wert inkrementiert.

hier mein quellcode:

Quote
int inPin12 =  12;

int state = LOW;
int count = 0;

void setup()  
{                
  pinMode(0, OUTPUT);    
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);    
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(inPin12, INPUT);
}

void loop()                    
{
  state = digitalRead(inPin12);
 
  if (state == HIGH)
  {
    digitalWrite(count, HIGH);
  }
  else
  {
  digitalWrite(count, LOW);
  count++;
  }
  
  if (count >= smiley-cool
  {
    count = 0;
}
}

ueber eine hilfestellung bin ich sehr dankbar.
Pages: [1]