LCD モジュールで 0 フィートから 20000 フィートの範囲の高度をフィートで表示できるようにしたいと考えています。数値は、回転させて値を変更できるポテンショメータから読み取られます。現時点では、ポテンショメーターは 0 から 1023 まで表示していますが、0 から 20000 フィートまで読み取れるように、これらを適切にスケーリングする必要があります。これに加えて、下の行に「棒グラフ」を表示して、高度の増加を表します。LCD には 1 行あたり 20 ブロックあるため、バー グラフは 1 ブロックから 20 ブロックの範囲で表示されます。
sprintf(buf, "Altitude: %d ", DELVAL2); // display altitude level
lcd_putxy(1,0,buf);
for (delay = 0; delay < 50000; delay++); // introduce a delay
sprintf(buf, "*", DELVAL2 ); // display bar graph
lcd_putxy(2,0,buf);
for (delay = 0; delay < 50000; delay++); // introduce a delay
これはこれまでの私のコードです。ポテンショメータから値を読み取り、DELVAL2
LCD に表示します。高度と棒グラフを作成するためにデータを適切にスケーリングする方法を誰かが説明してくれませんか。