Hackable Portについて

Hackable ICSPポートを始めよう

UnlimitedHandのICSPポートでLEDを光らせる

プログラム記入

UnlimitedHand リモートコントローラ

リモートレシーバ

Hackable portとは?


Hackable portはUnlimitedHandを繋げるためのポートです。

UnlimitedHandには、全体で2つのHackable portがあります。
ひとつはUSB microBインターフェースポートなので、
もうひとつの、今まで公開されていなかったICSPポートを紹介します。


ICSPポートで何ができるか?
おもに以下の3つの用途があります。
・SPI通信 (外部ハードウェアやデバイスとの接続)
・入出力ピンの拡張
・ブートローディング


注意: ICSPポートを繋げるとデバイスが損傷する可能性がありますので、自己責任で行ってください。

Hackable ICSPポートを始めよう

ICSPポートとUnlimitedHandを繋ぐ

注意: ICSPポートを繋げるとデバイスが損傷する可能性がありますので、自己責任で行ってください。
1-1. ICSPポートの位置
シリコンパッドと本体を固定しているファスナーを外し、本体を裏返しにします。



1-2. ピンソケットが見えている小さな長方形の開口部がHackable ICSPポートです。

各ピンの配置

UnlimitedHandのICSPポートでLEDを光らせる





点滅するLED
このチュートリアルでは、UnlimitedHandでLEDを点滅させます。


注意: ICSPポートを繋げるとデバイスが損傷する可能性がありますので、自己責任で行ってください。

STEP 1. 用意するもの

1x UnlimitedHand
1x USB micro B-Aケーブル (UnlimitedHandのパッケージに同梱されています)
1x ブレッドボード
1x LED
1x 抵抗器 (5V電源で300Ωから2KΩの範囲のもの)
2x ジャンパー線




STEP 2. ハードウェア接続

ジャンパー線で、デバイスのD11とGNDをブレッドボードと繋ぎます。

下の回路図を確認しながら、LEDと抵抗器を繋いでください。

     




STEP 3. プログラム記入

新しいArduino sketchを開き、下のサンプルスケッチを貼り付けて保存します。

サンプルスケッチ<UnlimitedHandBlink>
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
*/


// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 11 as an output.
pinMode(11, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(11, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(1000);
// wait for a second
digitalWrite(11, LOW);
// turn the LED off by making the voltage LOW
delay(1000);
// wait for a second
}

スケッチを保存します。


同梱されているUSB micro B-Aケーブルで、UnlimitedHandとパソコンを繋ぎます。
デバイスのパワーボタンを1回押します。


Arduino IDEでシリアルポートを設定します。
"Tools" -> "Port" (Macでは /dev/cu/-*, Windowsでは COM*)


Arduino IDEにスケッチをアップロードします。


スケッチが正常にアップロードされると、回路のLEDが点滅します。






UnlimitedHand リモートコントローラ



はじめに
1. 用意するもの
2. 回路図
3. LEDソケットの作成と接続
4. UnlimitedHandライブラリのインストール
5. プログラムの書き込み
6. 動作確認
7. さらに学習したい人は


はじめに



前回は, UnlimitedHandの拡張ポートを使って, LEDの点滅制御(Lチカ)を行いました。
今月号から, この拡張ポートを使った具体的な活用事例を紹介していきます。今回は, 赤外線LEDを使い, ジェスチャで操作するリモコンを製作します。


リモコンの原理


赤外線は肉眼では見ることができませんが, リモコンのスイッチを押すと赤外線LEDが高速で点滅します。
家電側にはこの点滅のパターンを受信する素子が使われており, 点滅のパターンに応じて電源や音量, チャンネルといった様々な機能を操作することができます。
点滅のパターンはNECフォーマット, 家製協フォーマット, SONYフォーマットなどがあり, 各社が製品毎に独自の規格を採用しています。


UnlimitedHandで実現するには


UnlimitedHandはArduino AtHeartの認証を得た「Arduino公式ハードウエア」であり, 本体裏面の拡張ポートからVCC, GND, RST, D11, D12, D13ピンを使うことができます。
Arduinoにはデジタル制御の基本関数としてdigitalWrite()関数とdelayMicroseconds()関数が用意されており,
これを使って赤外線LEDの点滅制御をすることで, Arduinoを使ったリモコンの製作が可能です。



1. 用意するもの

  • - UnlimitedHandとUSBケーブル
  • - 赤外線LED(TLN110(F))
  • - ピンヘッダ(2mm)
  • - 被覆導線
  • - 抵抗(47Ω)


2. 回路図

今回の回路図は下図のようになっています。



3. LEDソケットの作製と接続


回路図を実現するために, 半田ごてを用いて, 写真のようなLEDソケットを作製しましょう。

作製したLEDソケットをUnlimitedHandのGND, D11に接続し, 先端にLEDを接続します。LEDには向きがあるので, 注意しましょう。



4. UnlimitedHandライブラリのインストール

今回の製作記事に合わせて, UnlimitedHandの内部プログラムを更新する必要があります。
Arduino用のUnlimitedHandライブラリをダウンロードしてください。
ライブラリのインストール方法や使い方は、こちらに解説されています。



5. プログラムの書き込み


UnlimitedHandとパソコンを接続し、Arduino IDEを使ってプログラムを書き込みます。
「ファイル」→「スケッチの例」→「UH」の中にある, 「remoteControl」を開き, 書き込んでください。
プログラムには, SHARP製AQUOSの電源ON/OFFを行う点滅パターンがセットされています。



6. 動作確認


プログラムの書き込みが完了したら, 下記の手順で動作確認をしましょう。

  • 1. 赤外線LEDは肉眼で確認できないため, まずは赤色LEDをLEDソケットに装着します。
  • 2. UnlimitedHandを腕に装着し, 「手を握る」動作と「手を開く」動作を繰り返します。手を握った時に, 赤色LEDが点滅することを確認してください。
  • 3. 赤色LEDを赤外線LEDに交換し, 腕を家電に向けます。
  • 4. 手を握り, 家電がリモコン操作できれば完成です。




7. さらに学習したい人は

今回のプログラムには, 点滅パターンとしてSHARP製AQUOSの電源ON/OFFがセットされています。
お手持ちの家電に合わせて, パターンを変えてみてください。
また, 今回は一つのリモコン機能を一つのジェスチャに割り当てましたが, 複数のリモコン機能を複数のジェスチャに割り当てるといった応用にも挑戦してみてください。



リモートレシーバ




はじめに
1. 用意するもの
2. 回路図
3. ブレッドボードによる回路作製
4. UnlimitedHandライブラリのインストール
5. プログラムの書き込み
6. 動作確認
7. さらに学習したい人は


はじめに

前回は, UnlimitedHandの拡張ポートを使って, ジェスチャに応じてテレビを制御できる, ジェスチャリモコンを製作しました。
今回からはセンサを用いて, 外界の情報を読み取る方法を紹介していきます。
今月号では, リモコンの赤外線信号を読み取る方法を紹介します。

今回の方法を使えば, 先月号の製作記事と合わせて, 「学習ジェスチャリモコン」を製作することができます。


UnlimitedHandによる学習ジェスチャリモコン

いろいろなセンサ

センサとは, 外界の情報を読み取る素子の総称で, 温度センサ, 照度センサ, 湿度センサ, 加速度センサなど, 様々なセンサが使われています。
今回はテレビやエアコンといった家電のリモコン信号受信で使われる, 赤外線センサを使用します。
赤外線センサを用いれば, 肉眼で見ることができないリモコンの点滅パターンをセンシングすることができます。


家電に使われている赤外線センサ

赤外線受信モジュール

赤外線センサは, モジュール化されたものが電子部品として販売されています。
電子部品屋さんを探せば, 色々な赤外線センサモジュールを入手することができます。


色々な赤外線受信モジュール

UnlimitedHandで実現するには

UnlimitedHandはArduino AtHeartの認証を得た「Arduino公式ハードウエア」であり, 本体裏面の拡張ポートからVCC, GND, RST, D11, D12, D13ピンを使うことができます。


UnlimitedHandの拡張ポート Arduinoにはデジタル制御の基本関数としてdigitalWrite()関数とdelayMicroseconds()関数が用意されており,
これを使って赤外線LEDの点滅制御をすることで, Arduinoを使ったリモコン信号受信機の製作が可能です。


1. 用意するもの

  • - UnlimitedHandとUSBケーブル
  • - 赤外線受信モジュール(PL-IRM1261-C438)
  • - ピンヘッダ(2mm)
  • - ブレッドボード
  • - ジャンパケーブル


2. 回路図

今回の回路図は下図のようになっています。
モジュール化されているため, VCC, GNDとD12の3本を直接接続するだけで使用可能です。
(精密な回路を作る際は, ノイズが入らないよう, データシートを参考にRC回路を追加してください)



3. ブレッドボードによる回路作製


回路図を実現するために, ブレッドボードとジャンパケーブルを用いて, 下図のような回路を作製しましょう。



4. UnlimitedHandライブラリのインストール

今回の製作記事に合わせて, UnlimitedHandの内部プログラムを更新する必要があります。
ログイン後、Arduino用のUnlimitedHandライブラリをダウンロードしてください。
ライブラリのインストール方法や使い方は, こちらに解説されています。



5. プログラムの書き込み

UnlimitedHandとパソコンを接続し, Arduino IDEを使ってプログラムを書き込みます。
「ファイル」→「スケッチの例」→「UH」の中にある, 「remoteReceive」を開き, 書き込んでください。
プログラムには, 受信した赤外線の点滅パターンをシリアルモニタに表示する機能があります。
書き込みが終わったら,右端のアイコンをクリックして, シリアルモニタを起動しましょう。




6. 動作確認

プログラムの書き込みが完了したら, 下記の手順で動作確認をしましょう。

  • 1. シリアルモニタを起動します。
  • 2. パターンを読み取りたいリモコンを用意し, 赤外線受信モジュールに向けてボタンを押します。
    プログラムが認識するまで, 数秒間押し続けてください。

  • リモコン発光パターン
  • 3. シリアルモニタに文字列が表示されたら, 受信成功です。

  • 受信したリモコンの点滅パターン



7. さらに学習したい人は

4月号の記事と合わせて, 「remoteControl」に点滅パターンをプログラムすれば, お好みの家電を操作できます。
また, 今回は受信のみを紹介しましたが, 受信, 送信を両方行えるプログラムの作製も可能です。
UnlimitedHandの加速度ジャイロセンサを使って, 「腕を下げている時は受信」「腕を上げて, ジェスチャを行った時は送信」といった機能も実現できます。ぜひ挑戦してみてください。






Hackable portチュートリアル - 05 UnlimitedHandで弾性体を触ってみる

COMING SOON !!