[電子工作]GS-0003(Maix Bit付属):Genesisエミュレータ(512KB以下)A.I.やMicroPythonの学習、各種エミュレータの実行に最適価格:7,000円(Maix Bit入手困難のため、購入済みのMaix Bitを付属)(MaixBitの大幅な価格上昇により在庫限り) 在庫品はメルカリで「GS-0003」で検索購入下さい。受注生産(料金振込後、製作するため多少納期が必要です)で良ければ、 hge00744@nifty.ne.jp にメール下さい。折り返し、納期、金額(割引は要相談)、振込先を回答致します。 保証内容はこちら。
特徴A.I.やMicroPythonの学習、各種エミュレータの実行に最適・Sipeed社Maix Bitを搭載し、カメラ、液晶ディスプレイ、マイク、スピーカー(イヤホン端子あり)、キー、単3電池によるバッテリー駆動が可能。・Maixpyによる動画録画・再生や音楽再生やNESエミュレータ、Genesisエミュレータなどのソフトが使用可能。(詳細は、ネットで検索下さい。)・4方向キーと5つのキーを搭載。・イヤホン端子を持ち、スピーカーと切替可能。(良い音で聞きたい方は、イヤホン、ヘッドホン、外付けスピーカーを別途準備して下さい。)・LM386(又は互換品)によるアンプを搭載。DAC専用レギュレータ、フェライトビーズなどを使用しノイズを徹底的に排除。(ノイズが発生する場合は電源の電圧不足です。)・2連ボリュームで音量調整可能。・秋月電子、共立エレショップなど、信用できる販売店より部材調達。・鉛フリー半田使用カメラ装着例(カメラはユーザにて取り付け下さい。)注意.基板形状、搭載部品は、出荷時期によって変更される場合があります。 但し、ソフト互換性は確保し、基本仕様は変更しません。
サンプルソフト一覧
ーーーー目次ーーーー 1.仕様2.ソフト開発環境(1)ファームウェア書き換えソフトのインストール (2)Arduino IDEのインストール (3)Kendryte SDKのインストール 3.サンプルプログラム
ーーーーーーーーーー 1.仕様
2.ソフト開発環境(1)ファームウェア書き換えソフトのインストール ファームウェアの書き換えや学習データを書き込むため、最初にK-Flash又はKflash_guiを インストール。Pythonの環境を持つPCなら、次のコマンドでインストール可能。(私はこれ) >>pip3 install kflash 又は >>pip install kflash *.binや*.kfpkgをコマンドラインから書き込む方法は次の通り。GUIはネットで探して下さい。 Windows >>kflash -p COM3 -b 115200 ???.bin Linux >>kflash -p /dev/ttyUSB0 -b 1500000 ???.bin 注意.ポート名は、環境に合わせて変更すること。 注意.Linuxで/dev/ttyUSB0にアクセスできない場合、次のコマンドを実行して、再起動。 >>sudo usermod -a -G dialout $USER
(2)Arduino IDEのインストール まず、Arduino IDEをインストールしてください。 その後、ファイルー環境設定の追加のボードマネージャのURLに http://dl.sipeed.com/MAIX/Maixduino/package_Maixduino_k210_index.json を追加し、ツールーボードのボードマネージャで「maix」等で検索し、インストールします。詳細はこちら。 その後、ツールを次のように設定下さい。 (Linuxで書き込めない場合は、>>sudo apt install python3-serial もお試し下さい。) ボード:Sipeed Maix Bit-Mic Board シリアルポート:Maix Bitが繋がっているポートを選択(2つポートが出るので試行下さい) 書込装置:k-flash
で、いきなりバグや注意点があります! 1.少なくとも、2020年2月の段階で、カメラを使ったサンプルを実行すると、エラーで 停止します。原因は、OV2640のライブラリのファイルのタイプミス! 対策方法は次の通り。 Windowsの場合、 C:\Users\xxxxx\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\src Linuxの場合、 ~/.arduino15/packages\Maixduino\hardware\k210\0.3.11\libraries\Sipeed_OV2640\src にある、「Sipeed_OV2640.cpp」と「Sipeed_OV2640.h」にタイプミスがあり、それぞれ1箇所ずつ、 setRotaion→setRotation に書き換えてください。これで、問題なくコンパイルできます。 しかし、4ヶ月もこのまま、っていうのはどうしたものか...
2.SpeechRecognitionのサンプルを実行しても、音が全く取れません。原因は、 Maix BitのMEMSマイクはL/R=VDD、他のボードはL/R=GND。つまり、右の音と左の音が Maix Bitは他のボードと逆になっているため。 対策は次の通り。 Windowsの場合、 C:\Users\xxxxx\AppData\Local\Arduino15\packages\Maixduino\hardware\k210\0.3.11\libraries\Maix_Speech_Recognition\src Linuxの場合、 ~/.arduino15/packages\Maixduino\hardware\k210\0.3.11\libraries\Maix_Speech_Recognition\src にある、「Maix_Speech_Recognition.cpp」で、g_rx_dma_buf[2 * i]→g_rx_dma_buf[2 * i + 1] に2箇所変更下さい。 ついでに、speeking→speaking に直しておくと、他の人に見せる時に恥ずかしくないかも...
(3)Kendryte SDKのインストール ・Ubuntuでバイナリをそのままダウンロードする場合 >>wget http://dl.cdn.sipeed.com/kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz >>sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz -C /opt
・Linuxでコンパイルし直す場合 >>sudo apt install gawk >>sudo mkdir /opt/kendryte-toolchain >>sudo chmod 777 /opt/kendryte-toolchain >>git clone --recursive https://github.com/kendryte/kendryte-gnu-toolchain >>cd kendryte-gnu-toolchain >>git submodule update --init --recursive >>sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev >>./configure --prefix=/opt/kendryte-toolchain --with-cmodel=medany --with-arch=rv64imafc --with-abi=lp64f >>make -j8
・サンプルコードのコンパイル 1.kendryte-standalone-sdkをダウンロードし、適当なフォルダーに展開する。 >>unzip kendryte-standalone-sdk-0.5.6.zip 2.次の手順で、サンプルのhello_worldがコンパイルできます。 >>cd kendryte-standalone-sdk-0.5.6 >>mkdir build >>cd build >>cmake ../ -DPROJ=hello_world -DTOOLCHAIN=/opt/kendryte-toolchain/bin >>make 3.バイナリをMaixに書き込む >>kflash -p /dev/ttyUSB0 -b 1500000 hello_world.bin このプログラムの場合、「screen /dev/ttyUSB0 115200」等でシリアルモニタしてresetボタンを 押すと、次のようなメッセージが出力される。 Core 0 Hello world Core 1 Hello world 4.その他のサンプルはここからダウンロードし、kendryte-standalone-sdkの中のsrcフォルダにコピー すれば、hello_worldと同等にコンパイル可能です。シリアルポートやLCDを使用するものはそのまま 動作しました。しかし、カメラ、SDカード、I2S等を使用するサンプルは端子番号を直接設定しており Maix Bitでは端子番号を変更する必要がありますので、ご注意下さい。Maix Bitの回路図をダウン ロードし、それを見ながら変更しましたが、サンプル毎にやり方が異なるので結構面倒でした。 3.サンプルプログラム説明:Sipeed社のMaixシリーズで動作するMicro Pythonです。Pythonで書かれたプログラムを実行 できるだけでなく、動画録画・再生、WAV再生、A.I.処理、NESエミュレータ(詳細はネットで調べて 下さい)なども可能です。詳細は、こちらをご覧ください。 ・動画再生やWAV再生時に、音をステレオで聴くことが可能です。(あのbadappleも音付きで再生!) ・4方向キーやボタンで、NESエミュレータを操作できます。
実行方法:下記の「maixpy.bin」をダウンロードし、次のコマンドでMaix Bitにプログラムを書き込んで下さい。 >>kflash -p /dev/ttyUSB0 -b 1500000 maixpy.bin や >>kflash -p COM3 -b 115200 maixpy.bin
NESエミュレータ:NESエミュレータを実行する時は、次のようなPythonプログラムを実行下さい。これで、音付きで 4方向キー、ボタンで操作できます。なお、「*.nes」は各自入手し、MicroSDカードに書き込んで下さい。
カメラの使い方:MaixBitをGS0003に装着し、カメラの映像を写すと上下逆になると思います。 その場合は、下記のプログラムを参考に、sensorの設定を変更してお使い下さい。
説明:私が作成したプログラムを書き込むことで、MDファイル(容量は512KB以下。それを越えるファイル は再生できません。)を音楽付きで実行でき、4方向キーやボタンで操作可能です。 GenesisエミュレータやMDファイルについては、私から説明できません。 お持ちのMDファイル(512KB以下)を下記のように名前を変えて、MicroSDに書き込み、電源を 入れ直すか、リセットボタンを押した後、各キーを押すと、そのファイルがロードされ実行されます。 A.MD : Aボタンを押すと実行 B.MD : Bボタンを押すと実行 C.MD : Cボタンを押すと実行 UP.MD : 4方向キーを上にすると実行 DOWN.MD : 4方向キーを下にすると実行 LEFT.MD : 4方向キーを左にすると実行 RIGHT.MD : 4方向キーを右にすると実行 MODE.MD : MODEボタンを押すと実行 START.MD : STARTボタンを押すと実行
実行方法:下記の「genplus.bin」をダウンロードし、次のコマンドでMaix Bitにプログラムを書き込んで下さい。 >>kflash -p /dev/ttyUSB0 -b 1500000 genplus.bin や >>kflash -p COM3 -b 115200 genplus.bin 説明:私がArduino IDEで作成したサウンドプレイヤ(WAVファイルの再生ソフト)です。対応しているのは、 22.05KHz以下の非圧縮のWAVファイルのみです。(Arduinoのライブラリを使うと、22.05KHzが限界 のようです。) Audacity(Windows版とLinux版があります)を使えば、ネットの音楽を録音したり、MP3ファイルを 読み込み、22050Hzに変換して、WAVファイルで保存できます。詳細はこちらを参照下さい。 なお、GS0003に付いているスピーカでは、低音が全く出ませんので、少しでも良い音で聞きたければ、 100円ショップのもので十分ですので、イヤホンやヘッドホンを接続して聞いて下さい。 もちろん、良いアンプやスピーカーに接続すれば、なお良いです! 実行方法:ダウンロードしたMaix_I2S_playerを展開し、Maix_I2S_playerフォルダはArduinoフォルダの下、 Sipeed_ST7789_gameフォルダはArduino/librariesフォルダの下にコピーする。 Windows : 「Users\ユーザー名\Documents\Arduino」又は「PC\ドキュメント\Arduino」 Linux : 「~/Arduino」 上記の方法でインストールしたArduino IDEを起動し、ツールを、 ボード:Sipeed Maix Bit-Mic board CPU Clock Frequency:400MHz Burn Baud Rate:1.5Mbps シリアルポート:Maix Bitが繋がっているポートを選択(2つポートが出るので試行下さい) 書き込み装置:k-flash に設定します。 →ボタンを押すとコンパイルされ、プログラムの書き込みが開始されます。 終了したら、プログラムが起動します。 |