和表示
LCD処理の続き
下のプログラムによって、2段目に、足し算の結果が表示されていく
void setup() { lcd.begin(2,16); lcd.clear(); lcd.print("hello w-vogel"); lcd.setCursor(2,1); lcd.print("Studierst Deutsch!"); delay(2000); } void loop() { int i = 10; int j; int sum = 1; for(j = 1; j <= 30; j++){ lcd.clear(); delay(800); lcd.setCursor(2,1); lcd.print(sum ,DEC); lcd.print("+"); lcd.print( j ,DEC); lcd.print("="); sum = sum + j; lcd.print(sum,DEC); delay(3000); } }
最初、for文の中でlcd.clear();
としたら、文字化けして数値が表示されなかった。
どうやっても巧く行かず、なぜだろう、と考えていたら、答えは上のソースコードの中に
lcd.clear();
の処理に時間がかかるためでした。
これを処理するのに十分な時間、delay関数を使って待ってやるとうまく動作しました。
今displayには211+21=232と表示されてた笑
なんか、これ見てると携帯電話が普及し始めたころのこと思い出す
for文を
for(j = 1; j <= 30; j++){ if(j % 2 == 1){ lcd.clear(); delay(800); lcd.setCursor(0,0); } lcd.print(sum ,DEC); lcd.print("+"); lcd.print( j ,DEC); lcd.print("="); sum = sum + j; lcd.print(sum,DEC); delay(2000); lcd.setCursor(0,1);
とすることで、より見やすくなった