GR KURUMI
2021.12.11

YouTube でも紹介しています。画像をクリックすると再生できます。
GR-KURUMI
GR-KURUMIは、ルネサスエレクトロニクス株式会社RL78ファミリMCU用のリファレンスボードです。
Arduino Pro Miniに互換性があり、縦横の外形寸法、外側ピン配置などのハード面、
およびソフト面としてArduino言語や標準ライブラリを使用できるため、既存のサンプルコードを再利用することができます。
■Arduino Pro Miniとの比較
| 項 目 | GR-KURUMI | Arduino Pro Mini |
| サイズ | 33mm×18mm | 33mm×18mm |
| MPU | RL78/G13 | ATmega328P |
| CPU bit(アドレス空間) | 16bit(1MB) | 16bit(1MB) |
| RAM(SRAM) | 20kB | 2kB |
| プログラム用flushROM | 256kB | 32kB |
| Data flush | 8kB | 1kB |
| メインクロック | 32MHz | 16MHz |
| リアルタイムクロック | 有 | 無 |
| 乗除・積和演算器 | 有 | 無 |
| 低電力動作モード | 有 | 有 |
| 電源入力電圧 | DC2.7V~5.5V (DC0.9V~5.5V) | DC5V~12V DC3.3Vtype有り |
| 電源出力電圧 | DC3.3V | DC5V(3.3V) |
| デジタルポート | 22 | 14 |
| アナログ入力 | 8 | 8 |
| アナログ(PWM)出力 | 6 | 6 |
| UART | 3 | 1 |
| SPI | 1 | 1 |
| I2C (Wire) | 1 | 1 |
Arduino Pro Miniにない特徴としては、以下の通りです。
・電池一本で駆動可能。0.9Vから3.3V(あるいは5V)に昇圧する回路を搭載。
・アラーム付き時計。リアルタイムカウンター(RTC)を高い精度で実現できます。
・省電力モード。RL78のスタンバイモード(STOP/SNOOZE)をライブラリで簡単に制御できます。
・クルミと髪飾りLED。イメージキャラクターのクルミが描かれ、髪飾りはフルカラーで光ります。
■Pinout
↑クリックで拡大、再クリックで元に戻ります。
【入出力】
・デジタル入力 (Pin 0 ~ Pin 21)
・デジタル出力 (Pin 0 ~ Pin 24)
・クルミちゃんの髪飾りの部分に3色LEDを搭載
(赤LED Pin 22, 緑LED Pin 23, 青LED Pin 24 以上の3ピンはこれ専用)
・アナログ入力 A0(Pin 14) ~ A7(Pin 21)
(入力電圧範囲 DC 0V~3.3V)
・ アナログ(PWM)出力 最大 6点(Pin 3, 5, 6, 9, 10, Pin 11 はソフトウェアPWM)
・シリアル通信
UART
Ch 0 (Pin 0 受信(RXI), Pin 1 送信(TXO))
Ch 1 (Pin 7 受信(RXI), Pin 8 送信(TXO))
Ch 2 (Pin 9 受信(RXI), Pin 10 送信(TXO))
I2C (Wire)
(Pin 7 クロック(CLK), Pin 8 送受信)
SPI
(Pin 10 スレーブセレクト(SS), Pin 11 送信(MOSI), Pin 12 受信(MISO), Pin 13 クロック(CLK))
・電源
GND:黒の-マーク(2個)
RAW(オレンジ):乾電池等3.3V以下の電源を接続
VCC(赤):3.3V電源を接続。または、RAW入力を昇圧して生成した3.3Vを外部に供給。

両端ロングピンヘッダーとL型ピンヘッダーをはんだ付けしました。

裏面です。
■Windowsパソコンとの接続
Windowsパソコンとの接続はUSBシリアル変換器を介して行います。
FT232RL USBシリアル変換モジュール
・通信速度:300bps~460kbps
・256バイト受信バッファ、128バイト送信バッファ内蔵
・電源はホストからUSBで供給されます。
・仮想COMポートによりCOMポートとして使用できます。
・RS232CではなくTTL(CMOS)レベルでの変換を行います。
・USBミニB端子(miniB)



丸ピンICソケットとメスピンソケット6ピンをはんだ付けしています。

FT232RLの該当する端子を、6ピンソケットへ接続します。
| FT232RL | | 6ピンソケット |
| 2:DTR | --------> | DTR |
| 5:RXD | <-------- | TXD |
| 1:TXD | --------> | RXI |
| 19:3V3 | --------> | VCC |
| 10:CTS | <-------- | CTS |
| 7:GND | --------- | GND |

裏面はこんな感じです。

GR-KURUMIを6ピンソケットへ差し込みます。
| GR-KURUMI | | USB-シリアル変換器 |
| DTR | <-------- | 2:DTR |
| TXD | --------> | 5:RXD |
| RXI | <-------- | 1:TXD |
| VCC | <-------- | 19:3V3 |
| CTS | --------> | 10:CTS |
| GND | --------- | 7:GND |
■ビルド環境
WEB上でコンパイルも行えるのですが、今回はビルド環境をダウンロードして使用します。

Ref.IDE for Gadget Renesas
ide4gr-1.13-windows.zip を解凍する。
ide4gr.exe を実行する。

[ファイル]→[環境設定]

・「スケッチブックの保存場所」を変更する
・「行番号を表示する」にチェックをいれる
■サンプルプログラム
int LED_PIN_R = 22;
int LED_PIN_G = 23;
int LED_PIN_B = 24;
int WAIT = 15;
uint8_t R, G, B;
void color(int velocity) {
velocity = velocity % 255;
if (velocity < 85) {
R = 255 - velocity * 3;
G = 0;
B = velocity * 3;
} else if (velocity < 170 ) {
velocity -= 85;
R = 0;
G = velocity * 3;
B = 255 - velocity * 3;
} else {
velocity -= 170;
R = velocity * 3;
G = 255 - velocity * 3;
B = 0;
}
analogWrite(LED_PIN_R, R);
analogWrite(LED_PIN_G, G);
analogWrite(LED_PIN_B, B);
delay(WAIT);
}
void setup(){ }
void loop(){
int i = 0;
while(1) {
color(i);
if ((++i) == 255) i = 0;
}
}
[スケッチ]→[検証・コンパイル]

[ツール]→[シリアルポート]

[ファイル]→[マイコンボードに書き込む]


昇圧ICをON(JP8)にして、乾電池1本(1.2~1.5V程度)でRAW端子から給電します。

KURUMIちゃんの髪飾りフルカラーLEDが、色を変えながら輝きます。
■RTC (リアルタイムクロック)
GR-KURUMIは、リアルタイムクロックを内蔵しているので、使ってみます。
とはいえ、GR-KURUMIにはRTC用のバックアップ電源用端子がありませんので、電源が切れる度に時刻を修正する必要があります。
また、精度もちょっと微妙、敢えて使う必要はないかもしれません。
GR-KURUMIの標準ライブラリ RLduino78を使います。
Ref.KURUMIスケッチリファレンス
RTC用の構造体を介して時刻を設定、取得します。
#include <Arduino.h>
#include <RLduino78_RTC.h>
#define null '\0'
RTC_TIMETYPE t;
char date[32], buf[32], *p;
char *token[10];
int pos;
void setup()
{
Serial.begin(9600);
rtc_init();
p = date;
}
void loop() {
while (Serial.available()) {
char c = Serial.read();
if (c == '\n') {
Serial.println(date);
*p = null;
p = date;
pos = 0;
token[pos] = p;
while (*p!=null) {
switch (*p ) {
case ' ':
case '/':
case ':':
case '-':
*p = null;
token[++pos] = ++p;
break;
default:
++p;
break;
}
}
if ( strcmp(token[0],"date")==0 ) {
t.year = atoi(token[1]);
t.mon = atoi(token[2]);
t.day = atoi(token[3]);
t.hour = atoi(token[4]);
t.min = atoi(token[5]);
t.second = atoi(token[6]);
if (strcmp(token[7],"sun")) {
t.weekday = RTC_WEEK_SUNDAY;
} else if (strcmp(token[7],"mon")) {
t.weekday = RTC_WEEK_MONDAY;
} else if (strcmp(token[7],"tue")) {
t.weekday = RTC_WEEK_TUESDAY;
} else if (strcmp(token[7],"wed")) {
t.weekday = RTC_WEEK_WEDNESDAY;
} else if (strcmp(token[7],"thr")) {
t.weekday = RTC_WEEK_THURSDAY;
} else if (strcmp(token[7],"fri")) {
t.weekday = RTC_WEEK_FRIDAY;
} else if (strcmp(token[7],"sat")) {
t.weekday = RTC_WEEK_SATURDAY;
}
rtc_set_time(&t);
} else if ( strcmp(token[0],"help")==0 ) {
Serial.println("date yy/mm/dd hh:ii:ss week");
}
p = date;
} else {
*p = c;
++p;
}
}
if ( rtc_get_time(&t) > 0 ) {
sprintf(buf,"%04d/%02d/%02d %02d:%02d:%02d",
2000 + t.year, t.mon, t.day, t.hour, t.min, t.second);
Serial.println(buf);
}
delay(1000);
}
GR-KURUMIにプログラムを書き込みます。

[ツール]→[シリアルモニタ]を選びます。

エポックタイムとは異なり、開始が2001年1月1日になっています。

現在時刻を入力して、RTCを更新します。

プログラム起動時からの経過ミリ秒を取得するmillis()関数を使って代用する場合は、「NTP 時刻取得と活用」を参照してください。
■応用
ルネサスでは、『がじぇるね工房』という形で、各種プロジェクトを公開しています。
GR-KURUMIは、3系統のUARTを実装しているので、無線モジュールXBEE 2台を接続してのテストも容易に行えます。

Ref. GR-KURUMI『がじぇるね工房』
■参考文献
・GR-KURUMIまとめ
・GR-KURUMIを使ってみる
・GR-SAKURA 特設:Webコンパイラでスケッチ
・GR-KURUMIを使ってみる
・XBee ZigBee 基本編 ワイヤレス通信を始めよう
・
|
Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
たいていのことは100日あれば、うまくいく。長田英知著
「時間がなくて、なかなか自分のやりたいことができない」
「一念発起して何かを始めても、いつも三日坊主で終わってしまう」
「色んなことを先延ばしにしたまま、時間だけが過ぎていく」
そこで本書では、そんな著者が独自に開発した、
まったく新しい目標達成メソッド「100日デザイン」について、
その知識と技術を、余すところなくご紹介します。
まんがで納得ナポレオン・ヒル 思考は現実化する
OLとして雑務をこなす日々に飽き足らず、科学者だった父が残した薬品を商品化すべく、起業を決意した内山麻由(27)。彼女はセミナーで知り合った謎の女性からサポートを得ながら、彼女と二人三脚でナポレオン・ヒルの成功哲学を実践し、さまざまな問題を乗り越えていく。
ヒル博士の<ゴールデンルール>に従い、仕事に、恋に全力疾走する彼女の、成功への物語。
今日は人生最悪で最高の日 1秒で世界を変えるたったひとつの方法 ひすいこたろう著
偉人の伝記を読むと、最悪な日は、不幸な日ではなく、新しい自分が始まる日であることがわかります。最悪な出来事は、自分の人生が、想像を超えて面白くなる兆しなのです。偉人伝を読むことで、このときの不幸があったおかげで、未来にこういう幸せがくるのかと、人生を俯瞰する視線が立ち上がるのです。
ご飯は私を裏切らない heisoku著
辛い現実から目を背けて食べるご飯は、いつも美味しく幸せを届けてくれる。
29歳、中卒、恋人いない歴イコール年齢。バイト以外の職歴もなく、短期バイトを転々とする日々。ぐるぐると思索に耽るけど、ご飯を食べると幸せになれる。奇才の新鋭・heisokuが贈るリアル労働グルメ物語!
【最新版Gemini 3に対応!】できるGemini (できるシリーズ)
Geminiを「最強の知的生産パートナー」として使いこなすための、実践的なノウハウを凝縮した一冊です。
基本的な操作方法から、具体的なビジネスシーンでの活用、日々の業務を自動化するGoogle Workspaceとの連携、さらには自分だけのオリジナルAIを作成する方法まで余すところなく解説します。
Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
Rustの各手法や考え方を幅広く解説!
500以上のサンプルを掲載。実行結果も確認。
全24章の包括的なチュートリアル。
ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS…
全WEB媒体で効果バツグン!
カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術
小型で便利な Type-C アダプター USB C オス - USB3.1 オスアダプター
Type-C端子のマイコンボードをこのアダプタを介して直接Raspberry Piに挿すことができます。ケーブルなしで便利なツールです。
Divoom Ditoo Pro ワイヤレススピーカー
15W高音質重低音/青軸キーボード/Bluetooth5.3/ピクセルアート 専用アプリ/USB接続/microSDカード
電源供給USBケーブル スリム 【5本セット】
USB電源ケーブル 5V DC電源供給ケーブル スリム 【5本セット】 電源供給 バッテリー 修理 自作 DIY 電子工作 (100cm)
|