CH32V003+I2C接続のLCDでHello World !
CH32V003F4P6開発ボードにI2CでLCDをつないでHello World !と表示させてみました。
また,秋月電子で1個40円の8ピンSOP CH32V003J4M6 を買ったので,これでも同じことをやってみました。
開発ボードとデバッガWCH-LinkEは前回と同様,このように↓ 接続します。
スケッチはこんなかんじ↓
//CH32V003 + AQM1602でHello World
//SDA,SCLを10kΩでプルアップ#include <Wire.h>
#define LCD_ADR 0x3E
char buf[]="";void writeCmd(byte cmd){
Wire.beginTransmission(LCD_ADR);
Wire.write(0x00);
Wire.write(cmd);
Wire.endTransmission();
delay(1);
}void writeData(byte data){
Wire.beginTransmission(LCD_ADR);
Wire.write(0x40);
Wire.write(data);
Wire.endTransmission();
}void setCursor(byte clm,byte row){
if(row==0) writeCmd(0x80+clm);
if(row==1) writeCmd(0xc0+clm);
}void init_LCD() {
writeCmd(0x38);
writeCmd(0x39);
writeCmd(0x56);
writeCmd(0x6C);
writeCmd(0x01);
writeCmd(0x0C);
}void strPrint(char *str){
while(*str != 0)
writeData(*str++);
}void numPrint(int num){
String strnum = String(num);
strnum.toCharArray(buf,10);
strPrint(buf);
}void setup() {
Wire.begin();
init_LCD();
setCursor(0,0);
strPrint("Hello World!");
}void loop() {
setCursor(0,1);
numPrint(millis()/100);
}
LCDは秋月電子で買ったAQM1602で,マイコンボードとはこのようにつなぎます。SDAとSCLは10kΩくらいの抵抗でプルアップすることを忘れずに。
このマイコンボードはうまくいったので,続けて8ピンSOPのCH32V003J4M6 でも同じことをやってみました。SOP8のままではブレッドボードに刺さらないのでDIP変換基板を使います。
プログラムをアップロードするときはこうやって↓ つないで,
LCDはこうつなぎます↓
では,動画をご覧ください。
| 固定リンク | 0
「Arduino」カテゴリの記事
- ATtiny402 + LM35DZ で温度計(2024.09.21)
- aitendo「ESP-32でいいの」っぽい謎ボードでLチカ(2024.04.17)
- ATtiny202 で Hello World!(2024.03.25)
- CH32V003+I2C接続のLCDでHello World !(2023.12.29)
- CH32V003F4P6 開発ボードでLチカ(2023.12.20)