top of page
  • ahedgehogchase

Lesson 8. 組み込みプログラミング §17. Arduino

Arduino さて、ここでXMEGAについて話をする前に、ちょっと飛ばしてArduinoの話をしておこう。 Arduinoについて語るとき、君たちは基板のファミリやライブラリ、開発環境、そしてブートローダやヘッダなどの要素に関して触れると思う。 そして、Arduinoについて話す時、君たちは実際にそれらのもの全て意味する訳ではないだろう。君たちは、それらを分けて考えることもできる。 商業的にはArduinoは、20ドルとか30ドルのものがある。 ここにお見せするのは、君たちが作ることのできる少しばかり異なるプロジェクトで、僕たちが従来使用して来たものだ。 僕は特にシンプルなものにリンクを貼った。これはシンプルにデザインされたArduinoだ。そして、君たちはこれを数ドルの部品で作ることができる。

 

●スケッチは実はC言語 さて、Arduino作動させるために、君たちはスケッチを書く。スケッチはこのような見た目だ。 しかし、これはただのC言語プログラムだ。でも、ライブラリは隠されていて見ることができない。 そして、これを用いて君たちが何を行うかというと、君たちはまずArduinoの環境を教えてやらなきゃならない。つまり、どんな基板を使っているかと、どのポートを使おうとしているかってことだ。その後には、ブートローダをロードする必要がある。君たちはこれを一度だけ行えばいい。一度だけブートローダをロードしよう。そして、スケッチをロードする。スケッチをブートローダ経由で送信するんだ。 Arduino環境はGCCと呼ばれ、スケッチをコンパイルし、ロードし、実行開始する。 これはよく混乱を引き起こす。君たちはスケッチを書いていると思っているかもしれないが、まだGCCでコンパイルするC言語のコードを書いているんだ。でも、それは背後に隠されている。直接使えるものというよりはインターフェースとして使っているんだ。

 

●Arduino IDEを使わない方法 さて、ここにいくつのスケッチがある。 そして、ここで僕がやろうとしていることは、Arduino IDEを使うことなしに、コンパイルし、プログラムをロードし、同じスケッチを実行させるという全ての工程を行おうってことだ。 Arduinoの環境で、これらの工程を行う代わりに、僕は直接Cコードから実行したんだ。この部分はちょうどArduinoスケッチのように見える。違いは僕はライブラリにある他の部位もここに書いているってことだ。

●初心者はArduino IDEを使ってみよう とは言え、君たちがArduino IDEを用いるのは歓迎だ。そして、君たちの多くは実際そうするだろう。しかし、Arduinoのライブラリには多くのオーバーヘッド(直接関係のない処理)があるってことを、君たちは認識しておくべきだ。コードは巨大になると、一般的に処理は遅くなる。なぜならば、君たちは全ての命令を行わなきゃならないからだ。直接C言語のコードを書くよりArduinoライブラリを使う方がその傾向にある。

●習熟したら直接C言語のコードを書いてみよう だから、習熟して来たら気がつくようになる。Arduino IDEを使うよりも、直接のC言語のコードを書いたほうがいいってことにね。しかし、僕が言ったことをおさらいすると、ArduinoとC言語には違いはない。これは、全てライブラリ付きのC言語なんだ。 Arduino IDEでは、コンパイラの存在を見ることはできないが、君たちはそれを直接使うことができる。 ●使っても良いけど買っちゃいけない この講座のルールは、君たちはArduinoの環境を使っても構わない。しかし、君たちはそれを作らなきゃならない。君たちはArduinoを買ってはならない。作らなきゃならないんだ。

●プロセッサでArduino IDEを用いる さて、ここでどのように行うか例を示そう。 今、非常に重要なことは君たちは、そのTinyプロセッサでArduino IDEを使うことができるということだ。 標準的なArduinoはMEGAというAVRのファミリだ。 このページは小型プロセッサを用いた時のArduino IDEの使い方に関するページだ。もしも、IDEがお好みであれば、参照してみてはどうだろうか。 これが1つの側面から見た例だろう。そして、もう1つの側面を示そう。 ●熟達すると機能を分離したくなる 僕はXMEGAを使おうと思う。これは新しいバージョンのもので、これはXMEGAを用いたArduinoだ。 そして、Arduinoは単なるAVR用のC言語だ。しかし、パッケージに全てが詰め込まれている。君たちの多くはそれを良しとするだろう。しかし、君たちは次第にこう思うようになる。君たちのレベルが熟達するにつれ、これらがコントロールしているステップを分解したくなってくるんだ。 だから、プロセッサに対しては多くのオプションがある。通信するためのツールチェインに関する多くのオプションの中にね。

つづく 講義の目次は 【和訳版】FabAcademy 2016 からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。

閲覧数:3回0件のコメント

最新記事

すべて表示

Lesson 13. 出力デバイス §4. LEDマトリックス

●LEDマトリックス 次に紹介するのはLEDマトリックスだ。 動作しているのを見てみると、ディスプレイの一部分が表示されているのが見えるだろ? 僕はディスプレイの一部分を用いてラスタリング(画像を色のついた格子状のドットで表現すること)を行なっているんだ。 ●Charlieplexing これは便利な技で、Charlieplexingと呼ばれる。 このLEDは大量購入すると6セント

Lesson 13. 出力デバイス §3. 調光LED

●調光LED さあ、ここから僕は多くのデバイスを紹介していこう。 最初に紹介するのは、色調を変化させることのできるLEDだ。色を周期的に変えることができるんだ。 これが、その部品だ。 この部品には赤と緑の、青のLEDが1つのパッケージに含まれている。大量購入すれば、40セントで買うことができる。これらはスタジアムとかにある巨大なディスプレイに用いられていて、これがスタジアムでは1ピク

Lesson 13. 出力デバイス §2. 電源

●電源 今回の課題のゴールはたくさんのバッテリーを使うことじゃない。モバイルにしなくちゃならない場合を除いてバッテリーを使うのはお勧めしない。一般的には各Labは各種電源を取り揃えているはずだ。 今から紹介するベンダーMARLIN P. JONES & ASSOC. INC.は数多くのベンチサプライ(電源)を取り扱っている。 きっと諸君はこれらの各種電源をプロジェクトに用いることになるだ

bottom of page