2014年01月07日

[Tips] Arduinoで割り込みを使って高速なループをまわす。

Arduinoで割り込みを使って高速なループをまわしてみました。

下記のようなかんじ。


ループの速度はTCCR2BとOCR2Aで調整する。
TCCR2Bはプレスケーラの値で、クロックを何分割するかを決める。
参考:http://awawa.hariko.com/chira-ura/atmega168-chapter17-jp.html#table17-9
OCR2Aは比較レジスタ。1クロックで1インクリメントされるカウンタが、このレジスタに登録されている値と等しくなった時にISR(TIMER2_COMPA_vect)の中に記載されている処理が呼び出される。

例の場合、プリスケーラを1024に設定。Arduino Nanoの場合16000KHzで動いており、
0から1023までインクリメントされるとイベントが発生する。
16000kHz/1024=15.6kHz1。
カウンタは256カウントでオーバーフローし、割り込みが発生する。
256/15.6 = 16.4ms。
つまり、16.4ごとに関数が呼び出される。
プリスケーラや比較レジスタの値を小さくすることで、より頻度の高い関数呼び出しが可能になる。

posted by コパン at 00:01| Comment(0) | Make | このブログの読者になる | 更新情報をチェックする

2014年01月06日

OpenBCI (kickstarterの気になるプロジェクト)

(クラウドファンディングの気になるプロジェクトをメモしていきます。正確な情報は元ページでご確認ください)



OpenBCI: An Open Source Brain-Computer Interface For Makersは低コスト・プログラム可能でオープンソースなEEGプラットフォームであり、これにより誰もが脳波にアクセスできるようになります。彼らのビジョンは、オープンソースを通じてハードウェア・ソフトウェアを協調させ、脳科学を加速させることです。
現在、BCI(脳とコンピュータのインタフェース)は医療機関や研究室でしか使われていませんが、彼らはOpenBCIを通じてこれを日常の一部にしたいと考えています。



投資とリワード
$299:
 OpenBCIボードひとつ
$314:
 OpenBCIボードひとつと、10個の電極
$599:
 OpenBCIボードふたつと、Daisy chainキット及び18個の電極
出荷予定日:2014年4月

Why we need you
プロトタイプはすでに存在しており、脳機能を計測する機能・それをコンピュータに接続する機能をArduinoシールドという形で実装しました。次の段階として、ポータビリティを上げるためのBluetoothモジュールの追加とプログラム可能なマイコンのボードへの組み込み、SDカードスロットの追加を考えています。

Technology overview
EEGとは脳の微小電流を計測するための装置です。考えている時・寝ているときなどいつでも電流は検出可能です。EEGは3つのパートからなります。電流を計測するための電極、電流を増幅するためのアンプ、信号処理するためのコンピュータです。われわれのkickstarterプロジェクトの大きな目的の一つは低コストでアンプの量産を実現することです。

Texas Instrument’s ADS1299 ICをベースにOpenBCIは構成されています。このICは8ch, 低ノイズ, 24bit ADコンバータを持つ、EEG向けのチップです。バイアシングや柔軟なマルチプレクサも備えています。datasheet.を読むのが難しい電気工学のバックグラウンドがない人向けに、OpenBCIでは使いやすいライブラリを用意しています。on boardのマイクロコンピュータとして、8bit ATMega328か32bit PICを選ぶことができます。またBLEを使ったデータ転送をプログラムすることができます。さらに、このADS1299はdaisy chainが可能で、8chのOpenBCIボードを2つつないで16chのデバイスとして使用することができます。

電極はactiveとpassiveの2種類がありますが、OpenBCIは両方をサポートしています。電極を含めたリワードを選択した場合は、10個のpassive電極を提供します。

ソフトウエアとしては、すでに脳波を可視化するテンプレートプログラムを用意してあります。 Arduino,ChipKIT, Processing, Python, and openFramworksのサンプルコードがあります。さらに、BrainBay, OpenVibe,といったオープンソースEEG解析プログラムとも適合します。Githubにコードが上がっています。

What Makes OpenBCI Different
既存のBCIシステムは高価で、クローズドなソフトウェアで構成されています。一方OpenBCIはブラックボックスになっているアルゴリズムやハードウェア設計はありません。また、オープンソースコミュニティを通じて様々な人と協力することが可能です。

Risk and Challenges
すでに全機能は実装されており、残りは最終デザインを決めることと量産の前に試作生産を行うことだけです。
開発:
現在のプロトタイプはArduinoコンパチブルのシールドであり、Arduino UNO, DUE, Freescale FRDM board (mbed compiler), and ChipKit Uno32で動作確認されています。また、Processing, openFrameworks, Python, and MATLABでのソフトウェア実装が存在します。Daisy chainやBT接続のプロトタイプも存在します。
生産:
開発者の一人であるJoelは量産業者やサプライチェーンと強いつながりがあります。過去のプロジェクトでは台湾の工場と協業したことがあります。すべてのOpenBCIは出荷前にプログラムされ、テストされます。

posted by コパン at 08:00| Comment(0) | crowdfunding | このブログの読者になる | 更新情報をチェックする

2014年01月05日

2013年ふりかえり

あけましておめでとうございます。
2014年もよろしくお願いします。

2014年の抱負

去年はいくつかのハッカソンやMaker Faire Tokyo、Maker Faire Bay Areaなどに参加し、いくつかガジェットを作りました。ただ、作ったガジェットはあくまでプロトタイプレベルでした。2014年はよりプロダクトに近いレベルのガジェットを作っていきたいと思っています。
また、去年つくったスマポンフレームワークを拡充しつつ、スマポンをベースにしたシステムをつくっていきます。

2013年に作ったもの

ひつじコースター
ひらめきガジェットラボでチームで作ったプロダクトです。「はたらく・まなぶを楽しくするガジェット」として作成しました。ひつじさんの上にカップを乗せるとかわいく「めぇ〜」と鳴きます。また、Googleカレンダーなどの予定表と連携します。僕は主にAndroidとひつじを接続する部分、予定表連携部分をつくりました。





ONTAMA
こちらはエンガジェット主催のkonashiハッカソンで作ったガジェットです。遠く離れただれかとつながって、ぬくもりを共有することができます。こちらはアイデア出しからハードウェア回路、回路制御、プロダクトデザインを担当しました。
DSC_2123.jpgDSC_2115.jpg
DSC_2132.jpg


コミュニケーションガジェット「ONTAMA」を作成しました(1) @Engadget電子工作部 with konashi
コミュニケーションガジェット「ONTAMA」を作成しました(2) @Engadget電子工作部 with konashi



スマポン
Maker Faire Tokyo 2013に出展したフレームワークです。インタプリタのみをスマホにインストールすることで、ガジェットをスマホに接続するだけで自動的にプログラムがロードされ、アプリケーションが動作します。天気予報機能やゲーム機能、スマホのロック機能、心拍計、万歩計などさまざまなプロダクトに応用可能です。こちらはAndroidアプリ、Pythonアプリ、ハードウェア、デザインなど全般を担当しました。

スライド05.png

Maker Faire Tokyo 2013で、「触れるAndroidアプリケーション」スマポンを展示しました。



シリコンバレーレポート
Maker Faire BayAreaやTizen conferenceなどのイベントに参加できたとともに、ハッカースペースや大学など様々な場所に行き、様々な人と出会えました。
Maker Faire 2013に行って来ました
カリフォルニアの電気屋に行って来ました
カリフォルニアのMakerコミュニティに行って来ました
Tizen Conference 2013に参加して来ました




ポートフォリオ
今年もいろんなこと試します。


posted by コパン at 14:55| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。