回答編集履歴

1

追記

2022/01/21 15:58

投稿

nac_tnk
nac_tnk

スコア463

test CHANGED
@@ -20,3 +20,38 @@
20
20
 
21
21
  まぁ取りあえず、回路とスケッチを上述の内容で書き換えてください。
22
22
 
23
+ --------------------------------------------------
24
+ ≪追記≫
25
+
26
+ ①まず、使われていない「/そのまま/」と書いてあるあたりの変数を消します。
27
+  (残しても問題はないですけど)
28
+
29
+ ②setup関数から見ていくとまず、lcd_init関数ですけど、一番最初以外にも2か所あります。
30
+  lcdは起動後に一度だけ初期化すれば良いですから、2番目と3番目(loop関数内)を消します。
31
+
32
+ ③lcd_init関数内で、なぜか digitalWrite(rs,LOW);が入り込んでいる。これは不要。
33
+  その代わり?に必要なdelayが無い。
34
+  lcd_write8(0x23);あたりも、Eピンはクロックピン相当なので0x「2」3の部分は不要
35
+ その他の操作コマンドも正しいのかは確認していないけど、最期は画面クリア0x01にした方が良い。
36
+
37
+ ④lcd_write8関数で、Eピンの操作だけども
38
+  RSを操作して、EピンをHIGHです。つまり、EをHIGHにしてからRSを操作しても遅いです。
39
+
40
+ ⑤setup関数内の
41
+ lcd_locate(0,0);
42
+ lcd_prints(a1);
43
+ lcd_locate(1,0);
44
+ lcd_prints(a2);
45
+
46
+ は指定位置の間違いでしょう。x,yですから2番目は2行目の先頭の0,1では?
47
+
48
+ ⑥loop関数内の処理全体はこれがあると変に文字が消えます。
49
+ __llo
50
+ としたいのでしょうか?
51
+ 消すのならちゃんと消さないとオカシイですよ。
52
+
53
+ ※細かい所は上記以外にも修正しましたけど、表示させる所までは書き換えておきました。
54
+ https://www.tinkercad.com/things/jpwEI8twTNi
55
+
56
+
57
+