50円のRISC-VマイコンをArduinoで使う 【WCH CH32V003F4P6】
たった50円で買えるRISC-Vマイコン CH32V003F4P6 を、Arduino IDE環境でコードを書いて、Lチカしてみます。
Use a cheap RISC-V microcontroller WCH CH32V003F4P6 in Arduino IDE and let's elchika!
この記事は、以下の動画の補足記事です。VTuberとしても活動してますので、ぜひ動画も見てください!!!!
This article is supplimental for the following video. Please watch it!
マイコン / Microcontroller
CH32V003F4P6
- RISC-V RV32ECコア
- Flash 16KB
- RAM 2KB
- GPIO x18
- ADC x8, SPI, I2C, USART
必要なもの / Parts
ブレッドボード上で試作する場合です。
- マイコン CH32V003F4P6
- デバッグケーブル WCH-LinkE
- ブレッドボード
- TSSOP20変換基板
- LED x8
- タクトスイッチ(リセットボタン用)
- 配線材
回路 / Schematics
8つのLEDを点滅させる回路です。
リセットは、内部でプルアップされているので、とりあえずスイッチ経由でGNDへ落とせば動きます。ボタンをつけておくことをおすすめします。
書き込みのために、PD1(SWIO)を WCH-LinkEのSWDIOと接続します。
チップ自体の電源は 3.3Vでも5Vでも動きますが、今回は3.3Vで動かします。WCH-LinkEの電源出力が利用できます。
内蔵クロックで動作するので、外付けクリスタルなどは不要です。
TSSOP20パッケージは 0.65mm ピッチですが、これは手ハンダでいけます。位置合わせて、ハンダを盛って、吸い取れば、オッケーです。
準備
WCH-LinkUtilityをダウンロードし、1回だけ起動します。
https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html
起動時に勝手にドライバをインストールしようとするので、許可してあげます。
購入直後はARMチップ向けのモードになっているので、RISC-Vモードへ変更します。
(動画を参照)
Arduinoのボードライブラリは Arduino core support for CH32 EVT Boards を利用しました。
https://github.com/openwch/arduino_core_ch32
Arduinoコード
Arduinoのコードなので、まぁ普通の感じです。
const uint8_t PIN_LED_ARRAY[] = { PC1, PC2, PC3, PC4, PC5, PC6, PC7, PD2 };
const size_t PIN_LED_ARRAY_COUNT = (sizeof(PIN_LED_ARRAY) / sizeof(PIN_LED_ARRAY[0]));
void setup() {
// put your setup code here, to run once:
for (size_t i = 0; i < PIN_LED_ARRAY_COUNT; i++) {
pinMode(PIN_LED_ARRAY[i], OUTPUT);
digitalWrite(PIN_LED_ARRAY[i], LOW);
}
}
void loop() {
// put your main code here, to run repeatedly:
static int cnt = 0;
for (size_t i = 0; i < PIN_LED_ARRAY_COUNT; i++) {
if (i == cnt) {
digitalWrite(PIN_LED_ARRAY[i], HIGH);
} else {
digitalWrite(PIN_LED_ARRAY[i], LOW);
}
}
cnt = (cnt + 1) % PIN_LED_ARRAY_COUNT;
delay(50);
}
その他
- 動画で触れるのを忘れたんですけど、内蔵クロックで動くので、配線がすごく少なくて済みます。
- まだ実用ソフトは書いてないので詳細不明ですが、ファームウェアのサイズはちょっと心配。
投稿者の人気記事
-
verylowfreq
さんが
2023/06/25
に
編集
をしました。
(メッセージ: 初版)
-
verylowfreq
さんが
2023/06/25
に
編集
をしました。
-
verylowfreq
さんが
2023/06/25
に
編集
をしました。
ログインしてコメントを投稿する