※イメージ図です概要クムクムのメインボードの主な部品と信号や電源のイメージを図に表してみると上図の様になります。電源系統まず電源系統は図の右(USBと記述)のコネクターより、電池からの電源が与えられます。電池はニッケル水素なので、表示上1.2V/本×4本=4.8Vですが、実際にテスターで測ってみると、新品時には1.4V/本近く出ています。そこから考えると、おおよそ、5.2V程度は出力されていることになります。4.8~5.2Vの電源をもらい、3.3Vを作り9でRN4020に供給します。そのままの電源は10CPUと8モータ電源に供給されます。モータ1個1個についている丸いタンクのようなものはコンデンサーといい、動作中の電圧が不足してきたときに、モータが暴れたりしないように一時的にギュッとためておく安全対策です。入力(青線)と出力(オレンジ線)の2本が存在し、CPUからのコントロールとなります。ATMEGA32U4のピン配置は下記の様になっており、各ポートにそれぞれLEDやセンサーなどが接続されています。1CPUとI2Cバスで接続しコントロールしています。このLSIからの出力は音量調節用のボリュームを経由しLM386というアンプで増幅されてスピーカー出力されます。RN4020(ボード右上)はマイクロチップ社が提供するBluetoothモジュールで1CPUとはSerialバスで接続しコントロールをしています。このBLEモジュールでは、外部PCからのコマンドを受けたり、また送信したりする動きをします。BLEとCPUの間に黒四角を経由していますが、これはレベルコンバータといい、3RN4020の信号3.3Vと1CPUの信号5Vの電圧差を一致させるために使用しています。4RGB-LEDは5mm砲弾型の一般的なLEDで、1個の玉の中にR(赤)G(緑)B(青)の発光が可能です。1から4への信号は1本で書かれていますが、実際にはRGB分合計3本接続しています。5スピーカへは実際には一つのLM386と1つのボリュームからの音を再生しますが、実はクムクムは音声とBEEPの2つの音を同時にならすことができます。CPUの上のほうにある+マークが書かれた部品(LM386の前)がボリュームで、このボリュームには1CPU2TTSから入力されています。※2つの音を1つのボリュームで調整するようにしているため、あまり大きな音を鳴らそうとすると変ななり方になってしまうのはこのためです。電子上の設計ではあまり好ましくない方法をとっていますが、コスト面からご容赦ください。6MICは一般的なコンデンサーマイクを使っています。コンデンサーマイクはそのままCPUに接続することができないため、マイクアンプとしてOP344というICを通して増幅した信号をCPUへ送っています。※クムクムでは音声を入力させる機能がないため、実際にはマイクは音がなったかどうか?を検知する目的で使っています。SONICは超音波距離センサーで、Arduinoの記事ではよく見かけるHC-SR04というごくごく一般品を使用しています。実はこのHC-SR04は簡単に制御できるのはいいのですが、どの記事もパルスを与えるために、ArduinoのdelayMicrosecondを使っています。これは、単体で動かす分にはいいのですが、クムクムの様にモータを動かしながらの制御となると、このコマンドで動作が止まってしまいます。※クムクムBASICでは、まずは学習目的としているためこの部分のリアルタイム性は無視しています。次のHiSpeedバージョンではオプションボードなどを含めて高速化リアルタイムを実現します。2つの経路によるクムクムロボットへのプログラミング方法クムクムを動作させるためのプログラミングには、大きく分けて上図のようにAとBの2系統があります。開発環境を使用して、C/C++言語でプログラミングすることが可能です。...基礎知識クムクムHISPEED版テスト10月中リリース予定のクムクムでモーンウオークをさせてみました。現在スクラッチ2.0では完全動作中で、スクラッチ3.0での最後の検証中です。ついて簡単に説明をしました。