Mathematica で Arduino を利用する (2012 年度 ) はじめに情報工学部では全学科で Arduino を導入して フィジカルコンピューティングに関連した教育を行ってきている 電子情報工学科ではいくつかの実験演習を通じて Arduino を取り入れてきている ここでは 電子情報

Similar documents
arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

Studuino ライブラリ環境設定Windows編

訂正 _ 第 1 回 1 Arduino Arduino を用意する 入力 アナログ Analog 入出力 任意の電圧を扱える 電源系 外部入力 7 12V デジタル digital 入出力 リセットボタン Low High いわゆる 01 が入出力される 通常は Low 0V GND High 5

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

Studuinoライブラリ環境設定Mac編

Arduino UNO IS Report No. Report Medical Information System Laboratory

MS5145 USB シリアル エミュレーション モードの設定

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

TWE-Lite R 取扱説明書

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

TOPPERS活用アイデア・アプリケーション開発

Microsoft Word - USB60F_Raspi_ doc

Taro-テキスト.jtd

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)

TestDesign for Web

ReTRY HUB

C#の基本

Microsoft Word - CygwinでPython.docx

ダウンロード先一覧 USB シリアル変換ケーブル / BSUSRC06 トライバー 製品にドライバ CD が付属していますが 下記のサイトからもダウンロードすることが可能です <Web> 64b

MS104-SH2 USBドライバ(仮想COMポートドライバ)の不具合について

LR8400/8401/8402ロガーの無線LAN計測 設定方法

講習会 Arduino

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01)

ワイヤレスバーコードリーダー CM-520W1 設定資料 Bluetooth SPPの設定

Microsoft Word - MacOSXインストールマニュアル( ).doc

Windows2000/XPインストール手順

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

おことわり 本書の内容の一部又は全部を無断転載することは禁止されています 本機の外観及び仕様は改良のため 将来予告無しに変更することがあります 本書の内容について万一不審な点や誤りなどのお気付きの点がありましたらご連絡ください 本書に記載されている会社名 商品名などは 一般に各社の商標又は登録商標で

スライド 1

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

メモリハイロガーLR8431、熱流ロガーLR8432を無線LANで利用する方法

2. WiFi 接続 1.1 GuruPlug Server 初期設定情報 記載の SSID が設定されているアクセスポイントが GuruPlug Server です PC を操作して GuruPlug Server のアクセスポイントに接続して WiFi 接続してください 接続に成功すると PC

プリンタドライバWindows7 操作手順

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

プロッタドライバインストールガイド <OPS628>-Windows 2000/XP- プロッタドライバインストールガイド <OPS628> Windows 2000/XP 環境 本説明書は グラフテックのホームページよりドライバをダウンロードして コンピュータにインストール する手順を説明したもの

CommCheckerManual_Ver.1.0_.doc

目次 1. 概要 動作環境

出荷一覧表をもう一度印刷したい

第 7.0 版 利用履歴管理 ETCPRO5 セットアップマニュアル (Ver5.002) カードリーダモデル変更 ( 表示付き 表示なし ) に伴い 改訂 Windows10 対応に伴い 改訂 参考ホームページサイト :

GL100 Main Firmware Update Procedure (rev 3) GL100 シリーズのメインファームウェアアップデート方法 1. メインファームウェアのアップデートの注意事項 本説明書は GL100-N または GL100-WL のメインファームウェアアップデート方法につい

目次 目次 ターミナルアダプタの接続イメージ INS 回線とターミナルアダプタの接続 ターミナルアダプタの設定とパソコン接続 ドライバのインストール ユーティリティインストール CD-ROM をお持ちでない場合... 4

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

Studuinoソフトウェアのインストール

プロテクト_セットアップマニュアル

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

ケース 2: が出ない [DDJ-RB ( ドライバーソフトウェアのインストールが必要なモデル )] rekordbox の [ 環境設定 ] の [ オーディオ ] 設定を確認してください PC に接続している DDJ-RB のドライバーソフトウェア (DDJ-RB ASIO) を選択し 出 チャ

Microsoft Word - SU1203教本(Sens)原稿.docx

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

User's Manual

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

Microsoft PowerPoint - RM-PDU_IP設定方法.ppt

もくじ 1. 全国統一小学生テストのシステムをご利用になる前に PC の初期設定について P3 2. よくあるご質問 (1) 生徒の申し込みについて (2) 実施要項について (3) 受験票 QRコードの印刷について (4) スキャン送信について (5) 実施後報告について P4 P5 P6 P7

Taro-テキスト.jtd

4 接続インターフェイスに関係なく LPT1 ローカルポート を選択し Install をクリックします 5 下記メッセージが表示されたら インストールは完了です OK をクリックします 続いて 接続インターフェイス毎に プリンタドライバの設定を説明します コントロールパネルより ハードウェアとサウ

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

必要システム構成 Windows USB 搭載 ( ) で 1GHz 以上のプロセッサを搭載したパーソナルコンピュータ ) Microsoft Windows 7(HomePremium Professional Ultimate) 日本語版 512MB 以上の RAM(1GB 以上を推

目次 プリンタドライバをインストールする (USB 接続の場合 )... 3 プリンタとコンピュータを USB で接続する ( 参考 ) プリンタドライバをインストールする前に USB で接続してしまった場合 プリンタドライバをインストールする (LAN 接続の場合 )...

プロッタドライバインストールガイド プロッタドライバインストールガイド <OPS628>-Windows 7- <OPS628> Windows 7 環境 本説明書は グラフテックのホームページよりドライバをダウンロードして コンピュータにインストールする手順を説明したものです 内容をご確認のうえ

第1章 ビジュアルプログラミング入門

2CH DC (PU-2709) DC DC Arduino 製作に必要な部品などを表にまとめてみましょう 用意するもの 型番など 必要数 メモ Arduino Arduino UNO R3 1 パルスを作るマイコンボード 28BYJ-48 1 ACアダプター DC5V 1 DCジャック

A&D社製データロガーを初めてお使いになる方へ

プリンタドライバインストールガイド <OPS645>-Windows Vista(32bit 版 )/ Windows 7(32bit 版 )/ Windows 8(32bit 版 )/ Windows 8.1(32bit 版 )- プリンタドライバインストールガイド <OPS645> Window

EPSON GT-S620/GT-F720 活用+サポートガイド

[参考資料] Bluetooth対応タブレットでインターネット(MSP1000)

WX01J 取扱説明書

バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE ***

電子13-06 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00設定方法.ppt

Microsoft Word - 実験4_FPGA実験2_2015


WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

◎phpapi.indd

QLabセットアップガイド for CL/QL/TFシリーズ

Taro-82ADAカ.jtd

目次 目次 ターミナルアダプタの接続イメージ INS 回線とターミナルアダプタの接続 ターミナルアダプタの設定とパソコン接続 ドライバのインストール ユーティリティインストール CD-ROM をお持ちでない場合... 4

株式会社日新テクニカ USB シリアル CAN 変換器 /8/22 ホームページ : メール

ICカードリーダー動作確認手順書

目次 USBドライバダウンロードの手順...2 USBドライバインストールの手順...3 インストール結果を確認する...19 USBドライバアンインストール / 再インストールの手順...21 USB ドライバダウンロードの手順 1. SHL21 のダウンロードページからダウンロードしてください

Transcription:

Mathematica で Arduino を利用する (2012 年度 ) はじめに情報工学部では全学科で Arduino を導入して フィジカルコンピューティングに関連した教育を行ってきている 電子情報工学科ではいくつかの実験演習を通じて Arduino を取り入れてきている ここでは 電子情報工学実験 I の Mathematica のテーマで Arduino を利用した実習をすることを考えた シリアルポートを利用することにより 相互にデータのやりとりが可能であるので アイディア次第でさまざまなことを実現できる ここではいくつかの例を通じて Mathematica で Arduino を利用する方法について述べる 準備 1 年後期の 計算機システム II で Arduino を利用したが 復習をすることにする 詳しくは 計算機システム II のホームページ を参照してほしい 1. Arduino を USB ケーブルで PC に接続し 必要なソフトがインストールされているか確認する 演習室では準備されているはずである もしインストールされていなければ スタッフに依頼をおこなう 参考までに以下はインストール関係の情報である Arduino のホームページで最新の情報を元に ソフトとドライバをインストールする ( ア ) ソフトは arduino-1.0.1-windows.zip をインストールする arduino.exe により次のような画面が立ち上がる ( イ ) さらにドライバは デバイスドライバ から ドライバーソフトウェアの更新 をして 先ほど展開したフォルダの中の drivers を指定してインストールをおこなう

LED を点滅させるスケッチ ( プログラム ) の例

COM3 であることがわかる デバイスドライバ 2. 試しに 計算機システム II のホームページ にある以下の例をコンパイルしアップロードして実行させてみよう 一秒おきに LED が点滅するはずである ここの例では COM ポートは COM3 であるが 実際にはそれぞれの PC により異なるので注意する int ledpin = 13; void setup() { pinmode(ledpin,output); void loop() { digitalwrite(ledpin,high); delay(1000); digitalwrite(ledpin,low); delay(1000);

Mathematica から Arduino を利用する 概要 Arduino ではシリアルポートを扱ういくつかの関数が用意されている また Mathematica では.NET( ドットネット ) を利用することにより シリアルポートに簡単にアクセスすることができる したがって これらを組み合わせて Mathematica から Arduino を利用することが可能となる 例題 1:Arduino の LED を Mathematica からオンオフする Arudino 側のプログラムは以下の通りである

/* Mathematica から Serial port を通じて 'A' が送られると LED を点灯して その他は LED を消灯する */ int inbyte = 0; int ledpin = 13; void setup() { pinmode(ledpin,output); Serial.begin(9600); void loop() { if (Serial.available() > 0) { inbyte = Serial.read(); // シリアルから一文字よみとる if(inbyte=='a'){ // A の時には LED を点灯する digitalwrite(ledpin,high); else{ digitalwrite(ledpin,low); ( マイコンボードに書き込む ) のボタンを押して このプラグラムをあらかじめコンパイルして Arduino にアップロードしておく このプログラムでは setup( ) で LED の点灯の準備をしておき またシリアルポートの通信速度を 9600 ビット毎秒に設定している また loop( ) では シリアルポートが有効になったときに 一文字を読み取り これが A であったときに LED を点灯し それ以外の文字であったときには消灯するようにしている Mathematica 側のプログラム

まず以下で.NET の初期化を行う Needs["NETLink`"] InstallNET[]; 次に必要があれば NETTypeInfo["System.IO.Ports.SerialPort"] を使って 情報を得るこ とができる

次に シリアルポートの初期化を行う ここでは下記のように行って COM3 を指定している PC によりこの番号は変わるので 確認してから変更して欲しい ser = NETNew["System.IO.Ports.SerialPort", "COM3",9600] ser@open[ ] ここで ser@open[ ] は ser[open[ ]] と同じである さらに ボタンを押すと シリアルポートを通じて A (ASCII コード 十進数で 65) を送るプログラムがある Button["LED On", ser@write[makenetobject[{65, 65, "System.Byte[]"], 0, 2]] Button["LED On", ser@write["a"]] ここでは どちらでも実現できている しかし 127 を超える数字を送りたいときには上の 方法を使う必要がある 最後に ser@close[ ] を使うことにより シリアルポートを開放する これを行わないと Arduino が別なプログラムを使って情報のやりとりができない 動作確認 1. USB ケーブルで PC と Arduino を接続する 2. Arduino にあらかじめプログラムをコンパイルしてアップロードしておく 3. Mathematica のプログラムを準備する 4. Mathematica のプログラムを実行し ボタンを押すと LED のオンオフができる トラブルシューティング 1. Arduino IDE において シリアルポート COM3 は ほかのアプリケーションが使用中です シリアルポートを使っている可能性のあるアプリケーションを終了してみて下さい というエラーが表示されるときには Mathematica で ser@close[ ] をしてシリアルポートを開放する 2. Mathematica で ser@open[ ] をしたとき ポート 'COM3' は存在しません という エラーが出るときには 次の方法を上から順に試してみて下さい Mathematica のカーネルを終了して再起動する 具体的には Mathematica のメニューの 評価 カーネルの終了 ローカ

ル で 終了する そのままプログラムで Shift+Enter により実行するとカーネルが再起動する Arduino を USB ケーブルから外して リセットする ログオフする PC の再起動を行う 3. 何故か 動かない Arduino と Math matica の双方のプログラムがきちんと協調して動く必要があります Mathematica で一行ずつプログラムを動かして シリアルポート経由でデータを送ったり 読んだりして Arduino のプログラムがきちんと動いているかどうかを確認すると 分かりやすいかも知れません 例題 2:Arduino のアナログ 1 の出力を Mathematica で読む Arduino のプログラムは以下の通りである このプログラムは参考文献で紹介されたものである establishcontact( ) で最初のコンタクトをおこなっている つまり Mathematica から文字が送られてくるまで 100 m 秒ごとに A を送り続けている 文字が送られると loop( ) になる loop( ) では シリアルポートが有効である間 アナログ1の出力値を 0 255 に変換して それをシリアルポートを通じて Mathematica 側に送っている

/* arduino_mathematica_example This code is adapted from http://arduino.cc/en/tutorial/serialcallresponse When started, the Arduino sends an ASCII A on the serial port until it receives a signal from the computer. It then reads Analog 1, sends a single byte on the serial port and waits for another signal from the computer. Test it with a potentiometer on A1. */ int sensor = 0; int inbyte = 0; void setup() { Serial.begin(9600); establishcontact(); void loop() { if (Serial.available() > 0) { inbyte = Serial.read(); // divide sensor value by 4 to return a single byte 0-255 sensor = analogread(a1)/4; delay(15); Serial.write(sensor); void establishcontact() { while (Serial.available() <= 0) { Serial.print('A'); delay(100);

Mathematica でのプログラム 最初の.NET とシリアルポートの初期化は例題 1 と同じなので説明を省略する Mathematica 側からは ser@write["b"] を使って 文字をおくり ser@readchar[] を使っ て データを読み出す この例では 79 という値を得ている Mathemaitca では Dynamic[ ] や Slider[ ] を使って リアルタイムにデータを取り込んでは 表示を変えることができる Slider[Dynamic[Refresh[ser@Write["B"]; ser@readchar[], UpdateInterval -> 0.1]], {0, 255]

実験終了時には ser@close[ ] を使って シリアルポートを閉じた方がよい 考えられる例 Mathematica は数式やデータ処理が得意であるので Arduino から得られたデータを処理して 分かりやすく表示することが考えられる また Mathematica では Dynami[ ] を利用して インタラクティブな操作ができるので これを利用して Arduino のインターフェース部分にすることが考えられる 実際にオシロスコープを Mathematica を利用して作っている例がある その他にも単純な例はいくらでもあるので アイディア次第でいろいろと実現することができるだろう まとめここでは Mathematica と Arduino を.NET を使って シリアルポートからデータのやりとりをすることにより Mathematica から Arduino を利用する方法について 例題を使って説明をした Arduino を使ったことがあるのであれば 割と簡単なのでぜひ試していただきたい 参考となるリンク先 [1] http://leo10.cse.kyutech.ac.jp/cs2/text/homepage.html 計算機システム II ホームページ ここを参照すると Aruduino の最初の使い方についてわかる [2] http://arduino.cc/en/guide/windows Arduino のホームページ ここから arduino-1.0.1-windows.zip をダウンロードして ソフトとドライバを整備することができる [3] http://arduino.cc/playground/interfacing/mathematica Arduino で Mathematica とリンクする方法のページ SerialIO という Wolfram が作った ライブラリについても触れられているが もっと簡単に.NET を利用してリンクする方法が書かれている この文書もここの情報を元に準備している [4] http://library.wolfram.com/infocenter/mathsource/5726/ Wolfram のサイトにある serial port を扱えるようにしたライブラリの紹介記事 このやり方も実現できることを確認したが 若干準備が大変なので.NET を使った方法について述べた [5] http://williamjturkel.net/2011/12/25/connecting-arduino-to-mathematica-on-mac-os-x-w ith-serialio/

Wolfram のライブラリを使って 実際に Arduino と交信する例を記述している ただし Mathematica は MacOSX 上である この文書では 例題 2 についてはここの例を引用している [6] http://www.youtube.com/watch?v=rexsots8bfi Mathematica と Arduino を使ってオシロスコープを実現している例が紹介されている