[フレーム]
Uploaded bytitoi2
KEY, PDF2,539 views

プロペラブForth発表osc愛媛

AndroidからPICマイコンのForthで動かすロボット制御

Embed presentation

Download to read offline
22 / 42
Androidと外部デバイスとの接続方法一覧 USBシリアル ADK MicroBridge Wi-Fi Bluetooth (FTDriver) すべてのバージョ どんなマイコンと ポイント Google公式! ンのAndroidと繋 高速無線! お手軽P2P無線! も繋がる! がる! 有線/無線 有線 有線 有線 無線 無線 給電 ⃝ ☓ ⃝ ☓ ☓ スマホ→デバイス 115200bps 転送レート (bitbang mode ? ? 54Mbps 19200bps 200Mbps) 消費電力 小 中 中 大 大 マイコン+ マイコン+ Arduino+USBホ Arduino+USBホ マイコン+ デバイス Bluetooth FTDIモジュール ストシールド ストシールド Wi-Fiモジュール モジュール デバイス一式価格 3,500円∼ 5,000円∼ 5,000円∼ 7,000円∼ 6,000円∼ 設計難易度 低 低 高 高 中 Android 3.1以上 2.3.4以上 すべて すべて すべて 対応バージョン USBシリアルがAndroid-マイコン接続の選択肢として十分アリ
ANDROIDからPICマイコンの FORTHで動かすロボット制御 Presented by プロペラブ in OSC愛媛 2012年03月24日
本日の内容 プロペラブメンバー作成によるロボットタ ンク「たーとるくん1号」について,紹介し ます。
プロペラブとは PARALLAX社製マルチコアCPU 『Propeller』を愛でる会。 それが、プロペラブ。 ⇛展示を行っておりますので、プロペラブ ブースにてお気軽にお声がけください。
クイックスタートボード
本日の講師自己紹介 ちいといつ すーあん 石井康寛 ⇛メキシコ出張
自己紹介 名前:ちいといつ twitter : titoi2 所属:プロペラブ 自己紹介: プログラマー、最近はAndroid屋さん。 Androidアプリの代表作は『A・文庫』
A・文庫とは 著作権切れの文学作品を中心に、 1万点以上の作品を公開するイ ターネット図書館「青空文庫」の 作品をAndroidで読むための ビューアアプリです。
『坊っちゃん』 も読めます ぞなもし
自己紹介3 名前:すーあん twitter : @ksksue 所属:プロペラブ 自己紹介: Android、マイコン、FPGAなどをたしなんでお ります。組込み屋です。 Android USB Serial Monitor Liteをgithubと マーケットで公開しています
ANDROID USB SERIAL MONITOR LITE • Github / Google Playにて公開(無料) • カンタンなUSBシリアルモニタ • Android 3.2以上対応 • FTDIチップに対応 • ボーレートの設定 • 文字、10進数、16進数表示に対応 • 結果をメールで送信
FTDRIVER • GITHUBにて公開 • FTDIチップドライバ • ライブラリプロジェクト(単体では動作しません) • ARDUINOライクなインタフェース
たーとるくん1号 ベース:タミヤ模型のシャベルドーザー 制御基板:PIC ADK MiniBoad『IC-02』
たーとるくん1号 PIC ADK Miniboad 『IC-02』
基本ハード構成 たーとるくん1号 USB PIC ADK Miniboad USB Host PIC24F FTDI cv モータードライバ Android 端末 左モーター 右モーター
PIC ADK Miniboardについて 日本Androidの会・神戸支部でADKや Microbridgeを楽しむために2011年7 月に配布したオリジナル基板 Eagleで設計し、Fusion PCBで基板制 作実施しました。
PIC ADK Miniboardの特徴 ・PIC24FJ64GB002搭載・USB Host機器が容易に作 成できる(ADKやMicrobridge等でAndroid連携機器容 易に制作に使用できます) ・2ch DCモータドライバTB6552搭載、ラジコンカー 等の制作に最適 ・3ch RCサーボモータコネクタ搭載 ・FTDI FT232RL搭載。FTDriverと連係可 ・PICKit直結可能なコネクタ搭載 ・安価(実費2000円で頒布中)
ソフト構成 PIC ADK Miniboad側 ・PIC24Fで動作するForth『A Forth』 Android側 ・USB Host APIを用いたシリアルドライバ 『FTDriver』
FTDriver Androidとマイコンをつなげよう ✦ FTDriver ✦ USB-シリアル変換チップの Android用ドライバ ✦ 言語:Java ✦ Githubで公開中 https://github.com/ksksue 秋月 FTDI USBシリアル変換モジュール
使ってもらった例 ガイガーカウンタとAndroidタブレット 海外:ヘリコプター用コントローラを XBee経由でつなげてみたよ! Galaxy Nexusと繋げたよ! (@yakagawa さん) これからヘリゲームつくるよ!
FTDriver設計にいたるまで ✦ Android 3.1からUSBプログラミングができる ようになったよ! ✦ みんなが持ってるマイコンとAndroidが繋がると 面白いんじゃない? ✦ マイコンと言えばUSBシリアル!でもUSBシリ アルドライバがないじゃないか・・・ ✦ よしつくろう
他の接続方法との違いは? ✦ でもちょっとまてよ。。。 USBシリアルじゃなくてもAndroidとマイコンと繋げる方 法はあるよね? ✦ ADK ✦ Microbridge ✦ Wi-Fi ✦ Bluetooth ✦ これらとどうちがうの?
Androidと外部デバイスとの接続方法一覧 USBシリアル ADK MicroBridge Wi-Fi Bluetooth (FTDriver) すべてのバージョ どんなマイコンと ポイント Google公式! ンのAndroidと繋 高速無線! お手軽P2P無線! も繋がる! がる! 有線/無線 有線 有線 有線 無線 無線 給電 ⃝ ☓ ⃝ ☓ ☓ スマホ→デバイス 115200bps 転送レート (bitbang mode ? ? 54Mbps 19200bps 200Mbps) 消費電力 小 中 中 大 大 マイコン+ マイコン+ Arduino+USBホ Arduino+USBホ マイコン+ デバイス Bluetooth FTDIモジュール ストシールド ストシールド Wi-Fiモジュール モジュール デバイス一式価格 3,500円∼ 5,000円∼ 5,000円∼ 7,000円∼ 6,000円∼ 設計難易度 低 低 高 高 中 Android 3.1以上 2.3.4以上 すべて すべて すべて 対応バージョン USBシリアルがAndroid-マイコン接続の選択肢として十分アリ
FTDriverを使った Android Android-マイコン構成例 while(true) { ユーザプログラム ... len = mSerial.read(rbuf,0); ... } FTDriver シリアル通信をポーリング USB Host API begin(int baudrate); read(byte[] buf, int channel); (Android Frameworks) write(byte[] buf, int length, int channel); end(); Arduino ライクなシンプルなインタフェース マイコンボード USB通信 FTDI チップ シリアル通信 マイコン マイコンボードとAndroidをUSBで接続
FTDriverを使った シリアル通信プログラミング (readするだけのカンタンな例) 1.インスタンス生成 mSerial = new FTDriver((UsbManager)getSystemService(Context.USB_SE RVICE)); 2.デバイスオープンとボーレート設定 mSerial.begin(9600) 3.リードポーリング(スレッド) byte[] rbuf = new byte[4096]; ... while(true) { ... len = mSerial.read(rbuf); ... } 4.デバイスクローズ mSerial.end();
FTDriver内の処理概要 (アプリ開発者は手をつけなくておk) 1.初期化:USBホストのエンドポイントを オープンする mEndpointIN = intf.getEndpoint(0); mEndpointOUT = intf.getEndpoint(1); intf : USB Interface インスタンス 2.オープンしたエンドポイントを叩く int length = mDeviceConnection.bulkTransfer(mEndpointIN, mReadbuf, mReadbuf.length,0); // RX int length = mDeviceConnection.bulkTransfer(mEndpointOUT, write_buf, write_size, 0); // TX USBバルク転送でエンドポイントINとエンドポイントOUTを叩く
最後に githubからPull Request大歓迎 ✦ これまでの開発協力者 https://github.com/ksksue ✦ @titoi2 ✦ @yishii ✦ @yakagawa ✦ @darkukll ✦ @zaki50 ✦ 他 FTDriverをBitbangモードへ対応 ソースコード提供(@yishii) 使ってみたよ or 開発してみたよ Twitter ID @ksksue などあれば気軽にメンションください
FORTH言語の紹介 たーとるくん1号の制御言語であ るForth言語について紹介しま す。
FORTHとは? ・1971年ごろ、アメリカのチャールズ・ ムーア氏が天体望遠鏡の制御用言語として完 成させた。 ・1980年代くらいまでは、マイコンを中 心に結構使われていた。今でも制御系の世界 では現役で使われている。
FORTHの特徴 ・対話的実行 コンソールから命令を打ち込むことにより即 時実行可能。 Forthでは命令やコマンドのことを『ワー ド』と呼ぶ。 ・スタック指向 演算はすべてスタックで行う。
スタック指向の利点 ・括弧を使わず複雑な演算が可能 技術者にはHP社の逆ポーランド電卓を愛用 していた人も多い。 ・関数のパラメータや戻り値をフレキシブル かつシームレスな受け渡しが可能
FORTHによる演算 1+4 を計算するには > 1 4 + . 改行 と打ち込みます。 スタック志向言語では必然的に、 逆ポーランド記法になります。
結果は >14+. 5 OK と表示されます。
解説 数値:スタックに積む +:二つの数値を加算し てスタックに積む >14+. .:数値を表示 5 OK スタック 1 4 5 Empty 1
JAVAとの関係 Javaの実行環境JVMはForthを参考に作ら れたと言われています。 AndroidのDalvikVMはレジスタ型 JavaのJVMはスタック型 だって、Forthだもん
FORTHの特徴・2 ・自己増殖型 ワード定義を積み重ねることにより、プログ ラミングを行う。 ・すべてがワード 数値や文字列などのデータ以外は全てがワー ド。
ワード定義 ForthにおけるワードとはCの関数やJavaの メソッドのようなものです。 ワードを定義するには、 : を用いる為、 ワード定義の事を、コロン定義とも言いま す。
ワード定義 コロン定義の書式 : ワード名 処理 ; Forth 内の辞書にワード名のエントリが作 られ、処理部分がコンパイルされた実行コー ドへのリンクが作成されます。 インタプリタでありながらコンパイラを内蔵
ワード定義 例えば、スタック上の数値に1を足すワード inc を定義してみます。 : inc 1 + ; 実行すると、以下のような結果になります。 10 inc . 11 OK
全てがワード Forthでは、数値などのデータ以外は全て ワードです。 つまり、:などのコンパイラや、IF、LOOP といった制御構造、演算子、変数宣言、定数 宣言など全てがワードです。 それらは新たなワードとしてユーザが定義す ることが可能です。
なぜFORTHなのか たーとるくん1号にForth言語を 搭載した理由。 その方が格好良いから
マイコンとFORTH ・処理系が小さいため、マイコンに最適 ミニマム構成では2Kバイト程度のメモリー で実行可能。 PIC ADK Miniboardに使われている PIC24Fは32KバイトのROMと8Kバイト のRAMを搭載。
マイコンとFORTH ・外部からプログラミング フレキシブルな運用が可能。 ・コンパクトで強力な言語 小さなマイコンで自律行動への可 能性。

More Related Content

イチからはじめるUSB Host API
PPTX
イチからはじめるUSB Host API
Androidとfpgaを高速fifo通信させちゃう
PPTX
Androidとfpgaを高速fifo通信させちゃう
150130 edison-ug
PDF
150130 edison-ug
micro:bit入門
PDF
micro:bit入門
【C95】Raspberry pi zero wを使ったドライブレコーダーの説明資料
PDF
【C95】Raspberry pi zero wを使ったドライブレコーダーの説明資料
Nefry btの簡単レビュー
PPTX
Nefry btの簡単レビュー
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
PDF
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
まずは mini Beakout Kit で使ってみる
PDF
まずは mini Beakout Kit で使ってみる
イチからはじめるUSB Host API
イチからはじめるUSB Host API
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
150130 edison-ug
150130 edison-ug
micro:bit入門
micro:bit入門
【C95】Raspberry pi zero wを使ったドライブレコーダーの説明資料
【C95】Raspberry pi zero wを使ったドライブレコーダーの説明資料
Nefry btの簡単レビュー
Nefry btの簡単レビュー
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
C99 因果堂typeiotラズベリーパイドライブレコーダー_監視カメラキット
まずは mini Beakout Kit で使ってみる
まずは mini Beakout Kit で使ってみる

What's hot

Raspberry pi + piface=home electronics-security
PDF
Raspberry pi + piface=home electronics-security
Intel edison edison向け基板のご紹介
PPTX
Intel edison edison向け基板のご紹介
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
KEY
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
NFC元年 〜AndroidからみたNFCについて〜
PPTX
NFC元年 〜AndroidからみたNFCについて〜
MRAAでIntel Edisonを遊ぼう
PDF
MRAAでIntel Edisonを遊ぼう
Androidロボットサミットin名古屋
KEY
Androidロボットサミットin名古屋
201104016 osc2011 kobe
PPT
201104016 osc2011 kobe
Arduino tank meets bluetooth
PPTX
Arduino tank meets bluetooth
第2回IoT勉強会 in 岡山 | 2部 IoTデバイスを触ってみよう!
PDF
第2回IoT勉強会 in 岡山 | 2部 IoTデバイスを触ってみよう!
IoTLT 大阪 Vol.6
PDF
IoTLT 大阪 Vol.6
NFC キャンドル
PPTX
NFC キャンドル
Lagopus on small arm board
PDF
Lagopus on small arm board
Ustream配信支援・代行サービス - Puble.infoサービス案内
PPT
Ustream配信支援・代行サービス - Puble.infoサービス案内
Edison色々試してみた
PDF
Edison色々試してみた
Raspberry pi + piface=home electronics-security
Raspberry pi + piface=home electronics-security
Intel edison edison向け基板のご紹介
Intel edison edison向け基板のご紹介
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
NFC元年 〜AndroidからみたNFCについて〜
NFC元年 〜AndroidからみたNFCについて〜
MRAAでIntel Edisonを遊ぼう
MRAAでIntel Edisonを遊ぼう
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
201104016 osc2011 kobe
201104016 osc2011 kobe
Arduino tank meets bluetooth
Arduino tank meets bluetooth
第2回IoT勉強会 in 岡山 | 2部 IoTデバイスを触ってみよう!
第2回IoT勉強会 in 岡山 | 2部 IoTデバイスを触ってみよう!
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
NFC キャンドル
NFC キャンドル
Lagopus on small arm board
Lagopus on small arm board
Ustream配信支援・代行サービス - Puble.infoサービス案内
Ustream配信支援・代行サービス - Puble.infoサービス案内
Edison色々試してみた
Edison色々試してみた

Similar to プロペラブForth発表osc愛媛

20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
PDF
20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
組込みAndroid入門実習
PPTX
組込みAndroid入門実習
第4回名古屋Android勉強会資料
PDF
第4回名古屋Android勉強会資料
Bluetooth通信の 仕組みと活用法紹介
PDF
Bluetooth通信の 仕組みと活用法紹介
Google I/O 2011 HowToADK
PDF
Google I/O 2011 HowToADK
Androidロボットサミットin京都
KEY
Androidロボットサミットin京都
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
PDF
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
イチからはじめるADK北海道支部勉強会発表資料
PPTX
イチからはじめるADK北海道支部勉強会発表資料
Androidロボットサミットin愛媛
KEY
Androidロボットサミットin愛媛
Android端末と組み込み機器が連携する Android Make Days
PDF
Android端末と組み込み機器が連携する Android Make Days
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
PDF
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
PDF
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
KEY
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
Adk2012
PDF
12.06.16 日本橋勉強会資料 公開用
PDF
12.06.16 日本橋勉強会資料 公開用
ADKでロボット with NFC
ODP
ADKでロボット with NFC
KOGEI & KAIT Funnel WS
PDF
KOGEI & KAIT Funnel WS
Arduino用3gシールド今後の開発・製造・普及に向けて
PDF
Arduino用3gシールド今後の開発・製造・普及に向けて
Adk互換モジュールのbt対応改造
PDF
Adk互換モジュールのbt対応改造
ふぃじかるこんぴゅ〜てぃんぐしてみた
ODP
ふぃじかるこんぴゅ〜てぃんぐしてみた
20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
組込みAndroid入門実習
組込みAndroid入門実習
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
Bluetooth通信の 仕組みと活用法紹介
Bluetooth通信の 仕組みと活用法紹介
Google I/O 2011 HowToADK
Google I/O 2011 HowToADK
Androidロボットサミットin京都
Androidロボットサミットin京都
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料
Androidロボットサミットin愛媛
Androidロボットサミットin愛媛
Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
Android-controlled robot,Original PCB to work as a bridge between Android-pho...
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
Adk2012
12.06.16 日本橋勉強会資料 公開用
12.06.16 日本橋勉強会資料 公開用
ADKでロボット with NFC
ADKでロボット with NFC
KOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WS
Arduino用3gシールド今後の開発・製造・普及に向けて
Arduino用3gシールド今後の開発・製造・普及に向けて
Adk互換モジュールのbt対応改造
Adk互換モジュールのbt対応改造
ふぃじかるこんぴゅ〜てぃんぐしてみた
ふぃじかるこんぴゅ〜てぃんぐしてみた

プロペラブForth発表osc愛媛

AltStyle によって変換されたページ (->オリジナル) /