2026年7月17日金曜日

mmbasic and aqm00802

 https://qiita.com/ksakabe/items/b1b349167e9db42865b9を参考に以下で成功

実態配線図は3Venになっているので3Vに変更、SDA GPIO16,SCL GPIO17であり変更

Const LCD_ADDR = &H3E ' Define I2C address

SetPin GP16, GP17, I2C  ' Set I2C pin ,I2C0SDA,I2C0SCL, 

I2C OPEN 100, 400     ' Open I2C  '100khz speed,400ms timeout

InitLCD               ' Initialize LCD

LCD_CMD &H01          ' Clear LCD

WriteString "Hello"   ' Write string

LCD_CMD &HC0          ' Move cursor next line

WriteString "World"   ' Write string

I2C CLOSE


Sub InitLCD

  Pause 40

  LCD_CMD(&H38) : LCD_CMD(&H39)

  LCD_CMD(&H14) : LCD_CMD(&H70)

  LCD_CMD(&H56) : LCD_CMD(&H6C)

  Pause 200

  LCD_CMD(&H38) : LCD_CMD(&H0C)

  LCD_CMD(&H01)

  Pause 2

End Sub


Sub LCD_CMD cmd

  I2C WRITE LCD_ADDR, 0, 2, &H00, cmd  

 '0 : オプション(通常は0)  Pause 2

   '2 : 送信するバイト数(コントロールバイト1バイト + データ1バイト)

  Pause 2

End Sub


Sub WriteString STR$

 For i = 1 To Len(STR$)

   I2C WRITE LCD_ADDR, 0, 2, &H40, Asc(Mid$(STR$, i, 1)) 

 Next i

End Sub



0 件のコメント:

コメントを投稿