WDTでスリープからの復帰を制御し、タイムスタンプはTimer2で行った

Timer2ライブラリは1ミリ秒ごとに起きてるっぽい

こちらによると、Timer2ライブラリはカウントが1mミリ秒上がるごとに割り込みを行うらしい。 だからSleep機能と相性が悪いらしい。

WDT_delayを導入した

ラジオペンチ様の記事を参考に、WDT_delayを導入しました。 仕様上8秒ごとに起動してはSLEEPを、目的時間まで繰り返します。現状だとこれがベストっぽいです。

次のアクション

電力使用量、および時間カウントの精度をチェックしようと思っています。 その次は、ベタですがこの装置に土の湿度計と水やり機能、紫外線及び赤外線の照明機能をつけて、全自動で植物を育てる装置にでもしようかと思っています。

X-Plane について調べた

フライトシミュレーターのX-planeについて調べました。

なぜフライトシミュレーター?

  • いつでも操縦練習ができるから。
  • 飛行機に興味ある人に対して、すぐに操縦体験をしてもらえるから。
    • ただし、「操縦より飛びたい」という人が多そうなので、「操縦だけど飛べない」というフライトシミュレーターがどれくらいの人に刺さるかは謎。

なぜX-plane?

必要なものと予算

  • X-plane ソフトウェア本体
    • 英語版の Download 版で $59.99-
  • パソコン
  • 操縦桿、スロットル、ラダー
    • 操縦桿とスロットルは、Mad Catz MC-X52Zとか。 2016/6/12 時点で ¥19,180- と高い。
    • ラダーペダルは、CHProducts CHProPedalとか。 2016/6/12 時点で ¥19,600- と高い。
  • VR はそのうち対応。

次のアクション

  1. デモ版をパソコンに入れて動かしてみる
  2. ラダーと操縦桿をつけて動かしてみる
  3. 正式版を買ってさらなるプレイ
  4. パソコンの性能をアップグレードさせてさらなる快適プレイ
  5. VR に正式対応したら、OculusRiftを買って全視界プレイ

それぞれの買い物が高いので慎重にならねば。

カメラとタイマー 続き

Arduino内臓のタイマーで時刻管理することにした

カメラが割り込み入力用のピンを専有してしまい困っていたので、Arduino内臓のタイマーで時刻管理することにした。 Arduino内臓のタイマーだと大幅に時間がずれるかと思ったが、月間3分くらいで済むそう。

タイマーとスリープが同時に動かないことが判明

Timer2を動かしていると、 SLEEP_MODE_PWR_SAVE で眠らせたArduinoがすぐに起きてしまうことが判明。 他のモードだと、Timer2による割り込みメソッドでは起きなかった。

次の方策

  • Timer2でスリープから正常に復帰させる方法を詳しい人に相談する
  • WDTでスリープからの復帰を制御し、タイムスタンプはTimer2で行う (←現実的だけどクソめんどい)

スリープと割り込みについて

一定時間経過ごとにスリープから目覚めさせ、写真撮影するためにこのサイトこのサイトを調べていた。

スリープ、割り込みについては方法が理解できた。

if (i) attachInterrupt(digitalPinToInterrupt(2), wakeup, LOW); // D2 LOW → HIGH で割り込み

としたうえで、INPUT_PULLUPにしているピンにLOWをつないだら反応した。

困ったこと

カメラがpin2、pin3を専有するが、割り込みもこちらのピンしか機能しないっぽいので困った。

arduinoに時計を組み込む方法

毎日決まった時間にarduinoで撮影したいと思ったので、RTCを組み込むことにした。

買ったRTCは RX 8025-NB。説明書はこれ。参考サイトはこちら

書いてあるとおりに繋いだら動いた。

気になったこととしては、

アドレス指定と値指定の書き方が一緒っぽい

Wire.beginTransmission(RTC_ADRS);

の次の行の

Wire.write(0xE0);

で書き込むアドレスを指定していて、それ以降の

Wire.write(0x20);

では実際に書き込まれる値を指定していること。

日時の入力方法と他の入力方法が紛らわしい。

日時は、例えば55秒なら 0x55 と入力する一方、Control1などでは、入力したい値を16進数に直して入力する。 当然といえば当然だけど。。。

Alarmの時刻になるとlowになる

普段は3.3V。

追記します。

arduinoでJPEGカメラを動かす方法

行ったこと

Arduino UnoでJPEGカメラを使って撮った画像をmicroSDカードに保存しようとした。

参考にしたサイトはこちら

サイトの通りに結線してファイルをインストールし、動かす。

カメラが動かない

microSD上にファイルは作成されるので、microSDカードDIP化キットの結線と操作は問題なさそう。  ちなみに、今回使ったのはmicroSDHCカード16GB(SUPER*TALENT)。  ArduinoのSDカードライブラリではSD、SDHCは扱えるが、SDXCは扱えない模様。

一方、作られたファイルをMac上で見ても読み込まれない。 また、それぞれのファイルサイズはまちまち。 シリアルモニタを見ていると画像サイズであるところの PictureSize がたまに負の値になっている。

考えられる原因

カメラモジュール自体が破損している ←ただし、動作中にカメラモジュールを抜いたら、シリアルモニタの更新が止まったので、カメラモジュールが全く動作していないことはなさそう カメラモジュールを操作するコードに問題がある

←参考にしたサイトで使われているモジュールと、今回私が使ったモジュールは異なる。なので、この可能性は大きい。 ←別のサイトを参考に再び試す予定。

SDカードスロットをチェックした

SD card formatterでSDカードをフォーマットした。 そのあと、Card InfoでSDカードをチェックした所、SDカードに問題なくアクセスできた。

カメラをセットアップした

ここに従ってカメラをセットアップしたら動くようになった。 連続撮影にすると、初めに撮影した画像が複数枚保存されるようになった。保存後に cam.reset() を行ってカメラ内の画像を消去すると、毎回新しい画像が撮影できるようになった。

f:id:RyoSaitoOp3:20160507221559j:plain

画像は汚いので、もう少し調整が必要。

画質を向上させた

ピントを調整したら、画質はかなりましになった。

f:id:RyoSaitoOp3:20160508142905j:plain

いろいろいじったせいで、写真サイズの変更ができなくなった。

「動物化するポストモダン」感想。あと評論読めなかった僕がつまづいていたポイント

動物化するポストモダン東浩紀, 2001)読みました。

以下、ページ番号は文庫版に依ります。

感想

ポストモダンとは、僕の理解だと「みんなが共有できる価値観や目的がなくなってしまった時代」だと思っています。本書ではこれを「大きな物語の凋落」とか、「超越性の凋落」と呼んでいます。本書は、ポストモダン社会の特徴がよく現れている「オタク系」に焦点を絞って論じています。オタク系サブカルチャーは「大きな物語の凋落」を補填するために70年代以降は必要とされましたが、現代(この評論が書かれたのは2001年)では大きな物語の凋落を補填する必要などはオタクは感じていないと筆者は主張しています。キャラクターで萌えを楽しみ、萌え要素の一つであるメロドラマで感動したり泣いたりして欲求を満たす刹那的な生き方(本書ではこれを動物的と表現している)が、現在のオタク系の人々だと述べています。つまり、「大きな物語が凋落」したポストモダン社会において、人々は「動物化」すると述べています。「これが、(中略)『ポストモダンでは超越性の概念が凋落するとして、ではそこで人間はどうなってしまうのか』という疑問に対する、現時点での筆者の答えである。」(pp.140-141)

続きを読む