2015年9月3日木曜日

Arduino digitalWriteをまとめて設定

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
と、個別に書くのが面倒または同時に実行したい時は以下のように書く。
PORTD = B00011100;

Arduino pinModeをまとめて設定

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
と、個別に書くのが面倒または同時に実行したい時は以下のように書く。
DDRD = DDRD | B00011100;
ピン0・ピン1は通信に使用されるので変更したくないので「|」(OR)を使用している。
「|」(OR)を使用すれば1にした所だけ変更されるからだ。
ピンの番号は右から数える。※0から
  • DDRD:ピン0〜7
  • DDRB:ピン8〜13
ピン9をOUTPUTにする場合はこのようになる。
「|」(OR)を使用してもいいが不要なので取った。
DDRB = B00000010;

2015年9月1日火曜日

Arduino シリアルモニタ文字化け2

Zigbee入出力データサンプル受信通知のAPIフォーマットからデジタルサンプルとアナログサンプルを取得時
デジタルサンプルのHighとLowともに0x0の時、文字化けが発生した。

Arduino(A)のIXOとArduino(B)のIXOが繋がっていたのが原因だったらしく
外したら問題なく表示された。

Arduino シリアルモニタ文字化け

setup()内に書いた転送レートとシリアルモニタ右下の転送レートを同じにしないと文字化けがおきます。


2015年8月29日土曜日

Google スプレッドシートで別ファイルを参照

別ファイルを参照するには
IMPORTRANGE(spreadsheet_key, range_string)
を使用する。

記述例
ここでは第一引数で別ファイルのスプレッドシートキー(URLのkeyパラメータの値の事)を指定し 第二引数でシートと範囲を指定。
ImportRange("xxxxxxxxxxxx",
"Sheet 1!B2:B1163")
さらにCOUNTIF(range, criterion)と組み合わせた場合は以下のようになる
COUNTIF(ImportRange("xxxxxxxxxxxx",
"Sheet 1!B2:B1163"),A2)

2015年8月24日月曜日

processing gnu/io/SerialPortEventListener エラー

書籍「XBeeで作るワイヤレスセンサーネットワーク」
Processingによるシンプルなセンサーネットワークの表示コード
が動かない

この部分で
XBee xbee = new XBee();
以下のエラーが出てしまう。
 NoClassDefFoundError:gnu/io/SerialPortEventListener 

Rob Faludiを確認すると以下のように書いてありました。
You need to use Processing v.1.5.1 as later versions do not properly support that XBee Java library.

Processing バージョン1.5.1じゃなきゃ動かないんだって。

Mac(Parallels Desktop/Windows8.1)でPC TV with nasne

体験版をインストールし動画を再生しようとしたら以下のエラーが出た。

再生できません。お使いのコンピューター環境では、ハードウェアアクセラレーターによる再生を利用できません。
[アプリの設定]-[番組の再生]より、ハードウェアアクセラレーターによる再生をオフにしてください。

[アプリの設定]-[番組の再生]のDXVA設定でチェックを外す。
しかし、またエラーが出たのでアプリを終了させる。
アプリを再起動させたらなんとか動いたー!
Windows8.1メモリ512MB設定でもなんとか動くし、「PC TV with nasne」3,000円(税別)だし買っちゃおうかな。