<4D F736F F F696E74202D F4B87555F A838B B F5F91E63389F12E >

Similar documents
<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E >

PowerPoint プレゼンテーション

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

Taro-テキスト.jtd

Microsoft Word - SU1204教本(Driver)原稿.docx

GR-SAKURA-SAのサンプルソフト説明

Arduino UNO IS Report No. Report Medical Information System Laboratory

スライド 1

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


Arduino Processing and ) Fig1. Arduino Homepage : h;p://

講習会 Arduino

スライド 1

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

Taro-テキスト.jtd

Microsoft Word - SU1201MotorDriverSheildManual.doc

Copyright c 2009 by Masaki Yagi

DCモータの制御

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

Arduino の勉強会 平成 23 年 1 月 5 日於 : 鳥取大学

講習会 Arduino

スライド 1

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

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

Microsoft Word - SU1202教本(Disp)原稿.docx

Taro-82ADAカ.jtd

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

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

Arduinoで組込み制御


ETCB Manual

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

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

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

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

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

Arduinoで計る,測る,量る

UIOUSBCOM.DLLコマンドリファレンス

パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソ

NCB564個別00版

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

86Duino EduCake Analog I/O ピン機能応用編 1. Analog I/O 紹介 アナログ vs デジタル : 前篇では 86Duino EduCake の基本仕様と IDE の簡単な使い方やデジタル IO を説明しました この章では アナログ

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

Studuinoプログラミング環境

PowerPoint プレゼンテーション

PowerPoint Presentation

赤外線レーザー 360 距離センサ XV-11 LIDAR Sensor 取り扱い説明書 もくじ お使いになるまえに 各部のなまえと扱い方 2 使い方 (Processing GUI で使う ) 必要なソフトのインストール 3 接続方法 3 GUI の操作方法 4 使い方 ( ロボットに組み込む )

情報システム設計論II ユーザインタフェース(1)

HDLトレーナーサンプルプログラム説明書

論文番号 分 2-2 平成 24 年度全国情報技術教育研究会第 41 回全国大会 ( 新潟大会 ) Xbee を活用した無線通信の研究 期日平成 24 年 8 月 9 日 ( 木 )~10 日 ( 金 ) 場所長岡市シティホールプラザ アオーレ長岡 香川県立三豊工業高等学校 電子科 本行

Microsoft PowerPoint pptx

デジタル表現論・第4回

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

PowerPoint Presentation

情報システム設計論II ユーザインタフェース(1)

Microsoft Word - no103.docx

電気的特性 (Ta=25 C) 項目 記号 条件 Min. Typ. Max. 単位 読み出し周波数 * 3 fop khz ラインレート * Hz 変換ゲイン Gc ゲイン =2-5 - e-/adu トリガ出力電圧 Highレベル Vdd V -

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

情報システム設計論II ユーザインタフェース(1)

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

iCLR

Microsoft Word - DRSP-Serial Operation Manual_TETRA-DS IV__V1.2_japan.doc

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

目次 1. 概要 動作環境

Microsoft Word - USB60F_Raspi_ doc

ポインタ変数

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

GR-SAKURA-SAのサンプルソフト説明

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

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

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

スライド 1

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

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

NJU72501 チャージポンプ内蔵 圧電用スイッチングドライバ 概要 NJU72501はチャージポンプ回路を内蔵し 最大で3V 入力から 18Vppで圧電サウンダを駆動することができます このチャージポンプ回路には1 倍 2 倍 3 倍昇圧切り替え機能を備えており 圧電サウンダの音量を変更すること

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

Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx

Arduino をはじめよう オープンソースハードウェア入門 ~ Arduino( アルドゥイーノ ) 始めてみませんか?

PowerPoint プレゼンテーション

slide

. 素子の定格 (rating) と絶対最大定格 (absolute maximum rating ). 定格値とは定格とは, この値で使ってください という推奨値のことで, それ以外の数値で使うと性能を発揮できなかったり破損する可能性があります. ふつうは示された定格通りの値で使用します.. 絶対

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

8051 개발보드 메뉴얼

AN41904A

情報処理演習 B8クラス

Microsoft Word - 4章.doc

SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1

Microsoft Word - 実験4_FPGA実験2_2015

商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps

接続例 ピンアサイン ポート端子台 配線可能電線太さ : AWG 16~AWG 28 端子番号信号名 1 Data + 2 Data GND Data (=TxD + RxD) : 送受信データ ( 入出力 ) - は 無接続です ご注意 : 無接続端子の

Microsoft PowerPoint - kougi7.ppt

AKI-PIC16F877A開発キット (Ver1

Microsoft Word - no11.docx

Microsoft Word - N-TM307取扱説明書.doc

みんなの Arduino 入門 課題と演習 本資料は みんなの Arduino 入門 を使っている方々への課題 ( 演習含む ) を参考としてま とめたものです 本書の理解度の確認と今後のステップアップのためにご利用下さい ( 最終更新日 :2014 年 4 月 25 日 ) 株式会社タブレイン T

2STB240PP(AM-2S-G-005)_02

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2015/8/21 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controller Ad

KDC

Transcription:

プログラミング演習 Ⅱ フィジカルコンピューティング 第 3 回 Processing 連携 サーボモータ 圧電スピーカの使い方 担当 : 橋本

今日の内容 Processing と Arduino の連携 データの受信 (Arduino Processing) センサからの入力値を Processing で可視化する データの送信 (Processing Arduino) Processing からの指令で LED の点灯を制御する サーボモータの使い方 モータの回転角度を制御する 圧電スピーカの使い方 音を鳴らす & 振動を検知する 2

Processing の準備 古い Processing を削除し 最新版 (2.1) をインストールする 2.0 以前では 64bit 版でのシリアル通信に対応していないため Processing 2.1 21 では シリアル通信が遅いという不具合があるが 有志による修正ファイルが配布されている http://sukzessiv.net/processing serial/test4/ serial/test4/ jssc.jar と serial.jar をダウンロード processing 2.1 modes java libraries serial library にある jssc.jar と serial.jar を修正版ファイルで上書きする 3

ボリューム ( 半固定抵抗 ) の 変化を読み取る回路 A0 GND 半固定抵抗 (10kΩ) ボリュームの真ん中の端子を入力 (A0) に 一方の端をGND もう片方の端を5Vにつなぐ 5V 4

Arduinoのプログラム ( センサで読み取った情報を PC に送信 ) void setup() { Serial.begin(9600); シリアル通信を開始する void loop() { int value = analogread(0); Serial.write(value/4); アナログ入力 (A0) を読み取る バイナリデータを送信 ( 値の範囲を0~255 にするために 4で割っている ) 5

命令の意味 Serial.write( データ ) シリアル通信でデータをバイナリ形式で送信する 数値 文字 文字列を送れる Serial.write(10); it Serial.write( a ); Serial.write( hashimoto ); 6

Processing のプログラム ( 受信したデータを可視化 ) import processing.serial.*; Serial serial; int input; シリアル通信用のライブラリを使用します という意味 シリアル通信用の変数 void setup() { size(300,200); println( Serial.list() ); serial = new Serial( this, Serial.list()[0], 9600 ); シリアルポートの一覧を表示 シリアル通信を開始 void draw() { background(0); rect( 10, 50, input, 50 ); void serialevent(serial port) { input = port.read(); 四角形の描画 (input で幅が変化 ) データを受信したときのイベント データの読み込み 7

命令の意味 serial = new Serial( this, ポート番号, 通信速度 ); 使用するシリアルポートの番号 (PC によって異なる ) Windows の例 : COM1 とか COM2 Macの例 : /dev/tty.usbmodem1411 など この文字列は Serial.list() list() で取得できる Serial.list()[0] list()[0] は 0 番目のシリアルポートの番号うまくつながらない時は 0を他の数字 (1, 2,3 ) に変更 通信速度は Arduino と同じにすること 8

命令の意味 void serialevent( Serial port ) { input = port.read(); serialevent() はシリアルポートにデータがきたときに自動的に呼び出される関数 引数 (port) はデータがきていたシリアルポート.read() は受信データの先頭から1バイト (0~255) 読み取る命令 9

テキストとバイナリ テキストデータ 文字によるデータ表現 バイナリデータ 数値列 ( バイト列 ) によるデータ表現 コンピュータ上での内部表現 バイナリ=binary( 二進法 ) テキスト バイナリ 1 2 3 00110001 00110010 00110011 (49) (50) (51) 1 文字 1 バイト カッコ内は十進数表記 10

1 バイトずつのやりとり 1 バイト =8 ビット 2 進数で 00000000~11111111 10 進数で 0~255 123 というデータを送りたいとき テキストで送ると 1 2 3 の3バイトかかってしまう バイナリで送れば 1バイトで済む ( ただし 1バイトで表現できる情報は0~255) 11

LEDを点灯させる回路 GND 短い脚 短 脚 長い脚 9 抵抗 330Ω (橙橙茶金) 12

Arduino のプログラム ( コマンドで LED 制御 ) void setup() { Serial.begin( 9600 ); pinmode( 9, OUTPUT ); シリアル通信を開始する 9 番ピンを出力に設定 void loop() { if ( Serial.available() > 0 ) { int data = Serial.read(); if ( data == 'a' ) { digitalwrite( 9, HIGH ); else if ( data == 'b' ) { digitalwrite( 9, LOW ); データがきているかチェック データを 1 バイト読み込む データが a だったら LED をON にする データが b だったら LED を OFF にする

Processing のプログラム ( マウスクリックで LED を ON/OFF) import processing.serial.*; Serial serial; シリアル通信用のライブラリを使用します という宣言 シリアル通信用の変数 void setup() { size(400,400); serial = new Serial( this, Serial.list()[0], list()[0] 9600 ); シリアル通信を開始 void draw() { background(0); if ( mousepressed ) { serial.write('a'); serial.write(a); else { serial.write('b'); もしマウスボタンが押されていたら a という文字を送信ボタンが押されてないときは b という文字を送信 14

命令の意味 Serial.write( データ ) シリアル通信でデータをバイナリ形式で送信する 数値 文字 文字列を送れる文字列を送れる serial.wrirte(10); serial.wrirte( a ); serial.write( hashimoto ); il it( h hi t ) 15

サーボモータ 与えられた目標値に追従するような制御を自動で行うモータ サーボ (Servo) の語源はラテン語の "servus"( 英語の slave servant の意 ) キットに入っているサーボモータ 5V 駆動 回転角度 : 0~180 度 16

3 本の線 サーボモータの使い方 黒 : GND ( 電源 -) 赤 : 5V ( 電源 +) 白 : 信号線 PWM( パルス幅変調 ) の信号によって角度制御できる パルス幅と角度が対応している ( 製品によって異なる ) 例 ) パルス幅が1.8msのとき90 度 3.3msのとき180 度 17

サーボモータを動かす回路 GND 黒い線 5V 5V 赤い線 ( 中央 ) 8 番ピン 白い線 (PWMによる制御を行うが サーボモータに関しては 信号線をどの入出力ピンに繋いでもよい ) モータを駆動するときは大きな電流が流れるため 普通は外部電源から電力供給を行う 今回は小型のモータを使用しているため マイコンボードから電力供給している 18

Arduino のプログラム ( サーボモータ制御 ) #include <Servo.h> Servo servo; サーボモータ用のライブラリを使います という宣言 サーボモータ用の変数 void setup() { servo.attach(8, 400, 3300); サーボモータを使う準備 void loop() { servo.write(0); delay(1000); servo.write(90); dl delay(1000); servo.write(180); delay(1000); サーボモータの角度を 0 度にするサーボモータの角度を 90 度にするサーボモータの角度を 180 度にする 回転に時間がかかるので各 1 秒待ち時間を入れている

命令の意味 #include < ライブラリ名 > Arduino(C 言語 ) において外部プログラム ( ライブラリ ) を使用するときの宣言文 ProcessingやJavaにおけるimportに相当 Servo.attach( ピン番号, 最小パルス幅 [μs], 最大パルス幅 [μs] ) サーボモータの設定を行う.write( 角度 ) 指定した角度に回転させる 20

圧電スピーカ 圧電素子を用いたスピーカ 音を出したり 振動を検知したりできる 音を出すには 数 khz のパルス信号を与える 圧電素子 力を加えると 圧力に比例した電圧が発生する素子 逆に電圧をかけると 力が発生する 21

圧電スピーカで音を出す回路 GND 黒い線 8 赤い線 圧電スピーカを直接 Arduino に挿してもよいが 線が細くて接触がよくないのでブレッドボードを介して接続する 22

Arduino のプログラム ( 圧電スピーカで音を出す ) int len = 300; int pin = 8; 音の長さ (300ms) 圧電スピーカが接続されている端子 void setup() { pinmode(pin, OUTPUT); void loop() { tone(pin, 262, len) ; delay(len) ; tone(pin, 294, len) ; delay(len) ; tone(pin, 330, len) ; delay(len) ; delay(3000); 9 番ピンを出力に設定 ド の音を出す レ の音を出す ミ の音を出す

命令の意味 tone( ピン番号, 周波数 [Hz] ) tone( ピン番号, 周波数 [Hz], 時間 [ms]) 指定した周波数のパルス ( デューティ比 50%) ) を出力する 時間を指定しなかった場合 notone() を実行するまで動作し続ける ド 262Hz ソ 392Hz レ ミ 294Hz 330Hz ラ シ 440Hz 494Hz ファ 349Hz ド 523Hz 24

圧電スピーカで振動を検知する回路 ツェナーダイオード ( 黒い印がついてる側を赤い線側に!) GND 抵抗 1MΩ ( 茶黒緑金 ) A0 黒い線 赤い線 センサ入力を Processing で可視化するプログラムを使って動作を確認しよう!

フォトリフレクタ 赤外線 LED と赤外線受光素子を 合体したセンサ 赤外線の反射光の 強度 を計測 紙の白黒を判別したり かざした手との距離を測ったり た手とた目の横に付けてまばたきを検出したり クッションの中にいれて圧力を計測したり 指先の脈波を計測したり etc 参考ページ http://kougaku navi.net/sensact/ 26

フォトリフレクタを使う回路 VIN OUT 5V 光センサや曲げセンサと同様 アナログ入力を使って電圧の変化を読み取ろう GND A0 27

赤外線測距モジュール シャープ製 GP2Y0A21YK (10~80cm を検知 ) 赤外線を使った三角測量により物体との距離を計測 距離に対する電圧変化が非線形なので 近似式で距離を求める出力電圧物体との距離 // 入力値から距離 [mm] を計算する例 float voltage_mv = analogread(0) / 1023.00 * 5000; float dist_mm = 1085534.81 * pow(voltage_mv, -1.2); 28

赤外線測距モジュールを使う回路 光センサや曲げセンサと同様 アナログ入力を使って電圧の変化を読み取ろう ( 障害物との距離で電圧が変化する ) 赤 : 5V 黒 : GND 黄 : A0 29

練習問題 1 センサ入力の時間的な変化を表す波形をリ アルタイムに表示するプログラムを作ってみよう 波形が流れてくる 光センサ ボリューム 曲げセンサ 圧電スピーカなど 好きなセンサで試してみよう 30

練習問題 2 画面上でマウスカーソルを動かすと それに 合わせてサーボモータの角度が変化するプログラムを作ってみよう 例 ) 左右にマウスカーソルを動かすと 0~180 度の範囲で角度が変化する 0 180 31

応用問題 Arduino に曲を弾かせてみよう 例 ) マリオ http://www.linuxcircle.com/2013/03/31/playing mario bros tune with arduino and piezo buzzer/ 例 ) クリスマスソング http://meatfinish.wordpress.com/2010/12/12/arduino christmas tunes player/ tfi i h /2010/12/12/ d i hit t / センサとスピーカを組み合わせてオリジナルの電子楽器を作ってみよう 32