夢色☆あんどろいど

中華パッド&スティック、Raspberry Pi、Arduinoなど、怪しいデジタルガジェット探偵団!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Nucleoのテストと初mbed

Nucleoをパッケージから出して(これがかなりキツめに入っていてけっこう大変!)、通電テストのためUSBケーブル(プラグはミニ)を繋ぐと基板上のLEDがかなり忙しなく点滅し、早くプログラムを入れろ!とせかされている感じです。
この時点でNucleoはUSBストレージとして認識されておりネット上のmbedサイトへ繋ぐHTMLファイル等が格納されています。ちなみにデバイスマネージャで確認するとST-Link経由での使用には何らかのドライバが必要っぽいです。

mbedのオンラインIDEを利用するためにはアカウントが必要です。
アカウント登録にはメアド、希望するユーザ名、国籍、フルネームを入力して画像認証を通すと確認メールが届くので、その中のリンクにアクセスしてコンファームすれば手続き完了です。なお登録画面だけは何故か日本語です。

a15052001.jpg

Nucleo内のショートカットからmbedにアクセスしてログインすると当該機種の開発画面に直接行けますが、普通に公式サイトから入るとプラットホームの選択が必要になります。コーディング~コンパパイルに実機を接続しておく必要はありませんので、対応機種(対応チップ)すべての開発が可能です。

a15052002.jpg

動作テストを兼ねて恒例のLチカ(blink)をやってみました。
プラットホームを選択して当該機種のページに入り、右端中ほどにプログラム例がならんでいますので一番上の「 Nucleo_blink_led」を開きます。
a15052101.jpg

プログラム解説画面でインポートを選ぶとプロジェクト作成画面が出ますので必要に応じて変更(普通はそのままで良い)してOKすると、コーディング画面が表示されます。
a15052102.jpg

コーディング画面はある程度のコード補完やヒント表示もあって、メモ帳とあんまり変らないArduino IDEと比べればいかにも「統合開発環境!」といった雰囲気です。実際の使い勝手も悪くないです。

a15052103.jpg

ツールバーの「Compile」をクリックするとコンパイルがはじまり、実行形式のファイルの保存先を選べばIDEでの作業は完了。
a15052104.jpg

保存先に生成されたbinファイルをNucleoのフォルダにドラッグ&ドロップすればボードへの書き込み完了です。
a15052105.jpg
        
a15052106.jpg

なお、ドラッグ&ドロッした実行ファイルは一旦Nucleoのフォルダに入ってしまうと外から見えなくなり、一切操作は出来ません。それと、これはうちの環境でだけかも知れませんが、NucleoをUSB接続したままだとPCが起動しなくなる現象に見舞われした。
あと、Lチカの実行ファイルのサイズは何と14.4KBもあります。Aeduino IDEでもせいぜい1KBちょっとですから、この中身は一体何なんでしょうね? このボードの場合、Flashメモリが潤沢なのでそんなに気にする必要はありませんが、他の小容量のボードだとどうなのか一度調べてみる必要がありそうです。

以上がmbed初体験の顛末ですが、ここまではArduinoよりも易しいかな?という感じです。ただ、私自身がこのボードのことをあまり知らないこともあって、この先何をしたいか、全くイメージがないのが問題です。あの佇立したピンを見ただけですっかりビビっていますから... 
最初のマイコンも、いきなりArduinoでLチカ後に行き詰まった時、BASCOM-AVR+ATTiny13Aで立ち直らせてもらった経験がありますが、こちらも同じ8本足のLPC810(mbed厳しいか…)か、せめてLPC1114辺りに軽く遊んでもらうのが良いのかも知れませんね。

Nucleoを買ってみました!

元々、マイコン遊びをはじめたきっかけは、2年前の春にRaspberry Piを手に入れて、GPIOで遊んでみようと思ったら、自分にその手の知識が全く無いことに愕然として、一度基本から鍛える必要があるな…とArduinoに手を出したのが発端なんですが、
経緯はこちらのエントリ↓
http://yumeiroandroid.blog.fc2.com/blog-entry-155.html

おかげでArduinoは基本のキホンぐらいは判るようになって、自作機が作れるレベルになりました。もうドラキー位なら喰われることはありません。

ということで、今後はAVR系に加えてARMにも手を出していこうと、まずはここ1年位急激に普及してきたmbedをはじめてみることにしました。
今回買ったのはSTマイクロエレクトリック社のNucleo(L152RE)。NXP社のnbedは2.5ドルのArduinoなんぞを使っている身としては異次元?の金額なのですがこちらは安い!(と言ってもUNO互換機5台分だけど…) 
Nucleoは色々な容量、速度のものが8種類もあって、それが何と値段が同じ! だったら一番高性能なのを買えば良さそうなものだけど、ビミョ~なデチューンが施されていてそうとも言えない... どれを選べば良いのか非常に難しい製品なのですが、私は一番速度は遅いけれどもFlashメモリ、SRAM共に最大級で、一応DACなども付いたL152REにしました。何がしたいかはっきりしていればそんなに悩むこともないんでしょうけどね~

↓パッケージ外観 いかにもPCパーツっぽい
a15051901.jpg

基本スペックはARM Cortex M3 32MHz、Flashメモリ512KB、SRAM80KB、EPROM16KB、タイマ、ADCの他、DACやゲインアンプ、LCDドライバ、静電容量センサなんかも搭載...
mbedsとして使用出来る他、ST-Link(STM系マイコンの標準プログラマ/デバッガ)も使用可能。Arduinoピン互換のコネクタも装備しています。

a15051902.jpg

↓Arduino UNO互換機(右)と比べるとかなり大きく感じます。
a15051903.jpg

↓USB接続用にSTM32F103CBT6も搭載。これだけでも昔の8ビットパソコン位のパワーがあるから侮れない...
a15051904.jpg

mbedの操作感などはまた次回といたしましょう!

豊四季タイニーBASIC Arduino版を試してみました

このところすっかりBASICマイコンに嵌まっておりますが、今回は国内開発のTinyBasicである「豊四季タイニーBASIC Arduino版」を使わせていただきました!
↓公式サイト
https://vintagechips.wordpress.com/2012/06/14/

こちらの特徴はパロアルト版TinyBasicにかなり厳格に準拠している点で、そのため他のプラットホームへの移植や機能拡張が比較的容易に行えるようになっています。
開発元でもWIN版、PIC版、Arduino版が公開されているほか、ネット上にはMBEDへの移植事例や機能拡張など、特に日本語情報の量は最大級です。

Arduinoへの書き込みは、UNO互換機とNANO互換機で試してみましたが、特に問題なく出来ました。(ArduinoIDE 1.6.2使用)
ターミナルソフトの設定は転送速度を9600ボーに、ローカルエコーなしとします。
a15050101.jpg

a15050102.jpg

こちらも以前ご紹介した「Nanode Tiny Basic」と同様、プログラムのSAVE/LOAD機能がありません。また、極力ハードウェア依存部分を減らす趣旨からマイコンのピン制御機能もありませんが、この辺は自分で機能拡張することが前提のようです。
実際に機能拡張した事例紹介(MBED向けでしたが…)もありますので一度チャレンジしてみたいな~と思います。


ArduinoをスタンドアロンのBASICマイコン化!~Half Byte Tiny Basic

ArduinoでスタンドアロンタイプのBASICマイコンはやっぱり無理なのかな…?と思っていましたら、これがあろんですよね~! PS/2キーボードI/Fにビデオ出力、おまけにサウンド出力まで備えた本格派です!
https://halfbyteblog.wordpress.com/2014/11/26/its-here-half-byte-tiny-basic-2-for-arduino-and-compatibles-3/

さすがに貧弱なリソースを何とかやりくりして実現しているだけあって、画面表示は4×8のフォントを使って19字×8行…と、黎明期のパソコンというより初期の家庭用TVゲーム機のレベル? エポック社のテニスゲームを思い出してしまいました。

早速、上記記事からソースファイルを貰って来たのですが、これがうまくいきません。複数のライブラリファイルを必要としますが、同梱のものはそのうちの半分位で、残りは自前で調達しなければなりません。
で、引っかかったのは「nunchuk」と言うライブラリ。「ヌンチャク? 何じゃそれは~」と思ったらWii用のコントローラの一種だそうで、何しろ我が家のゲーム機は初代プレステで終わってますのでこの時点で初耳でしたが、Arduinoの世界では割とポピュラーに流用されているものだそうです。

ネットでライブラリファイルを一式貰って来てコンパイルするもエラー続出! よく見ると表記が「nunchuk」だったり「nunchuck」だったり、ある時は「Nunchuck」だったりとプレブレで、その上、そこから呼んでいる「Wire」と言うライブラリが、ある所では「TwoWire」となっていたりと。もうワケ判らん状態で、影響が出ないようチビチビ修正してWire絡みのエラーは何とか解決出来たものの、「nunchuk」の方はどうやら仕様自体が違っているらしいことに気付きました。かれこれ1週間程悪戦苦闘した挙げ句のことです。

まあ、こんなコントローラ持ってませんので、これに関わるルーチンを外してしまえばどうかな?と思っていますが、もう少し足掻いてみるつもりです。こうしてプログラムを弄っていると結構勉強になりますし...


Arduinoで動くTinyBasicを試す

IchigoJamですっかり「BASICマイコン」の世界に引きずり込まれた次第ですが、今度はUnoやNano等のATMega328系Arduino向けのTinyBasicのひとつを試してみました。
現在、この系統のTinyBasicは4種類ほど存在していて、その中では国内で開発されている「豊四季タイニーBASIC」が情報量が多くてメジャーどころのようですが、今回は一番情報量の少ない「Nanode TinyBasic」というのを試してみました。とりあえずどんなものかもよく判らないので、一番シンプルで簡単そうなものを選びました。

ATMega328(P)は何せRAMが2KBしかありませんのでVRAMやキャラクタはどうするんや?と思っていましたら、この部分は最初からターミナルソフトで行うのが前提で、PCで何かの制御を対話的に行うことを目的としたもののようです。IchigoJamとは基本的な在り方が異なるものと見ていいでしょう。

↓TeraTermで起動させて、お約束?の「Hello World!」を表示させてみました。「NanoBasic in C」と言うのが正式名称らしい? プログラム領域が1KB以上あるのは、RAM2KBという環境を考えるとちょっとびっくり! ちなみにiPhoneの同名アプリとは無関係のようです。

a15041501.jpg

ソースコードは↓にあります。Arduino IDEにコピペしてコンパイル~書き込みが普通に出来ます。
https://gist.github.com/anonymous/1520899

言語仕様はほぼ不明ですが、こちらもたいていのArduino向けTinyBasicがベースにしている68KTinyBasicをベースにしているそうですのでそんなに大きくは変らないと思います。コマンド/ステートメントが↓のサイトかソースコードから判別出来、最小限の非常にシンプルなものであることが窺えます。どうやら何かを温度管理する目的で開発されたようですが...
https://wiki.london.hackspace.org.uk/view/Project:Nanode/Tiny_Basic

TeraTermの設定はIchigoJamのそれとほぼ同じですが、ローカルエコーバックは外しておきます。でないと文字が2文字ずつ入力されてしまいます。

LPC1114使用のIchigoJamと比べるとRAM容量の差がスタンドアロン機としての可否を決めてしまった感がありますが、これにはこれの良いところがあると思いますので、単純に優劣を決めることは出来ません。
普通のパソコンだとLチカすら大騒動な話になってしまいますが、このシステムを使えば、簡単なプログラムで、パソコンをスイッチ代りにして、結構複雑な制御が出来るようになります。
もちろん、シリアル接続さえ可能なら別にArduinoである必要もありませんので、ATMega328P辺りのマイコンチップ単体に、よく1ドル以下で売られているPL2303HX使用の激安シリアルコンバータを組み合わせたものでも良しと思います。まあ、本当にコストを重視するなら先日ご紹介したNano互換機とかに敵わない点がちょっと悲しいところですが... 自分で作った!という達成感と満足感は大きいでしょう。



« 新しい記に行く  | ホーム |  古い記に行く »

文字サイズの変更

プロフィール

よっしい

Author:よっしい
FC2ブログへようこそ!

最新記事

カテゴリ

未分類 (0)
ニュース (10)
スマートフォン (33)
中華パッド/タブレットPC (104)
ミニPC (25)
マイコン (64)
CNC機器 (16)
アクセサリ (14)
アプリ (9)
実験 (7)
工作 (13)
その他 (12)

月別アーカイブ

最新コメント

リンク

このブログをリンクに追加する

検索フォーム

RSSリンクの表示

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

FC2Ad

Template by たけやん

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。