Intel Edison Module用「AE-Edison-BASE64」を使ってみる

はじめに

秋月電子通商が「Edison 2.54mmピッチ変換基板 パーツセット(AE-Edison-BASE64)」という「Intel Edison Module」の高密度70ピンを扱いやすい2.54mmに変換するブレイクアウト・ボードを販売しています。

このボードは2.54mmに変換する以外、何の機能も付加しません。Intel Corporationの「Intel Edison Breakout Board」は各種接続ポートやIntel Edison Moduleと通信するためのUSBシリアル変換チップの搭載、バッテリー制御回路などいろいろな機能を搭載しているのと対照的です。

このボードのメリットは、Intel Edison Moduleを直接扱えるところにあります。そしてデメリットもそこにあります。つまり、AE-Edison-BASE64はそれをメリットと感じることができる人、ある意味「選ばれた人」に向けたボードであり、決して一般に向けたボードではないのだろうと思われます。

今回は、このAE-Edison-BASE64を使用してIntel Edison Moduleを動かしてみたいと思います。

免責の宣言

本記事は“さかきけい”の作業内容を共有するためのものであり、何ら保証はありません。自己責任でのみ使用することができます。

前述のようにAE-Edison-BASE64ボードは「わかっている人」が使うボードという位置づけだろうと考えますので、いつもより細かい説明は省きました。見てみて理解に不安が残る方はチャレンジを避けた方がいいかもしれません。接続を誤るとIntel Edison Moduleを破損させたり、どこからか煙が出たり発火することもあり得ます。

チャレンジする範囲

今回、AE-Edison-BASE64を使用してチャレンジしてみるのはIntel Edison Moduleに搭載されている機能のうち、以下のものです:

  • 電源を入れます。何はともあれこれができなければ先に進めません。
  • UART 2に接続してシリアル・コンソールを使用できるようにします。
  • USBでパソコンと接続してArduino IDEからスケッチを書き込んでみます。
  • スケッチを使用してGPIOからの制御を行います。

使用したもの

電源についてはUSB接続からの電源を使用することを考えたのですが、手持ちにちょうど良い電圧降下レギュレーター(あるいはコンバーター)がなかったので、リチウム・イオン・ポリマー電池を使用しました。※4

写真で見るAE-Edison-BASE64

付属のピン・ソケットをはんだ付けする前の写真です。背景の線は1センチ・メートル単位です。

AE-Edison-BASE64の表面

ボードの左側にはIntel Edison Moduleを取り付ける部分があり、右側にはボードの型番であるAE-Edison-BASE64と大きく書かれています。その上下には各ピンにどのような信号線が割り当てられているのかが書かれています。

AE-Edison-BASE64の裏面

裏面は配線とピンの穴、Intel Edison Moduleを固定するためのねじ穴があるだけです。

AE-Edison-BASE64でIntel Edison Moduleを使用するための用意

準備

  • AE-Edison-BASE64に付属のピン・ソケットをはんだ付けします。※5
  • AE-USB-MICRO-B-Dにピン・ヘッダーをはんだ付けします。※6
  • Switched JST-PH 2-Pin SMT Right Angle Breakout Boardに付属のピン・ヘッダーをはんだ付けします。※7
  • USBシリアル変換アダプターを5V側に設定します。
  • Intel Edison ModuleとUSBシリアル変換アダプターのドライバーをWindowsにインストールしておきます。※8

配線

今回は、使用する機能に合わせて以下のように接続します:

基本

  • Intel Edison Moduleの複数あるGND(AE-Edison-BASE64の2、6、16、33、38、50、55ピン)をブレッドボード上の共通グラウンド(以下、単に共通グラウンド)へ接続します。

電源

  • バッテリーにつながるピッチ変換基板(以下、ピッチ変換基板)のスイッチをOFF側にスライドしておきます。
  • ブレッドボードの任意の場所にピッチ変換基板を装着します。
  • ピッチ変換基板のスイッチのプラス極※9をIntel Edison ModuleのVSYS(AE-Edison-BASE64の5ピン)に接続します。
  • ピッチ変換基板のマイナス極を共通グラウンドへ接続します。
  • ピッチ変換基板にリチウム・イオン・ポリマー電池を接続します。

シリアル・コンソール

Intel Edison ModuleのコンソールはUART 2側なのでこちらにシリアルを接続します。

  • USBシリアル変換アダプターのVCCをブレッドボードに設置した8ビット双方向ロジックレベル変換モジュールの5V側VCCに接続します。※10
  • USBシリアル変換アダプターのGNDを共通グラウンドへ接続します。
  • USBシリアル変換アダプターのTXRXをIntel Edison Module側UART 2のRX(AE-Edison-BASE64の35ピン)とTXにそれぞれ接続します。(AE-Edison-BASE64の34ピン)へ8ビット双方向ロジックレベル変換モジュールを挟んで接続します。※11
  • 8ビット双方向ロジックレベル変換モジュールの1.8V側VCCをIntel Edison Moduleの1.8V出力(AE-Edison-BASE64の4ピン)に接続します。
  • 8ビット双方向ロジックレベル変換モジュールのGNDOE#を共通グラウンドへ接続します。

USBクライアント

  • AE-USB-MICRO-B-Dをブレッドボードの任意の場所に装着します。
  • AE-USB-MICRO-B-DのGNDを共通グラウンドへ接続します。
  • USBコネクター側のD+D-をIntel Edison Module側のDP(AE-Edison-BASE64の18ピン)とDN(AE-Edison-BASE64の19ピン)へ接続します。
  • USBコネクター側のVBUS(プラス極)をIntel Edison Module側のVBUS(AE-Edison-BASE64の20ピン)へ接続します。

GPIO

Arduino IDEで定番のLED制御スケッチ(Lチカ・スケッチ)である「Blink」は、Arduino Boardにおける13ピンを駆動しますが、Intel Edison ModuleではこのピンがMUX対象のため、念のため今回は単独のGPIOであるArduino Boardにおける7ピンに接続しました。

  • Intel Edison ModuleのGP48(AE-Edison-BASE64の59ピン)を8ビット双方向ロジックレベル変換モジュールの1.8V側の任意の個所に接続します。
  • 5V側出力をブレッドボードの任意の位置に接続します。
  • 任意の位置に接続したポイントとグランドの間に発光ダイオードと抵抗を接続します。

接続の確認

ここまでの作業内容が正しいかどうか、じっくりと確認します。配線に誤りがあると接続したパーツを破損させたり、煙を吹かせたり、あるいは発火することもあります。入念に確認をすることをお勧めします。

AE-Edison-BASE64でIntel Edison Moduleを起動

続いて通電して動作確認をしていきます。

  • パソコンのUSBポートにUSBケーブルを差し込み、ケーブルの反対側をUSBシリアル変換アダプターに接続します。
  • USBシリアル変換アダプターのCOMポートをTera Termのような端末エミュレーター・ソフトウェアで開き、8ビット、フロー制御なし、パリティ無、ストップ・ビット1、115200bpsで送受信するように設定します。
  • リチウム・イオン・ポリマー電池のピッチ変換基板についているスイッチを「ON」側にスライドして電源を入れます。
  • Tera Termなどの端末エミュレーターにIntel Edison Moduleの起動ログが流れていくことを確認し、起動完了まで待機します。※12
  • パソコンの先ほどとは別のUSBポートにUSBケーブルを差し込み、ケーブルの反対側をブレッドボード上に装着したAE-USB-MICRO-B-DのUSBコネクターに差し込みます。
  • Intel Edison Moduleがパソコンに認識されるのを待ちます。※13
  • Arduino IDEを起動し、以下のスケッチをIntel Edison Moduleに転送します:※14
    /*
      Blink
      Turns on an LED on for one second, then off for one second, repeatedly.
     
      This example code is in the public domain.
     */
     
    // Pin 13 has an LED connected on most Arduino boards.
    // give it a name:
    int led = 7;
    
    // the setup routine runs once when you press reset:
    void setup() {                
      // initialize the digital pin as an output.
      pinMode(led, OUTPUT);     
    }
    
    // the loop routine runs over and over again forever:
    void loop() {
      digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);               // wait for a second
      digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);               // wait for a second
    }

    ※このコードは強調した部分の137に変更している点だけが違う「Blink」スケッチです。

  • ブレッドボード上の発光ダイオードが1秒間隔で明滅することが確認できます。

    AE-Edison-BASE64を使用してLチカ

まとめ

このように、AE-Edison-BASE64で引き出したIntel Edison Moduleの生の信号を使用して、パソコンとの接続やGPIOによる制御などを行うことができました。基本的にI2CやGPIOは、一般のパソコン用の信号と比較してタフです。私のようにあまりハードウェアに詳しくないような人間でも、これらの信号を扱った回路を動かすことができたということで、このメモが参考になれば幸いです。

今回扱った信号の中で、タフではないものが1つあります。それはUSBの信号です。今回これはなるべく短くすることで対応しました。それでも速度ダウンが起ったりして、安定性は優れているとは言い難いところでしたが使えないこともない感じでした。

最後に、今回動作を確認した際の配線の高解像度画像を参考用に張っておきます:

AE-Edison-BASE64の配線確認用写真(小)
↑この画像をクリックすると高解像度画像に切り替わります。

参考資料

関連記事


  • 日本ではスイッチサイエンスが「2ピンJST-PHコネクタ・ピッチ変換基板(スイッチ付き)」という名称で取り扱っています。
  • なるべく高品質で短いものを推奨します。
  • 今回使用したパソコンの主な仕様は以下の通りです:
    M/B : ASUS P6T
    CPU : Intel Core i7 930
    MEM : DDR3 SDRAM 1600 24GB(4GB×6)
    GPU : NVIDIA GeForce GTX 580
    HDD : Hitachi HDS722020ALA330 / 2TB 7200rpm
  • 試しということで、電圧調整用にダイオードを挟んでつないでみたのですが、電流が足りないようで起動に失敗しました。
  • 私が購入したAE-Edison-BASE64付属のピン・ソケットが42ピン×2だったため、10ピン分をカッター・ナイフで切り離してからはんだ付けしました。
  • AE-USB-MICRO-B-D付属のピン・ヘッダーは7ピン×2でした。このため1つを5ピン+1ピン×2にニッパーで切り離し、それぞれはんだ付けしました(もう片方の7ピン1つは使用しませんでした)。
  • スイッチ付きの基板側は4ピン、付属のピン・ヘッダーは6ピンなので2ピンを切り離してからはんだ付けします。私は切り離しはニッパーで行いました。
  • 過去のメモ“「Intel Edison Board for Arduino」でLEDの発光を制御”でインストール方法を説明しています。必要に応じてご参照ください。
  • SWとシルク印刷のあるところのピンです。
  • AとBのどちらを5V側にするかは任意です。
  • TXTXRXRX同士を接続するのではなく、それぞれTXRXという関係で異種接続するので注意してください。
  • 起動が完了すると

    Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2

    edison login:

    とログインを促す出力が行われます。

  • 正しく認識されない場合は配線ミスあるいはUSBの仕様外の信号となってしまっていることが考えられます。配線を見直したり、十分にUSBの経路が短くなっているかを確認します。それでもうまくいかなければ再起動するなどしてみると解決することもあります。
  • 過去のメモ“「Intel Edison Board for Arduino」でLEDの発光を制御”で、Arduino IDEの設定方法およびスケッチの転送方法を説明しています。必要に応じて参照ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です