PICA Tower Arduinoプログラミングマニュアル.docx

Size: px
Start display at page:

Download "PICA Tower Arduinoプログラミングマニュアル.docx"

Transcription

1 ピカ タワー Arduino プログラミングマニュアル

2 はじめに このマニュアルは エレキットの PICA Tower( ピカ タワー :AW-864) の LED 部とArduino を使用し LED のオリジナル点灯パターンの作成やセンサーでの点灯制御を行うプログラム作成を通して Arduino でのプログラミング方法を学習することを目的としています Arduino はATMEL 社のAVR マイコンを搭載したマイコンボードで C 言語に似た Arduino 言語 を用いてプログラミングをすることができます その開発環境は無償で使用することができ 多くの解説書などが出版されたこともあり 誰もが比較的簡単にマイコンのプログラミングを行え 希望の動作をする電子回路が作成できるようになりました Arduino にはいろいろな種類があり 目的により使い分けられています PICA Tower のLED 部はArduino UNO にそのまま取り付けることができるようになっていますので 本書では Arduino UNO でオリジナル点灯パターンを作成する方法を解説します ( Arduino でプログラミングをするためには Arduino UNO パソコン (Windows XP 以降 Mac OSX 以降 Linux) USB ケーブルなどが別途必要です ) PICA Tower (AW-864) について PICA Tower は27 コ 4 色のLED( 発光ダイオード ) を立体的に配置した電飾オブジェです PICA Tower は株式会社イーケイジャパンと福岡県立福岡工業高等学校の共同開発プロジェクトにより 開発 商品化しました お断り 本書の内容は PICA Tower (AW-864) を Arudino でプログラミングする際に必要な最低限の解説のみとなります また Arduino の機能もその一部についてのみ解説しており 全てを解説しているものではありません 更に詳しく Arduino やそのプログラミング方法についてお知りになりたい方は 専門書等をご参照ください また プログラミングに必要な開発環境はソフトウェアのアップデート等により本書の内容と異なる場合があります あらかじめご了承ください 本書で解説している開発環境についてのサポートは当社ではお受けできません あらかじめご了承ください 1

3 もくじ 1. 開発環境の準備 4 用意するもの 4 Arduino IDE のインストール 5 Arduino IDE の入手と起動 5 ドライバーのインストール 6 Windows の場合 6 Mac OS X の場合 8 COM ポートの確認と設定 8 Windows no 場合 8 Mac OS X の場合 9 Arduino 各部の機能 10 ピン配置図 10 ピンの機能 PICA Tower の回路について 11 PICA Tower の回路 11 LED が点灯するためには 11 電流が流れる方向 11 LED に加える電圧 12 順方向電流の調整 12 Arduino のポート Arduino 言語の基礎 15 文法の基礎 15 コメント 15 文 15 ブロック 15 定数と変数 16 データ型 16 演算 17 代入 17 算術演算子 17 インクリメント デクリメント 18 比較演算子 18 論理演算子 19 シフト演算子 20 変数計算後に同じ変数に代入する演算子( 複合演算子 ) 20 演算の順番 21 2

4 制御文 22 if 制御文 22 switch 制御文 23 for 制御文 24 while 制御文 25 関数 29 関数の書き方 29 関数のプロトタイプ宣言 31 グローバル変数とローカル変数 32 デジタル入出力 33 アナログ入出力 33 時間関数 35 便利な機能 Arduino IDE でプログラミング 37 Arduino とPICA Tower のLED 部の接続 37 Arduino IDE の画面 37 Arduino のプログラミング 38 プログラムの検証と Arduino への書き込み オリジナル点灯パターンをつくろう! 40 LED を点滅させる 41 LED を回転するように点灯させる 42 制御文を使用してプログラムを作る 43 関数を使用する 明るさセンサーを使おう 48 アナログ入力で読み取った値 49 アナログ入力を使ってみよう 49 シリアルポートモニター 49 アナログ入力を使ったプログラム 51 3

5 1. 開発環境の準備 用意するもの Arduino UNO (R3) (R3) はArduino のバージョンを表します Arduino UNO なら どのバージョンでも使用出来ますが このマニュアルでは (R3) を使用します バージョンにより端子数や部品のレイアウトが異なります USB ケーブルパソコンとArduino を接続します パソコンパソコンのOS は Windows(XP 以降 ) Mac(OS X 以降 ) Linux が使用できます このマニュアルでは Windows を例に説明します いろいろなArduino 市販されている Arduino には多くの種類があります Arduino の最も標準的な Arduino UNO に加えて ブレッドボード上でのテストに便利な Nano 衣服に縫い付けることを考えられた LilyPad PC との通信部分を取り外して安価にした Pro 入出力が強化された Mega などがあります これら全てのArduino は プログラムを作る仕組みが同じで 同じ Arduino IDE といわれるプログラム開発ソフト ( 総合開発環境といいます ) で作成することができます プログラムの書き換えに特別な機器は必要としないので プログラムの書き込みが手軽ですぐに使い始められます Arduino の例 Arduino UNO Arduino Nano LilyPad Arduino Pro Arduino Mega 4

6 Arduino IDE のインストール Arduino を制御するためには プログラムを作成し Arduino 基板へ書き込みを行う必要があります このプログラムを作成するエディタとプログラム書き込み機能を持った開発環境のことを Arduino IDE といいます Arduino IDE の入手と起動 まず Arduino のホームページにアクセスします ( 英語のサイトです ) ダウンロード画面から お使いの OS に対応したソフトを 選択し 適当なフォルダーに保存します 画面は変わる可能性があります画面は 2013 年 10 月現在のものです ダウンロード後 保存したフォルダー内に arduino-x.x.x-xxx が作成されます このファイルは圧縮されているので解凍 ( 展開 ) ソフトなどで解凍してくだい XXX は使用するOS やソフトのバージョンによって異なります ファイルを解凍すると Arduino のように バージョン番号が付いたフォルダーが作成されます 先ほど解凍したフォルダー内にある arduino のアイコンをダブルクリックすると arduino IDE が起動し画面が表示されます フォルダーの中の arduino をクリック IDE 起動画面 5

7 ドライバーのインストール 次に Arduino 基板とパソコンが通信するために必要なドライバーをインストールします Windows の場合 Arduino 基板とパソコンを USB ケーブルで接続します WindowsXP の場合接続後に 新しいハードウェアの検出 画面が表示されますので いいえ 今回は接続しません を選択して次へ進みます 一覧または特定の場所からインストールする を選択して次 へ進みます 次の場所を含める で 参照のボタンをクリックして 先ほ ど解凍したフォルダーの中にある drivers を選択して 次へ 進みます ドライバーのインストールが始まり 自動的に完了します 完了後に もう一度ドライバーのインストールを求められる場合は 1 回目と同じように進めて完了させま す 6

8 WindowsVista/7 の場合 デバイスドライバーソフトウェアをインストールしています と表示され しばらく待つと パソコンが自動でドライバーを検索しインストールが完了します もしも自動でインストールができない場合は次の手順でインストールしてください WindowsVista/7 に手動でドライバーをインストールする 1) コントロールパネル システムのセキュリテ ィ デバイスマネージャー と選んで デバイ スマネージャーの画面を開きます 2) デバイスマネージャー画面の中に 不明なデバイス という表示がされていますので その文字の上で右クリックして ドライバーソフトウェアの更新 を選びます 3) ドライバーソフトウェアの更新 画面から コン ピューターを参照してドライバーソフトウェアを検 索します を選びます 7

9 4) ドライバーソフトウェアの更新 画面から コンピューターを参照してドライバーソフトウェアを検索します を選びます 参照のボタンをクリックして 先ほど解凍したフォルダーの中にある drivers を選択して 次へ進みます 5) しばらく待つと ドライバーのインストール完了画面が表示されます セキュリティーソフトの設定により警告画面が表示される場合があります そのような場合にはインストールを承認するようにしてください 6) もう一度デバイスマネージャーを表示して Arduino 基板が ポート (COM と LPT) に登録され ていることを確認してください Mac OS X の場合 Mac OS X の場合 ダウンロードが完了すると自動的にドライバーがインストールされますので 表示される メッセージに従い必要に応じて管理者パスワードの入力や再起動を行ってください COM ポートの確認と設定 次に Arduino 基板がどのシリアルポート (COM ポート ) に接続されたか確認します Windows の場合 WindowsXP では マイコンピュータのアイコンを右クリックして プロパティ を選択し ハードウェア のタブの中にある デバイスマネージャー をクリックします WindowsVista/7 では コントロールパネル システムとセキュリティ デバイスマネージャー と進みます デバイスの一覧が表示されますので ポート (COM とLPT) という項目の下を確認します 8

10 Arduino 基板が接続されたポートが表示されます 図では Arduino 基板が COM4 に接続されていることが分かり ます この COM の番号を覚えておきます Arduino IDE を起動し メニューの ツール シリアル ポート で COM4 を選択 ( が付いた状態 ) しておきます Mac OS X の場合 1.Arduino 基板をパソコンと接続します 2.Arduino-IDE を起動し 画面の ツール メニューから マイコンボード を選択し パソコンに接続した Arduino 基板を選択します 3. 次にArduino-IDE 画面の ツール メニューから シリアルポート を選択し /dev/cu.usbmodem- または /dev/tty.usbmodem- ではじまる項目を選んでください 9

11 Arduino 各部の機能 ピン配置図 Arduino UNO(R3) の場合 Arduino UNO(R3) 以外では ピン数 機能が異なる場合 があります ピンの機能 機能 説明 リザーブ 将来の拡張用に予約されているピンで使うことはできません IOREF Adruino UNO ではVcc に接続されています RESET リセットボタンに接続されています リセットボタンの追加に使用できます 3.3V 3.3V の電源として使用できます 5V 5V の電源として使用できます GND GND 電源のマイナスにつながっています Vin DC ジャックから入力された電源につながっています ( 内部でダイオードを経由しますので 電圧は少し低くなります ) 機能 1 機能 2 説明 A0 アナログ入力端子です 入出力に使用する端子は ポート とも呼ばれます A1 センサーなどの入力など アナログ信号を入力します A2 デジタル入出力ピンとして使うこともできます A3 A4 SCL I2C(Wire) 通信を行う時に使用します A5 SDA 機能 1 機能 2 説明 SCL (A4) A4 A5 はここにもつながっています SDA (A5) AREF AD 変換器の基準電圧用の端子です 使用するためには特別な命令や配線が必要です GND 電源マイナスにつながっています PWM 10 PWM 9 PWM デジタル入出力端子として使用します 8 機能 2 で PWM 機能が割り当てられている端子は PWM 制御 ができる端子です 7 PWM 制御については34 ページ アナログ入出力 の analogwrite で説明します 6 PWM 5 PWM 4 3 PWM 2 1 TX USB 経由でパソコンと通信する時に使用します 0 RX 10

12 2.PICA Tower の回路について マイコンのプログラミングをするためには LED などがどのようにつながっているかを知っておく必要があります ここでは PICA Tower の回路がどのような構成になっていて LED を正しく光らせるにはどのようにすればよいかを説明します PICA Tower の回路 PICA Tower は 3 段に重なったLED 部分と マイコンを搭載した部分が分離できるようになっています Arduino を使用する場合 LED 部とマイコン部を分離し マイコン部のかわりに Arduino を取り付けます 下図はPICA Tower のLED 部とマイコン部の回路図です LED 部の回路図 マイコン部の回路図 LED 部の各端子名に記載されている ( ) 内の数字等は Arduino に接続した場合に対応する端子です LED が点灯するためには 左の図は LED 部の回路から LED の回路を 1 つだけ抜き出したものです の記号が LED で この図の上側の端子を アノード (A と表します ) 下側の端 子を カソード (K と表します ) といいます 電流が流れる方向 LED は電流を流すことで点灯するのですが 電流はアノードからカソードに向かって流れ その逆には流れません ですから LED を点灯させるためには 電流がアノードからカソードに流れるような回路にしなければなりません 11

13 電流の流れ アノード (A) カソード (K) 逆方向には流れない LED に加える電圧電子回路に電流を流すためには電圧を加えなければなりません 電子回路の電流の流れは よく水の流れに例えられます 水は水圧の高い方から低い方へ流れます これと同じように 電流も電圧の高い方から低い方に流れますので LED のアノードからカソードに電流が流れるようにアノードとカソードの間にアノードの方の電圧が高くなるように電圧を加える必要があります 電圧を加える 電圧 ( 高 ) 電圧 ( 低 ) アノード (A) カソード (K) 順方向電流の調整 LED を光らせるためには電流を流さなくてはならないことは説明しましたが LED には流すことのできる電流の上限が決められています それ以上の電流を流すと LED が壊れたり 寿命がとても短くなったりします PICA Tower の回路を見ると LED のアノード側にがつながっています この部品は 抵抗 で 電流が流れる量を調整する役割があります 実際の回路では PICA Tower のLED とマイコン部分の回路はどうなっているのでしょう Aduino の2 番ピンだけのつながりを見てみると 抵抗 LED を通って11 番ピンへつながっています LED のアノードの電圧を高く カソードを低くすると点灯しますので このLED を点灯させるためには Arduino の2 番ピンの電圧を高く 11 番ピンの電圧を低くなるようにプログラムを作ればよいわけです 12

14 Arduino のポート Arduino の各ピンの電圧を高くしたり低くしたりするとはどういうことでしょう 出力に設定したポートは プログラムにより 電圧がある状態 や 電圧がない状態 に設定することができます 電圧がある状態 とは ポートから電源のプラスと同じ電圧を出力することで HIGH( ハイ ) または H や 1 と表します 電圧がない状態 とは ポートから電源のマイナスと同じ電圧を出力することで LOW( ロー ) または L や 0 と表します Arduino の場合 HIGH に設定したポートは 5V に LOW に設定したポートは 0V になります 先ほどのPICA Tower の回路の場合 2 番ピンを HIGH に 11 番ピンを LOW にすると LED のアノード側の電圧が高くなり カソード側の電圧が低くなるため LED に順方向電流が流れ点灯するのです HIGH LOW では LED を消灯するためにはどうすればよいのでしょう LED のアノードとカソードの電圧を同じにするか カソードの方をアノードより高い電圧にすればよいので 2 番ピン 11 番ピンの両方を LOW 2 番ピン 11 番ピンの両方を HIGH 2 番ピンを LOW 11 番ピンを HIGH のいずれかにすれば LED は消灯します LOW HIGH LOW 電圧が同じなので流れない 電圧が同じなので流れない 逆向きは流れない LOW HIGH HIGH PICA Tower のLED は全て抵抗とつながっています それぞれ接続先のポートが違うだけです 縦の同じ位置にある LED のアノードはそれぞれ 2 番ピン~10 番ピンにつながっています また 同じ段にある LED のカソードは1 段目が11 番ピン 2 段目のカソードが 12 番ピン 3 段目のカソードが13 番ピンにつながっています 例えば 2 段目の5 番のLED を点灯させるためには 5 番ピンを HIGH 12 番ピンを LOW にすれば OK です また 2 番ピン~10 番ピンを全て HIGH 11 番ピンを LOW にして12 番ピンと13 番ピンを HIGH に 13

15 カソード側すれば 1 段目のLED を全て点灯させることができますし この状態で 11 番ピンを HIGH 12 番ピンを LOW 13 番ピンを HIGH にすると2 段目だけが点灯 さらに 11 番ピンと12 番ピンを HIGH 13 番ピンを LOW にすると3 段目だけが光りますので この 11 番ピン~13 番ピンのポートの状態の切り替えを順番に行うようにプログラムすると LED が流れるように点灯させることができるのです HIGH HIGH LOW 上の図のように 1 段目だけを てみましょう 1 段目の LED のカソードは全て 11 番ピンにつながっています 例えば 2 番ピンと 6 番ピンを HIGH に 11 番ピンを LOW にすると 1 段目の 2 番と 6 番の LED が点灯する 各 LED のアノード側とカソード側の対応は下表のとおりです 例えば 6 番ピン を HIGH 12 番ピン を LOW にすると 左図の 2 段目のオ に対応する LED が点灯します 11 番ピン 12 番ピン 13 番ピン 2 番ピン 1 段目ア 2 段目ア 3 段目ア 3 番ピン 1 段目イ 2 段目イ 3 段目イ 4 番ピン 1 段目ウ 2 段目ウ 3 段目ウ 5 番ピン 1 段目エ 2 段目エ 3 段目エ アノード側 6 番ピン 1 段目オ 2 段目オ 3 段目オ 7 番ピン 1 段目カ 2 段目カ 3 段目カ 8 番ピン 1 段目キ 2 段目キ 3 段目キ 9 番ピン 1 段目ク 2 段目ク 3 段目ク 10 番ピン 1 段目ケ 2 段目ケ 3 段目ケ 14

16 3.Arduino 言語の基礎 ここに書いたものが全てではありませんが Arduino のプログラムでよく使う文法や関数をまとめていま す Arduino-IDE のその他の関数や詳細については書籍などで学習を行ってください Arduino のプログラムは 次の例のように書きます /*Arduino のプログラム書き方の例です */ a = 4; b = c+d; e = g; //a に4 を代入 //c とd を足した結果をb に代入 //e にg を代入 文法の基本 コメント /*~*/ // /*~*/ で囲まれた部分 及び // から行末までは コメント になります コメントはプログラムとは直接関係がなく その内容を補足説明などする場合に記入する文章で 日本 語で書くことも可能です コメント部分はプログラム実行時には空白として扱われますので その内容は無視されます ちなみに 改行や TAB で挿入した部分も空白として扱われ プログラム実行時は無視されます ただ し 全角の空白をコメント行以外に書いてしまうとエラーになるので注意してください /*~*/ で書いたコメントは /* と */ で囲まれた部分が全てコメントと認識されます これは複 数行にまたがって記入されていても OK です // で書いたコメントは // から行末までがコメントとして認識されます 文 a = 4; のように書かれた部分は 文 で 途中に ( セミコロン ) が付けられていますが これは その命文はここまでですよ ということを表しています 例えば a = 4 b = c+d; と 上の行末に ; を付け忘れた場合 プログラムは a = 4 b = c+d; と認識され エラーになってしまいます これもよくあるミスです また ( ダブルコロン ) と間違えやすいので注意しましょう ブロック ( 波カッコ ) で囲まれた部分を ブロック といいます ブロックは文をまとめるために使用 15

17 し 関数などの処理内容の手順を列記する時に使用します プログラム中に 始まりの があれば それに対応する 終わりの が無くてはなりません 時々 の数が合わずにエラーになってしまうことがありますので注意しましょう 定数と変数 Arduino 言語であつかうデータは大きく 定数 と 変数 の 2 種類に分けられます 例えば a = 5; a = 10; と書かれている場合 a は場合によって 5 や 10 になるので 変数 5 や 10 は変わらないので 定数 です 定数は 10 進数のほか 2 進数や 16 進数で書かれることがあります 定数を書いた時 それが何進数かを表 すために 次のような書き方をします 基数書き方例 10 進数そのまま表記 56 2 進数最初に B を付ける B 進数最初に 0x を付ける 0x38 あまり使用しませんが 8 進数で書くこともできます 8 進数 070 最初に 0 を付ける しかし 10 進数を書くつもりで不用意に最初に 0 を付けてしまい それが元でエラーになってしまった場合など エラーの原因が見つけにくくなりますので普段は使わないほうがよいでしょう データ型 変数は その変数が表す数値の範囲によって データ型 を選ぶ必要があります 変数の値の範囲を超えた計算を行うと正しい計算結果が得られない場合があるなど 注意が必要です データ型と値の範囲は次のとおりです データ型ビット数値の範囲データ型ビット数値の範囲 boolean 1 true または fales long ~ char ~ 127 unsigned long 32 0 ~ byte 8 0 ~ 255 float ~ int ~ unsigned int 16 0 ~ double 64 0 ~ 変数を使うときは あらかじめそのプログラムの中で これは変数ですよ! と宣言します 変数宣言の書き方は 変数のデータ型 と 変数 その変数の 初期値 を書く場合などいろいろあり 下記はその一例です char a; //a はchar 型のデータ範囲を取り扱う変数だと宣言 int b,c; //, で区切って続けて書いても OK b もc もint 型の変数 int d=10; // 初期値を書いても OK d はint 型で 初期値に10 が代入される 16

18 演算 定数 変数の足し算や引き算などの計算や それぞれの比較などを行う時に 演算子 を使用します 代入 代入演算子は = の右側の項の内容を左側の項に書き込みます 演算子使用例 意味 a = 10; a に10 を代入するので a は10 になります = b = 1+2; b に1+2 の結果を代入するので b は3 になります a = b; a にb の値を代入します = の左右が入れ替わると意味が変わってしまいますので 注意しましょう a = 10; //a は10 になります b = 5; //b は5 になります a = b; //a にb を代入するので a はb と同じく5 になります a = 10; b = 5; b = a; //a は10 になります //b は5 になります //b にa を代入するので b はa と同じく10 になります また 次のように書くとエラーになります これは定数はその値しか取り得ないので 定数に他の値を代 入することができないためです 10 = a; //10 は定数なので a は代入できない エラーになる 算術演算子 加減乗除などの計算をする演算子です 演算子の種類と機能 使い方例は下記のとおりです 演算子使用例 意味 + a = 1+2 足し算をします 1+2 の結果をa に代入するので a は3 になります - b = 3-1 引き算をします 3-1 の結果をb に代入するので b は2 になります * c = 2*2 掛け算をします 2 2 の結果をc に代入するので c は4 になります / d = 8/4 割り算をします 8 4 の結果をd に代入するので d は2 になります % e = 7%2 モジュロ算という計算をします モジュロ算は割り算をした時の 余り を求める計算です 使用例の場合 7 2 の余りをe に代入するので e は1 になります 算術演算子は定数どうしだけでなく 定数と変数 変数どうしなどの計算もできます a = 1+2; b = a*2; c = b-a; //a は3 になります //b は3 2 で6 になります //b は6 a は3 なので c は6-3 で3 になります int 型の変数 d に次の計算をすると d の値はどうなるでしょう? d = 10/4 この場合 d は 2 になります なぜなら int 型の値の範囲は ~ の整数 だからです 小数点以下を含んだデータを取り扱うには データ型を float にしましょう 17

19 インクリメント デクリメント インクリメントは 1 を足す こと デクリメントは 1 を引く ことです 演算子使用例 意味 ++ ++a a の値に1 を足して その値を a に書き込みます -- --b b の値から1 を引いて その値を b に書き込みます 例えば a = 10; b = 5; c = ++a; d = --b; //a は10 になります //b は5 になります //a は1 を足した11 になり それを c に代入するので C も11 になります // b は1 を引いた4 になり それを d に代入するので d も4 になります インクリメント デクリメントは a++ b-- のように変数の後ろに書くこともできます しかし この 場合 前に書いた時と計算をするタイミングが変わります a = 10; b = 5; c = a++; d = b--; //a は10 になります //b は5 になります // 先にc にa を代入してから a をインクリメントする //c は10 になり a は11 になる // 先にd にb を代入してから b をデクリメントする //d は5 になり b は4 になる 比較演算子 2 つの定数や変数の関係を調べるための演算子です 調べた結果 その関係が正しければ真 間違っていれば偽といいます 真は 1 偽は 0 で表すこともあります 演算子使用例 意味 > a > b a がb より大きければ真 小さければ偽になります >= a >= b a がb と同じか大きければ真 小さければ偽になります < a < b b がa より大きければ真 小さければ偽になります <= a <= b b がa と同じか大きければ真 小さければ偽になります == a == b a とb が等しければ真 異なれば偽になります!= a!= b a とb が異なれば真 等しければ偽になります の左右の関係式で どちらか片方でも真ならば真 どちら (a>b) (c<d) も偽ならば偽になります 例では a>b とc<d のどちらか一方が真 であれば真になります && の左右の関係式で どちらも真ならば真 片方でも偽 ま && (a>b) && (c<d) たは両方とも偽ならば偽になります 例では a>b とc<d の両方が 真の時だけ真になります!!(a>b)! の後に書かれた関係式が真ならば偽 偽ならば真になります つまり 関係式の真偽の逆になります 例では a>b が真ならば偽に 偽ならば真になります では 次の式の場合はどうなるでしょうか a = 10; //a は10 b = 5; //b は5 c = 3; //c は3 d = 7; //d は7 e = (a>b); //a は10 b は5 なのでa>b は真 真は 1 なので e は1 になる f = (b==c); //b とc は等しくないので b==c は偽 偽は 0 なので f は0 になる g = ((a>b) && (c<d)) //a は10 b は5 なのでa>b は真 c は3 d は7 なのでc<d も真 //2 つの関係式が両方ともに真なので (a>b) && (c<d) は真 g は 1 になる 上の例のように 式の中に ( ) がある場合は ( ) の中を先に計算します この比較演算子は あとで説明する 制御文 の 繰り返し や 条件分岐 でよく使用されます 18

20 論理演算子 2 つの定数や変数を論理演算する時に使う演算子です 演算子使用例意味 & a & b a とb をAND で論理演算した値になる AND は 論理積 とも言う a b a とb をOR で論理演算した値になる OR は 論理和 とも言う ^ a ^ b a とb をXOR で論理演算した値になる XOR は 排他的論理和 とも言う ~ ~a a の各ビットを反転 (NOT) した値になる ビットごとの操作はその値を 2 進数に変換して考えるとわかりやすいです 例えばa とb に入る値を16 進数で書いてみました a = 0x56; //a を2 進数で表すと0b b = 0x4A; //b を2 進数で表すと0b c = (a&b); d = (a b); e = (a^b); f = ~a //c は0x42 になる //d は0x5E になる //e は0x1C になる //f は0xA9 になる これを2 進数で考えてみましょう それぞれの変数の値は 2 進数で表すと a = 0x56 = 0b b = 0x4A = 0b となります まず 2 つの値を上下に並べて書いてみます bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 操作内容 a b a & b (AND) a b (OR) a ^ b (XOR) ~ a (NOT) 進数で考えるととてもわかりやすくなりましたね AND OR XOR はどのようなときに使うのでしょう? AND 任意のビットを取り出すときに使います 例 ) a= AND OR 任意のビットを 1 にするときに使います 例 ) a= OR XOR 任意のビットを反転にするときに使います 例 ) a= XOR 各ビットを比較し 両方とも 1 のときだけ 1 その他の場合は 0 になる 各ビットを比較し 少なくとも片方が 1 であれば 1 両方とも 0 なら 0 になる 各ビットを比較し それぞれのビットの値が異なるときは 1 同じ値の場合は 0 になる 各ビットの値が 1 なら 0 0 なら 1 になる 取り出したいビットを 1 そうでないビットを 0 にすると 1 の部分だけそのまま取り出せる 1 にしたいビットを 1 そうでないビットを 0 にすると 1 の部分は 1 になる 0 の部分はそのまま 反転したいビットを 1 そうでないビットを 0 にすると 1 の部分は反転する 0 の部分はそのまま 19

21 シフト演算子 定数や変数の値を指定されたビット数分 左または右にずらす処理をする演算子です 演算子 使用例 意味 << a << b a を左にb ビットシフトした値になる >> a >> b a を右にb ビットシフトした値になる 次のような場合では a = 0x56; // 2 進数で表すと0b b = 2; // ずらすビット数は 2 c = (a<<b); //c は0x58 になる d = (a>>b); //d は0x15 になる この場合も 2 進数で考えましょう まず 左シフトの場合は bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 操作内容 a 左シフト 今回の例では 2 ビット左にずらす 新たに右側に追加される値は 0 次に右シフトの場合は 新たに追加 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 操作内容 a 右シフト 今回の例では 2 ビット右にずらす 新たに左側に追加される値はその値のデータ型と最上位ビットの値により変わります 新たに追加 データ型がマイナスを扱える範囲の場合で 最上位ビットが 1 の時 新たに追加される値は 1 変数計算後に同じ変数に代入する演算子( 複合演算子 ) 例えばa という変数に 10 を足し その結果を変数 a に代入する式は a = (a+10); となります このような場合に便利な書き方があります 上記の場合 a +=10; と書くこともできます 演算子使用例 同じ処理の式説明 += a+=b a=(a+b) a にb を足して その結果を a に代入する -= a-=b a=(a-b) a からb を引いて その結果を a に代入する *= a*=b a=(a*b) a とb をかけて その結果を a に代入する /= a/=b a=(a/b) a をb で割って その結果を a に代入する %= a%=b a=(a%b) a をb で割った余りを a に代入する &= a&=b a=(a&b) a とb をAND し その結果を a に代入する = a =b a=(a b) a とb をOR し その結果を a に代入する ^= a^=b a=(a^b) a とb をXOR し その結果を a に代入する 20

22 <<= a<<=b a=(a<<b) >>= a>>=b a=(a>>b) a をb ビット分左にシフトして その結果を a に代入する a をb ビット分右にシフトして その結果を a に代入する 演算の順番 算数の計算をする時 同じ式の中にいくつも加減乗除の計算がある場合 足し算や引き算よりも掛け算や 割り算を先に また ( ) があればその中を先に計算するという決まりがありますね それと同じように 定数や変数の演算にも優先順位が決まっています 優先順位 高い 低い 演算子 ( )! ~ * / % + - << >> < <= > >= ==!= & ^ && = += -= *= /= %= &= ^= = <<= >>=, 21

23 制御文定数や変数の比較をし その真偽によってプログラムで実行する処理の流れを変えたり 同じ処理を繰り返し行うなどの制御ができます if 制御文 if を使った制御文は 比較した結果により処理の流れを変える時に使用します 次の3 通りの使い方があります if 文は その処理の中に if 文を記入する 多段 if 文 を作ることもできます 使い方説明使用例フローチャート if( 条件 ) 真の場合の処理 ( 条件 ) が真ならば 真の場合の処理 を行う if(a>=5) b=10; C=b+2; if( 条件 ) 真の場合の処理 else 偽の場合の処理 ( 条件 ) が真ならば 真の場合の処理 を行い そうでなかったら 偽の場合の処理 を行う if(a>=5) b=10; C=b+2; else b=5; c=b-2; if( 条件 1) 処理 1 else if( 条件 2) 処理 2 else 処理 3 ( 条件 1) が真ならば 処理 1 を行う ( 条件 1) がそうではなかったら ( 条件 2) を調べ 真なら 処理 2 そうでなかったら 処理 3 を行う if(a>=5) b=10; C=b+2; else if(a<5) b=5; c=b-2; else b=1 1 2 間違えやすいポイント 制御文を書く時に間違えやすいポイントがあります 条件を書くときに使う演算子に注意! a==0 と書かなくてはならないところを a=0 と書いてしまうと a に 0 を代入するという文になってしまい 期待した通りの処理をされなくなります 条件判断ではその値が 0 の時だけ 偽 それ以外は全て 真 と判断します ; を付けるとそこで終わり! 制御文の文字 (if や else など ) の後には ; は必要ありません で囲った処理内の文の後には必ず必要ですが if(a==1); b=0; と書くと if 文の処理が b=0; の前で終わってしまい b=0; は if の文として実行されません if(a==1) b=0;; elseb=1; と書くと if(a==1) b=0; で if 文の処理が終わってしまうことになり その後の else に対応する if がなくなってしまうことになり エラーになってしまいます ; は そこでその文の処理が終わるマーク とおぼえておくとよいでしょう 22

24 switch 制御文条件の内容により分岐先をいくつも変えるような場合に使用するのが switch 文です 使い方説明使用例 switch( 条件 ) case 値 1: 値 1 の場合の処理 ; break; case 値 2: 値 2 の場合の処理 ; break; case 値 3: 値 3 の場合の処理 ; break; default: 条件結果がどれにも当てはまらない場合の処理 ; フローチャート ( 条件 ) の内容が値 1 に等しい場合は 値 1 の場合の処理を行う ( 条件 ) の内容が値 2 に等しい場合は 値 2 の場合の処理を行う ( 条件 ) の内容が値 3 に等しい場合は 値 3 の場合の処理を行う ( 条件 ) の内容が値のどれにも当てはまらない場合には default に書いた処理を行う int a; int b; switch(a) case 1: //a が 1 の時 b=10; break; case 3: //a が 3 の時 b=20; break; case 4: //a が 4 の時 b=40; break; default: //a がそれ以外の時 b=0; 間違えやすいポイント case 値 : 文の後ろは ;( セミコロン ) ではなく :( ダブルコロン ) です case 値 : のあとの処理文の後には break; が必要! break; が無いと 条件判断に戻らず 次の行の処理を行うことになりますので 上の例で case 1: に対応する break; が無かったとすると case 1 の処理後 続けて case 2 の処理をしてしまいます case 値 : の 値 には変数は使用できません! 定数 または定数の計算式のみ使用できます switch( 条件 ) case 値 1: case 値 3: 値 1 3 の場合の処理 ; break; case 値 2: 値 2 の場合の処理 ; break; 条件判断の結果の値が異なる場合でも同じ処理をさせたいときには 左記のように一つの処理に複数の case 値 : を書くこともできます 23

25 for 制御文 for を使うと 同じ処理を回数を数えながら繰り返すことができます 使い方説明使用例フローチャート for( 変数の初期値 ; 条件 ; 増減処理 ) 繰り返す処理 ; 変数の初期値を設定し その変数が条件の真偽を判断する 条件が真の場合は 繰り返す処理 を実行した後 変数の増減を行い再度条件判断を行う 変数が条件判断が真である限り 繰り返す処理 を行い 条件判断が偽になると繰り返しから抜ける int a; int b=10; for(a=0;a<=5;++a) --b; for 文は数を数えながら繰り返すだけではなく 条件が成立するならば繰り返すという使い方もできま す 使い方説明使用例 for( 変数の初期値 ; 条件 ; 変数を変化させる処理 ) 繰り返す処理 ; 前述の例の 変数の増減 が 変数の変化処理 に変わった書き方 処理は同じで 条件 が真である限り 繰り返す処理 を実行する for の後の ( ) 内の 変数の初期化 と 変数を変化させる処理 は, で区切ることでいくつも書くことができる int a,b,; int c=0x01; for(a=0,b=10;a<=b;++a,b-=2) C<<=1; 繰り返す処理の途中に if 文と break; を入れると その if 条件を満たした場合 繰り返すループから抜 けることができます 使い方説明使用例フローチャート for( 変数の初期値 ; 条件 ; 増減処理 ) 繰り返す処理 1; if( 中断条件 ) break; 繰り返す処理 2; for 文の条件が真の場合は 繰り返す処理 1 を実行した後 中断条件 判断を行い 真なら繰り返し処理を即座に中断します 中断条件 判断が偽なら 繰り返す処理 2 を実行し 増減処理を行った後 for 文の条件判断を行います int a; int b=c=10; for(a=0;a<=10;a++) --b; if(a==5) break; C-=2; 24

26 繰り返す処理の途中に if 文とcontinue; を入れると その if 条件を満たした場合 continue 以降の処理を中断し 変数増減処理に飛ぶことができます 使い方説明使用例フローチャート for( 変数の初期値 ; 条件 ; 増減処理 ) 繰り返す処理 1; if( 中断条件 ) continue; 繰り返す処理 2; for 文の条件が真の場合は 繰り返す処理 1 を実行した後 中断条件 判断を行い 真ならそれ以降の 繰り返す 2 は実行せずに変数の増減処理に移行し for 文の条件判断を続行します 中断条件 判断が偽なら 繰り返す処理 2 を実行し 増減処理を行った後 for 文の条件判断を行います int a; int b=c=10; for(a=0;a<=10;++a) --b; if(a==5) continue; C-=2; while 制御文 while 制御文は 条件が真である限りならば処理を繰り返し実行します 前述のfor 文で条件が成立する限り繰り返す書き方がありましたが動作はそれと同じです for 文ではその後の ( ) 内に 条件の他に変数の初期設定と変化処理を書きましたが while 文では while 文の前に変数の初期設定を でくくられた繰り返す処理の中に変数の変化処理を書きます 使い方説明使用例フローチャート 変数の初期設定 ; while( 条件 ) 繰り返す処理 ( 変数変化処理を含む ); まず変数の初期設定 条件が真の場合は 繰り返す処理 を実行 偽なら繰り返し処理から抜ける 条件判断に使う変数の値の変化は 繰り返す処理 の中に含める int a=0; int b=10; while(a<=10) b-=2; ++a; 25

27 while 文では条件判断をした後に繰り返す処理を実行しますが do-while 文を使用すると 最初に処理を実行した後 条件判断を行う事ができます 使い方説明使用例フローチャート 変数の初期設定 ; do 繰り返す処理 ( 変数変化処理を含む ); while( 条件 ); まず変数の初期設定 最初に 繰り返す処理 を実行 その後に条件判断を行い 真なら 繰り返す処理 にもどり 偽ならこの繰り返しから抜ける int a=0; int b=10; do b-=2; ++a; while(a<=10); while 文でも for 文の時と同じように break; や continue; を使用することができます 使い方説明使用例フローチャート 変数の初期設定 ; while( 条件 ) 繰り返す処理 1; if( 中断条件 ) break; 繰り返す処理 2; 変数変化処理 ; while 文の条件が真の場合は 繰り返す処理 1 を実行した後 中断条件 判断を行い 真なら繰り返し処理を即座に中断します 中断条件 判断が偽なら 繰り返す処理 2 を実行し 変数変化処理を行った後 while 文の条件判断を行います int a=10; int b=c=0; while(a>=10) ++b; if(a==0) break; C+=2; a--; 変数の初期設定 ; while( 条件 ) 繰り返す処理 1; 変数変化処理 ; if( 中断条件 ) continue; 繰り返す処理 2; while 文の条件が真の場合は 繰り返す処理 1 を実行した後 中断条件 判断を行い 真ならそれ以降の 繰り返す 2 は実行せずに変数の変数変化処理に移行し while 文の条件判断を続行します 中断条件 判断が偽なら 繰り返す処理 2 を実行し 変数変化処理を行った後 while 文の条件判断を行います int a=10; int b=c=0; while(a>=10) ++b; a--; if(a==0) continue; C+=2; 26

28 do-while 文でも break; や continue; を使用することができます 使い方説明使用例フローチャート まず変数の初期設定 変数の初期設定 ; do 繰り返す処理 1; if( 中断条件 ) break; 繰り返す処理 2; 変数変化処理 ; while( 条件 ); 最初に 繰り返す処理 1 を実行した後 中断条件 判断を行い 真なら繰り返し処理を即座に中断します 中断条件 判断が偽なら 繰り返す処理 2 を実行し 変数変化処理を行った後 while 文の条件判断を行います while 文の条件が真なら 繰り返す処理 1 にもどり 偽ならこのループから抜けます int a=10; int b=c=0; do ++b; if(a==0) break; C+=2; a--; while(a>=10); 変数の初期設定 ; do 繰り返す処理 1; 変数変化処理 ; if( 中断条件 ) continue; 繰り返す処理 2; while( 条件 ); まず変数の初期設定 最初に 繰り返す処理 1 を実行した後 中断条件 判断を行い 真なら 繰り返し処理 2 を行わずに while 文の条件判断を行います 中断条件 判断が偽なら 繰り返す処理 2 を実行し 変数変化処理を行った後 while 文の条件判断を行います while 文の条件が真なら 繰り返す処理 1 にもどり 偽ならこのループから抜けます int a=10; int b=c=0; do ++b; a--; if(a==0) continue; C+=2; while(a>=10); 間違えやすいポイント do-while 文で do の後に ( ) はありません do-while 文で while( 条件 ) の後には ; が必要です continue を使った文では 変数変化処理を記述する場所によって 無限ループ に陥ってしまいます 例えば continue; の後に変数変化処理を書くと 中断条件により変数変化処理を行わずに while( 条件 ) の判断になるために条件変数が変化せず いつまでも 繰り返し処理 を繰り返す事になります 27

29 while 文を使用し その処理をいつまでも繰り返す 無限ループ を作ることもできます 使い方説明使用例フローチャート while(1) 繰り返す処理 ; 条件が 1 なので常に真となるため 繰り返す処理 をいつまでも繰り返す int a=0; while(1) ++a; 無限ループの繰り返し処理の中に break; 文を書くことで 無限ループから抜ける事もできます 使い方説明使用例フローチャート while(1) 繰り返す処理 ; if( 中断条件 ) break; 条件が 1 なので常に真となるため 繰り返す処理 実行 中断条件 判断が偽なら 繰り返す処理 を繰り返し 真なら無限ループから抜けます int a=0; while(1) ++a; if(a==10) break; for 文を使用して無限ループを作ることもできます もちろん break; も使用することができます for(;;) 繰り返す処理 ; 使い方説明使用例 for(;;) 繰り返す処理 ; if( 中断条件 ) break; for 文の変数初期値や条件文 変数の増減処理がありませんが 条件が 0 以外なので常に真 となるため 繰り返す処理 をいつまでも繰り返す 条件が 0 以外なので常に真となるため 繰り返す処理 実行 中断条件 判断が偽なら 繰り返す処理 を繰り返し 真なら無限ループから抜けます int a=0; for(;;) ++a; int a=0; for(;;) ++a; if(a==5) break; 28

30 関数 関数とは ある処理に対しその手順を記したものです 関数の書き方 関数は 戻り値の型関数名 ( 引数の型仮引数名 ) 処理記述 ; return 戻り値 ; このように書きます 戻り値や引数 仮引数など難しそうな名前が並んでいます もっとわかりやすく 関数を図にしてみました a func c b 左のように 上から数字を入れると下から計算結果が出てくる箱があります この箱は func という名前がついています この箱は中で a+b という計算をしなさい! という指令書が入っていました なのでa+b の計算がされ その答えが c とします a とb は整数だとすると 答えのc も整数です 整数をあつかうデータの型には char やint などがありましたね ここでは int としましょう これを先ほどの関数の書き方に当てはめると int func(int a, int b) int c; c=a+b; return c; となります 戻り値はその関数の計算結果 仮引数とはその関数で使われる値の入れ物と考えるとわかり やすいでしょう また 関数で計算をするときには仮引数に値を入れなくてはいけませんが 仮引数に入 れる値のことを 実引数 といいます 数学で =+y =5,y=2 のように書きますね この時の が関数 数式中の,y が仮引数 その値を決める =5,y=2 が実引数とイメージするとわかりやすいかもしれません 関数の終わりに return を書くことで 計算結果を関数に 答えはこれですよ! と伝えることができま す a func1 c d b 関数によっては 答え を伝えない場合があります int c,d; void func1(int a, int b) c=a; d=b; 29 例えば 左の関数 func1 の中には a を c に b を d に入れなさい! という指令書が 入っていたとすると 上から a b を入れて処 理をした後 その値を関数に伝えなくて良い 場合には return を書く必要はありません

31 関数に戻ってくる値がない場合 戻り値の型 には void と書きます func2 c また 仮引数がない関数もあります 例えば 左の関数 func2 の中には 1+6 をして c に入れなさい! という 指令書が入っていたとすると 上から何 も入れなくても値 7 が入った c が 出てくることになります この c を関数 に伝える場合には return を書いて関数 に返します 仮引数の値がないので ( ) の中には void と書きます 仮引数がない場合の ( ) 内の void は省略する ことができます int func2(void) int c; C=1+6; return C; func3 戻り値も仮引数も無い関数もあります void func3(void) Serial.end() 例えば 左の関数 func3 の中にはパソ コンとの通信を制御する Serial.end() という指令書が入って います この命令はパソコンとの通信を ストップする手順が書かれているだけ で 戻り値も仮引数もありません 戻り値も仮引数の値もないので 戻り値の型にも ( ) の中にも void と書きます 仮引数がない場合の ( ) 内の void は省略することができます Arduino 言語でのメインプログラムの書き方 Arduino 言語では電源を入れた時やリセットされた時に 1 度だけ実行される void setup() と 実際に実 行する void loop() の 2 つの関数を必ず書く決まりになっています void setup() は各ピンモードや変数の初期設定などを記入します void loop() は実際に実行されるプログラムの命令を記入し Arduino の電源が ON になっている間はこの 部分を繰り返し実行します void setup() // 各ピンの初期設定など void loop() // 実行するプログラム内容 30

32 関数のプロトタイプ宣言 loop 関数に他の関数を書き加えてプログラムを書きますが その他のプログラムをそのまま中に書くと とても長くなったり とてもわかりにくいプログラムになってしまいます void loop() int func0 (int a,int b) return(a+b); void func1 (char c,char d) d<<1; e>>1; int func0 (int a,int b) return(a+b); 左の例では loop 関数の中に func0 func1 という関数が入っていま す この例ではそれぞれの関数はそれほど長くないのですが 実際はも っと長くなることもあります また func0 は 2 回書かれていますので まとめてスッキリさせた いですね void loop() func0 (3,6); func1 (0x11,0x80); func0 (2,4); int func0 (int a,int b) return(a+b); void func1 (char c,char d) d<<1; e>>1; loop 関数はこの部分だけ loop 関数の外に書かれた関数を呼び出して使う 呼び出す関数はここに書かれている 上のように書くと少しスッキリします 複数回使用する関数も 1 つだけ書けば良いので見やすくなります しかし! この書き方はちょっと問題があります それは func0 func1 の関数の記述が loop 関数より下にあるの で loop 関数を実行した時 それぞれの関数がまだ読み込まれておらず その時点では func0 func1 が何な のかわからないためエラーになってしまうのです loop 関数の上に func0 func1 の記述をすればよいのでしょうが 関数がとても多くなった場合にはとても 大変なことになります そこで loop 関数の前に このプログラムでは次の関数を使いますよ! と宣言をする記述をします 31

33 それを 関数のプロトタイプ宣言 といいます int func0 (int a,int b); void func1 (char c,char d); 関数のプロトタイプ宣言このプログラムで使う関数を loop 関数の前に宣言します void loop(void) func0 (3,6); func1 (0x11,0x80); func0 (2,4); 関数のプロトタイプ宣言は 戻り値の型関数名 ( 引数の型仮引数名 ); の形で書くことになっています int func0 (int a,int b) return(a+b); void func1 (char c,char d) d<<1; e>>1; グローバル変数とローカル変数 関数などで一時的に値を入れておく場所を変数と呼ぶことは最初にお話しました では 次のようなプログラムの場合 変数はどれになるでしょう? void loop(void) int a,b,c; a=b+c; int a,b,c; void loop(void) a=b+c; どちらの書き方も a b c は int 型 の値を取る変数だ と宣言していますの で a b c は変数ですね しかし この2 つは同じ変数の宣言をしているのですが 意味が異なります 上の左側の場合のように 関数の中で変数を宣言をすると その変数はその関数の中のみで使える変数になります a b c はその関数のみで使える変数になり このような変数を ローカル変数 といいます 上の右側の場合は 関数の外で変数の宣言をしています この場合の a b c はメイン関数以外でも使用することができる変数になり このような変数を グローバル変数 といいます 32

34 デジタル入出力 Arduino のポートをデジタル入力 またはデジタル出力として使用する場合に使用する関数です ピンの動作を入力または出力または プルアップ機能を利用した入力に設定します 書き方 パラメーター pin: 設定したいピンの番号 pinmode(pin, mode) mode:input OUTPUT INPUT_PULLUP pinmode(9, OUTPUT); //9 番ピンが出力になります 使用例 pinmode(13,input); //13 番ピンが入力になります pinmode(a0, INPUT_PULLUP); //A0 番ピンがプルアップされた入力になります 指定したピンを HIGH またはLOW にします HIGH は5V LOW は0V(GND) になります 書き方 パラメーター digitalwrite(pin, value) pin: 設定したいピンの番号 value:high かLOW( または 1 か0) 使用例 digitalwrite(9, HIGH); //9 番ピンがHIGH になります digitalwrite(2, 0); //2 番ピンがLOW になります 指定したピンの状態を調べます 結果はHIGH かLOW になります 書き方 パラメーター digitalread(pin) pin: 調べたいピンの番号 使用例 x = digitalread(9); //x に9 番ピンの状態が HIGH かLOW で記憶されます // 例えば9 番ピンがGND に接続されている場合はLOW になります アナログ入出力 Arduino のポートをアナログ入力 または PWM 出力として使用する場合に使用する関数です 指定したアナログピンの状態を調べます 結果は 0 から5V の電圧範囲を0 から1023 の範囲に変換した値になります Arduino UNO ではA0~A5 がアナログピンとして利用できます 書き方パラメーター analogread(pin) pin: 調べたいアナログピンの番号使用例 x = analogread(a0); //x にA0 番ピンの状態が0 から1023 の整数値で記憶されます 指定したピンからPWM 波を出力 ( アナログ出力 ) します analogwrite の前にpinMode で出力にする必要はありません Arduino UNO では3,5,6,9,10,11 番ピンがアナログ出力ピンとして利用できます analogwrite を実行すると 次に同じピンでanalogWrite を実行するまでPWM 波が出力されます 書き方パラメーター pin: 出力に設定するピン番号 analogwrite(pin, value) value:pwm 出力のデューティ比 (0 から255 の範囲で設定します ) analogwrite(3, 64); //3 番ピンからデューティ比 64 の波形を出力します 使用例 analogwrite(3, 0); //3 番ピンからはデューティ比 0(=0V) が出力されます analogwrite(3, 255); //3 番ピンからはデューティ比 255(=5V) が出力されます 33

35 PWM 制御について analogwrite で出力する PWM とはどのようなものでしょう PWM は pulse width modulation で 日本語では パルス幅変調 といいます digitalwrite で出力を設定した場合 その出力信号は 5V または0V の電圧が連続して出力されるのに対し analogwrite で出力を設定すると 0V と5V が交互に繰り返す信号が出力されます つまり ON とOFF を繰り返すような信号が出力されるわけです このような信号は LED の明るさを変化させたり モーターのスピードを変えるときなどに使用されます PWM 制御の重要なパラメーターに デューティ比 があります デューティ比は PWM 信号の1 周期の5V の時間と0V の時間の比です 1 周期とは 出力信号が 5V になった後に0V になり もう一度 5V になるまでの時間です 1 周期のうち 5V になっている時間と 0V になっている時間が全く同じなら デューティ比は 50% です 1 周期のうち 5V の時間が占める割合をデューティ比といいます Arduino は1 周期を255 個に分割し その分割した時間のいくつ分を5V を出力する時間にするかで設定します analogwrite でvalue を127 に設定するとデューティ比が50% になります value を0 にするとデューティ比は 0% で5V の時間がなくなり ずっと 0V が出力されたままに value を255 にするとデューティ比は 100% で1 周期の全てを5V の時間が占め ずっと 5V が出力されたままになります 例えば 左図のように 3 番ピンに LED 回路が接続され PWM 信号を出力 する場合 デューティ比が高いほど LED は明るく点灯することになりま す 34

36 時間関数 プログラミングでは時間の設定や どのくらい時間が経ったかなどを計ることがよくあります カッコ内で指定された時間待って 次の文の処理へ進みます 書き方パラメーター delay(ms) ms: カッコ内の数値 ( ミリ秒 ) を待ちます delaymicroseconds(us) digitalwrite(9,high); 使用例 delay(500); digitalwrite(9,low); us: カッコ内の数値 ( マイクロ秒 ) を待ちます //9 番ピンを HIGH にします //500 ミリ秒待ちます //9 番ピンを LOW にします 1 ミリ秒 =0.001 秒 1 マイクロ秒 =0.001 ミリ秒 = 秒 Arduino がプログラムの実行を開始してから現在までの時間を計ることができます 書き方パラメーター millis() ありません micros() x = millis() // プログラム実行から現在までの時間を ミリ秒 で計り x に代入 使用例 x = micros() // プログラム実行から現在までの時間を マイクロ秒 で計り x に代入 millis() は約 50 日でオーバーフローし 最初からのカウントになります micros() は約 70 分でオーバーフローし 最初からのカウントになります 注また Arduino UNO では4 マイクロ秒単位での測定となり 測定結果は必ず 4 の倍数になります 便利な機能 Arduino 言語でプログラムを作成するときに使うと プログラムがわかりやすくなるようにできる便利な機 能があります 検証時( コンパイル時 ) に自動的に定数名を値に変換します プログラムを見やすく 間違いを少なくするために有効です # を付けることを忘れないようにします 書き方パラメーター #define 定数名値 使用例 注 定義名 : わかりやすい名前を付けましょう 値 : 定義名に割り付ける値を記入します #define ledpin 4 digitalwirte(ledpin, HIGH); //ledpin は検証時に自動的に 4 に置き換えられます #define 文の最後に ;( セミコロン ) は必要ありません 外部に用意されているライブラリをプログラムに取り入れたいときに使います ライブラリはArduino-IDE にあらかじめ用意されているものや インターネットから入手できるものなどがあります 書き方パラメーター #include < ライブラリ名 > ライブラリ名 : 外部ファイルの名前を書きます 使用例 #include <LiquidCrystal.h> //LCD 表示器のライブラリを使うことができるようになります 注 #include 文の最後に ;( セミコロン ) は必要ありません 35

37 ライブラリとは プログラムを書くときの 決まった手続きや 似たような手続きをまとめて専用の命令としていつでも使えるようにしたものを ライブラリ と呼んでいます 1 回だけ動かすのであれば長いプログラムになっても特に気になりませんが 液晶ディスプレイに文字を表示させる命令などでは 何度も何度も同じような命令を書かなくてはなりません ここでその 決まった手続き を一つの命令にまとめたものがあれば プログラムの作成が便利になり 間違いも少なくなります Arduino には多くのライブラリがあり あらかじめ Arduino IDE にインストールされている 公式ライブラリ と Arduino のユーザーが作成し公開しているライブラリがあります 新しく使いたい部品やモジュールを動かすためのライブラリが用意されていないか インターネットなどでチェックしてみると良いでしょう 36

38 4.Arduino IDE でプログラミング Arduino IDE やドライバーのインストールが完了し LED が点灯 消灯する条件 Arduino 言語の基礎が整いましたので 実際にプログラムの作成を行いましょう Arduino と PICA Tower の LED 部の接続 まず PICA Tower の LED 部と電池ボックスが取り付けられている MCU 部を分離します LED 部と MCU 部はコネクターで接続されていま すので 引っ張って外すことができます Arduino のコネクターにPICA Tower のLED 部を接続します PICA Tower LED 部のコネクターで A5 と印刷してある端子が Arduino の A5 端子に来るように接続します 向きをまちがえないように注意してください こちらが A5 端子 LED 部の接続ができたら Arduino とパソコンを USB ケーブルで接続します Arduino および LED 部の電 源は USB ケーブルを通し パソコンから供給されます Arduino IDE の画面 Aruino IDE を起動すると 下記画面が表示されます 新規ファイル 開く 保存 検証 シリアルモニタ マイコンボードに書き込む プログラム作成エリア メッセージエリア コンソール 37 ボード COM 番号

39 新規ファイル 新しいプログラム作成エリアを開きます 開く 保存しているプログラムを開きます 保存 作成したプログラムを保存します 検証 ( コンパイル ) 正しい文法でプログラムが作成されているかチェックします シリアルモニタ シリアルデータを表示します ( データに何を表示させるかあらかじめプログラムに書く必要があります ) マイコンボードに書き込む プログラムをPC に接続している Arduino 基板に書き込みます アップロードと表示されている場合もあります プログラム作成エリア プログラムを書き込むエリアです メッセージエリア 操作に応じてメッセージやエラーが表示されます コンソール メッセージやエラーの詳細が表示されます ( ) ボード COM 番号 Arduino-IDE で設定している Arduino 基板の種類と COM ポート番号が表示されます ここに表示された文字や単語を検索サイトで調べることで エラー解決に役立つことがあります Arduino のプログラミング Arduino を動かすためのプログラムを作成してみましょう void setup() // 各ピンの初期設定など void loop() // 実行するプログラム内容 Arduino のプログラムは 電源を入れた時やリセットされた時に 1 度だ け実行される void setup() と 実際に実行する void loop() の 2 つの 関数を必ず書く決まりになっていましたね void setup() は各ピンモードや変数の初期設定などを記入 void loop() は実際に実行されるプログラムの命令を記入し Arduino の電源が ON になっている間はこの部分を繰り返し実行しますので まず void setup() 部分を考えてみましょう void setup() pinmode(2,output); //2~13 番ピンをデジタル出力に pinmode(3,output); pinmode(4,output); pinmode(5,output); pinmode(6,output); pinmode(7,output); pinmode(8,output); pinmode(9,output); pinmode(10,output); pinmode(11,output); pinmode(12,output); pinmode(13,output); digitalwrite(11,high); digitalwrite(12,high); digitalwrite(13,high); //11 番ピンをHIGH に //12 番ピンをHIGH に //13 番ピンをHIGH に PICA Tower のLED は縦の同じ位置にある LED のアノード側はそれぞれ 2 番ピン~10 番ピンに カソード側は 1 段目が11 番ピン 2 段目が12 番ピン 3 段目が13 番ピンにつながっていて この端子の出力状態を HIGH または LOW に設定することで点灯をコントロールしますので 2 番ピン~13 番ピンは全てデジタル出力に設定する必要があります また 電源投入時に LED を消灯状態にしておくため digitalwrite で11~13 番ピンを HIGH に初期化しておきます 上記のプログラムでは pinmode 関数で 2 番ピン ~13 番ピンをデジタル出力に設定しています 使用する Arduino 端子の初期設定ができましたので LED を点灯させるプログラムを作成しましょう では 14 ページの表で 1 段目のア の LED だけ点灯するプログラムを考えてみましょう 38

40 void loop() digitalwrite(2,high); digitalwrite(11,low); //2 番ピンをHIGH に //11 番ピンをLOW に 左記のプログラムでは LED ア のアノード側をHIGH に カソード側を LOW にすることでLED ア を点灯させています プログラムの検証と Arduino への書き込み では 前述の void setup() と void loop() を Arduino IDE のプログラム作成エリアに記入してください 記入が終わったら プログラムが正しく書かれている か 検証 ボタンをクリックしてください すると メッセージエリアに結果が表示されます コンパイル終了 と表示されればプログラムは正しく書かれています もし下記のようにメッセージエリアが赤く表示されたときは 記入したプログラムにエラーがあります エラー内容の詳細はコンソールに表示されますので そ の内容を頼りに修正してください 検証 がOK であれば プログラムを Arduino に書き込みます マイコンボードに書き込む ボタンをクリックし メッセージエリアに マイコンボードへの書き込みが完了しました と表示されれば 書き込み完了です 1 段目 ア のLED だけが点灯するはずです もしうまく書き込みができない場合は COM ポートの設定などを確認して下さい 39

41 5. オリジナル点灯パターンを作ろう では オリジナル点灯パターンの作成を行いましょう 前項で LED を1 つだけ点灯させましたが 考え方は同じです 点灯させたい LED につながってる出力ポートの状態をプログラムして制御します 問題 1 段目のLED が全て点灯 (2 段目 3 段目は消灯 ) するプログラムを作成してください 答え 前項のプログラムの void setup() 部分の各端子の初期設定は同じですね 実際の点灯パターンを記述す る void loop() 部分を変更することになります 各 LED のアノード側は Arduino の 2 番 ~10 番ピンに接続されていましたね (14 ページ参照 ) なので 2 ~10 番ピンを HIGH に設定すれば OK です カソード側は 11~13 番ピンに接続されていますので こ の端子を LOW にすると それに対応した段の LED が点灯します 今回は 1 段目だけを点灯させたいので 11 番ピンだけを LOW にすれば OK です void setup() pinmode(2,output); //2~13 番ピンをデジタル出力に pinmode(3,output); pinmode(4,output); pinmode(5,output); pinmode(6,output); pinmode(7,output); pinmode(8,output); pinmode(9,output); pinmode(10,output); pinmode(11,output); pinmode(12,output); pinmode(13,output); digitalwrite(11,high); digitalwrite(12,high); digitalwrite(13,high); //11 番ピンをHIGH に //12 番ピンをHIGH に //13 番ピンをHIGH に void loop() digitalwrite(2,high); digitalwrite(3,high); digitalwrite(4,high); digitalwrite(5,high); digitalwrite(6,high); digitalwrite(7,high); digitalwrite(8,high); digitalwrite(9,high); digitalwrite(10,high); digitalwrite(11,low); //2 番ピンをHIGH に //3 番ピンをHIGH に //4 番ピンをHIGH に //5 番ピンをHIGH に //6 番ピンをHIGH に //7 番ピンをHIGH に //8 番ピンをHIGH に //9 番ピンをHIGH に //10 番ピンをHIGH に //11 番ピンをLOW に 実際に上記のプログラムを作成し Arduino に書き込んでチェックしてください 40

42 問題 1~3 段目の LED が全て点灯するプログラムを作成してください 答え前問のプログラムのカソード側端子を全て LOW にすればOK ですね 前問のプログラムでカソード側 (11~13 番ピン ) の修正部分は下記のようになります digitalwrite(11,low); //11 番ピンをLOW に digitalwrite(12,low); //12 番ピンをLOW に digitalwrite(13,low); //13 番ピンをLOW に 全問で作成したプログラムを修正し Arduino に書き込んでチェックしてください LED を点滅させる 前項までのプログラムでは LED は点灯したままです LED をピカピカと点滅させる方法を考えてみましょう 点滅動作は LED が一定時間点灯したあと 一定時間消灯 これを繰り返す動作です プログラムでも同様に LED を点灯させた後にその状態を一定時間保持 その後消灯させたあと 消灯状態 を一定時間保持 これを繰り返すプログラムを作成します 前問のプログラムを利用し 全体を 0.5 秒間隔で点滅させるプログラムを考えてみましょう まず 全体を点灯させるプログラムは前問のとおりです この状態を 0.5 秒保持するプログラムは 35 ページ の 時間関数 を使用します void loop() digitalwrite(2,high); digitalwrite(3,high); digitalwrite(4,high); digitalwrite(5,high); digitalwrite(6,high); digitalwrite(7,high); digitalwrite(8,high); digitalwrite(9,high); digitalwrite(10,high); digitalwrite(11,low); digitalwrite(12,low); digitalwrite(13,low); //2 番ピンをHIGH に //3 番ピンをHIGH に //4 番ピンをHIGH に //5 番ピンをHIGH に //6 番ピンをHIGH に //7 番ピンをHIGH に //8 番ピンをHIGH に //9 番ピンをHIGH に //10 番ピンをHIGH に //11 番ピンをLOW に //12 番ピンをLOW に //13 番ピンをLOW に delay(500); が 0.5 秒 (500 ミリ秒 ) 保持するプログラムです その後 11~13 番ピンを HIGH にして全部の LED を消灯し もう一 度 delay(500); で 0.5 秒消灯を保持 します Arduino プログラムの void loop() 部は電源が ON の間 ずっと繰り返し ますので 全体の LED が 0.5 秒毎に 点滅を繰り返します delay(500); digitalwrite(11,high); digitalwrite(12,high); digitalwrite(13,high); delay(500); //500 ミリ秒 =0.5 秒待ちます //11 番ピンをHIGH に //12 番ピンをHIGH に //13 番ピンをHIGH に //500 ミリ秒 =0.5 秒待ちます 41

43 LED を回転するように点灯させる 次は 円形に配置された LED をクルクルと回転しているように点灯させてみましょう 回転するように点灯 させるためには 14 ページの表の LED ア イ ウ エ ク ア と 順に点灯する LED を切り替えていけば OK ですね 今回のプログラムでは まん中の LED ケ は消灯したままにしましょう void loop() digitalwrite(11,low); digitalwrite(12,low); digitalwrite(13,low); //11 番ピンをLOW に //12 番ピンをLOW に //13 番ピンをLOW に digitalwrite(2,high); //2 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(2,low); //2 番ピンをLOW に ( 消灯 ) digitalwrite(3,high); //3 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(3,low); //3 番ピンをLOW に ( 消灯 ) digitalwrite(4,high); //4 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(4,low); //4 番ピンをLOW に ( 消灯 ) digitalwrite(5,high); //5 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(5,low); //5 番ピンをLOW に ( 消灯 ) digitalwrite(6,high); //6 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(6,low); //6 番ピンをLOW に ( 消灯 ) digitalwrite(7,high); //7 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(7,low); //7 番ピンをLOW に ( 消灯 ) digitalwrite(8,high); //8 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(8,low); //8 番ピンをLOW に ( 消灯 ) digitalwrite(9,high); //9 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(9,low); //9 番ピンをLOW に ( 消灯 ) まず最初に カソード側を LOW に するプログラムを書きます 全項まではアノード側のプログラム の後に書いていましたが それでは うまく回転するように点灯しない場 合があります なぜなら プログラ ムは上の行から順に実行していくた め 今回のようにアノード側の状態 を切り替える場合 全項と同じよう にアノード側のプログラムの後に書 くと アノード側の処理が終わった 後にカソード側の設定を行う事にな ります プログラムを作成するときは 処理 の順番も考えながら行う必要があり ます アノード側の処理は LED を点灯さ せた後 時間関数で一定時間 ( 今回は 0.5 秒 ) 保持した後にその LED を消灯 し 次の LED アノード側の処理を行 います これを LED ア ~ ク まで行います delay(500); の値を変更すると 回 転する速さを変えることができま す 42

44 制御文を使用してプログラムを作る 前項のプログラムを見ると同じような文が繰り返されていますが 工夫するともっと短いプログラムになり そうです LED は 8 個を順に点灯させて 1 周させ それを繰り返せばよいわけですから 数をかぞえながら 繰り返す for 文 が使用できそうです void loop() digitalwrite(11,low); digitalwrite(12,low); digitalwrite(13,low); for (int a=2;a<10;++a) digitalwrite(a,high); delay(500); digitalwrite(a,low); 上記プログラムがその例です for (int a=2;a<10;++a) は LED が 1 周する 8 回を数える変数 a を初期値 2 で設定し a が 10 より小さ ければ で囲った部分を実行します 変数 a の初期値を 2 にしたのは この変数を digitalwrite で設定 するアノード側のピン番号にも使用するためです まず 変数 a は初期値が 2 になります 2 は 10 より小さいので条件判断は 真 ですから for 文の を実 行します digitalwrite(a,high); delay(500); digitalwrite(a,low); //11 番ピンをLOW に //12 番ピンをLOW に //13 番ピンをLOW に //1 周を数える変数を a に // 変数 a に対応するピンを HIGH に //500 ミリ秒 =0.5 秒待ちます // 変数 a に対応するピンを LOW に digitalwrite(a,high); では 変数 a が 2 なので 2 番ピンが HIGH になり 2 番ピンに接続された LED ア が点灯します delay(500); で 0.5 秒待った後 digitalwrite(a,low); で変数 a の端子 (2 番ピン ) が LOW になり LED が消灯します for 文の 内の処理が終わると 変数 a がインクリメント (+1) され 3 になります これを a が 9 の場合まで繰り返し a=10 になったら for 文の処理から抜け void loop() の最初の行に戻り 繰り返します 問題上記のプログラムは縦 3 つのLED が同時に点灯しクルクルと回りますが これを 1 段目だけのLED が1 周回ったら2 段目だけが1 周 それが終われば 3 段目だけが1 周 この動作を繰り返すプログラムを作ってみましょう このプログラムは カソード側も for 文で切り替えていくとよいでしょう 答え カソード側を for 文で切り替え さらにアノード側も for 文で切り替えていく方法を考えてみましょう 次ページのプログラムがその例で for 文の中に for 文がある 2 重構造 になっています 43

45 void loop() for (int b=11;b<14;++b) digitalwrite(b,low); for (int a=2;a<10;++a) digitalwrite(a,high); delay(500); digitalwrite(a,low); digitalwrite(b,high); for ( 変数 2; 条件 2; 変数変化 2) for ( 変数 1; 条件 1; 変数変化 1) 処理プログラム for 文 1 for 文 2 // 段を切り替える変数を b に // 変数 b に対応する段のカソードを LOW に //1 周を数える変数を a に // 変数 a に対応するピンを HIGH に //500 ミリ秒 =0.5 秒待ちます // 変数 a に対応するピンを LOW に // 変数 b に対応する段をHIGH に 2 重のfor 文は左記のような構造になっていますが for 文 2 を実行する中に for 文 1 があるので for 文 1 の条件が偽となり for 文 1 のループを抜けたあと for 文 2 の条件が真で for 文 2 のループ処理を引き続き実行する場合 再度 for 文 1 のループが実行されることになります 上記のプログラムは 段を制御するカソード側をセットした後にアノード側を 1 周させるように切り替 え その 1 周が終わったら次の段に切り替えるという手順になっています カソード側は 3 段目の処理まで完了したら 1 段目に戻るようになっています 44

46 関数を使用する 前項までは 1 種類の点灯パターンをプログラムしましたが 順番に数種類の異なった点灯パターンを実行す る方法を考えてみましょう プログラムは上の行から順番に実行していきますので その点灯パターンの通りに順に記述していっても OK です void loop() for (int a=0;a<5;a++) for(int b=2;b<11;b++) digitalwrite(b,high); digitalwrite(11,low); digitalwrite(12,low); digitalwrite(13,low); // 全点滅 5 回繰り返しループ //2~11 番ピンを HIGH に //11 番ピンをLOW に //12 番ピンをLOW に //13 番ピンをLOW に delay(500); digitalwrite(11,high); digitalwrite(12,high); digitalwrite(13,high); delay(500); for(int c=2;c<11;c++) digitalwrite(c,low); for (int d=11;d<14;d++) digitalwrite(d,low); for (int e=2;e<10;e++) digitalwrite(e,high); delay(500); digitalwrite(e,low); //500 ミリ秒 =0.5 秒待機 //11 番ピンをHIGH に //12 番ピンをHIGH に //13 番ピンをHIGH に //500 ミリ秒 =0.5 秒待機 //2~11 番ピンをLOW に初期化 // 段を切り替える変数を d に // 変数 d に対応する段のカソードを LOW に //1 周を数える変数を e に // 変数 e に対応するピンを HIGH に //500 ミリ秒 =0.5 秒待機 // 変数 e に対応するピンを LOW に digitalwrite(d,high); // 変数 d に対応する段をHIGH に 上記のプログラムは ピカピカと全体を 5 回点滅させた後 1 つずつクルクルと点灯させるプログラムです たった2 つの点灯パターンですが 長くてわかりづらいですね もっと多くの点灯パターンを作る場合 もっとわかりにくくなりそうです そこで 点灯パターンごとに 関数 を作って それを呼び出して使うプログラムを考えてみましょう 45

47 // 関数のプロトタイプ宣言 void initial(); // 初期設定 void ptn0(); //LED 全消灯 ( 初期化 ) void ptn1(); // 点灯パターン1 void ptn2(); // 点灯パターン2 // void setup() initial(); void loop() for (int x=0;x<5;x++) ptn1(); ptn0(); ptn2(); // 初期設定関数呼び出し // パターン1 を5 回繰り返し // 点灯パターン1 を呼び出し //LED 初期化を呼び出し // 点灯パターン1 を呼び出し ptn0(); delay(500); // LED 初期化を呼び出し //0.5 秒消灯 // 初期設定 void initial() for(int a=2;a<14;a++) pinmode(a,output); // 変数 a に対応するピンをデジタル出力に digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に // // 全 LED 消灯 ( 初期化 ) void ptn0() for(int b=2;b<11;b++) digitalwrite(b,low); // 変数 b に対応するピンを LOW に digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に // // 点灯パターン1( 全 LED 点滅 ) void ptn1() for(int c=2;c<11;c++) digitalwrite(c,high); // 変数 c に対応するピンを HIGH に digitalwrite(11,low); //11 番ピンをLOW に 46

48 digitalwrite(12,low); //12 番ピンをLOW に digitalwrite(13,low); //13 番ピンをLOW に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます // // 点灯パターン2(LED1 周点滅 1 段 2 段 3 段 )---- void ptn2() for (int d=11;d<14;++d) // 段を切り替える変数を d に digitalwrite(d,low); // 変数 d に対応する段のカソードを LOW に for (int e=2;e<10;++e) //1 周を数える変数を e に digitalwrite(e,high); // 変数 e に対応するピンを HIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(e,low); // 変数 e に対応するピンを LOW に digitalwrite(d,high); // 変数 d に対応する段をHIGH に // 上記が点灯パターンを関数にしたプログラムです 最初にこのプログラムで使用する関数のプロトタイプ宣言を行います このプログラムでは initial() ptn0() ptn1() ptn2() の 4 つの関数を使用しています Arduino のプログラムに必須の void setup() と void loop() は赤い破線で囲った部分だけです その下に先ほどの 4 つの関数の実行内容が記述されています ( 青い破線部分 ) void setup() で Arduino の初期設定を記述した initial() を呼び出しています void loop() では 点灯パターンの関数 ptn0 ptn1 ptn2 を呼び出しています ptn1 は for 文の中で呼び出し 5 回繰り返しています このように 点灯パターンなどの定型プログラムを関数にしておくことで プログラムがとても見やすくなりますし 同じ関数を何度も使用する動作記述 ( 上記例では LED の初期化 ) を関数にしておくと 関数の記述を 1 度しておけば何度も呼び出して使用することができ 便利になります 47

49 6. 明るさセンサーを使おう PICA Tower には周囲の明るさをキャッチする明るさセンサーが標準で搭載されています この明るさセンサーは CdS( シーディーエス ) という電子部品で CdS に当たる光が明るくなると CdS の抵抗値が低くなり 暗くなると高くなるという性質があり これを利用して周囲の明るさをキャッチします Arduino の A0 端子 左はPICA Tower のCdS 回路部分だけを抜き出したものです 抵抗とCdS が直列につながり その両端が電源に 中間が Arduino のA0 端子につながっています A0 端子につながっている端子の電圧は CdS の抵抗値により変化します これは 電源電圧の 4.5V が固定抵抗 RS とCdS の抵抗値の比により分割されるからです このことを 分圧 といいます これはオームの法則で求めることができます 例えば CdS の抵抗値を XkΩ とすると 全体の合成抵抗は (10+X)kΩ ですね 計算しやすいように kω はは ずして考えましょう この合成抵抗に流れる電流は 電流 = 電圧 抵抗ですから. です 厳密には Arduino にも電流が流れるのですが その電流はこの抵抗に流れる電流に比べとても小さいため 無視して計算することができます この時 CdS に加わる電圧は 電圧 = 電流 抵抗ですから. + X=4.5 となり 電源電圧を固定抵 抗と CdS の合成抵抗で割ったものに CdS の抵抗値をかけたもの つまり CdS と合成抵抗の比になります A0 端子 例えば CdS に光があたっている時 ( 周囲が明るい時 ) の CdS の抵抗値が 1kΩ だった とすると CdS に加わる電圧 =A0 端子に加わる電圧ですから A0 端子の電圧 = 抵抗値 :1kΩ で 約 0.4V です A0 端子 抵抗値 :100kΩ また CdS に光があたっていない時 ( 周囲が暗い時 ) の CdS の抵抗値が 100kΩ だった とすると CdS に加わる電圧 =A0 端子に加わる電圧ですから A0 端子の電圧 = で 約 4.1V になります このように CdS の抵抗の変化を電圧の変化に変換することで その電圧の値を Arduino で読み取ることが 48

50 できます Arduino ではA0~A5 の6 つの端子の電圧を読み取ることができ analogread(pin) で読み取る端子を指定します この端子は アナログ入力端子 といいます これによりanalogRead で指定した端子の電圧の値に応じて LED の点灯パターンを変えるというプログラムを作ることができるのです アナログ入力で読み取った値 Arduino はアナログ入力に使用できる端子は 前述のように A0~A5 の6 端子を持っていています 読み取れる電圧の分解能は 10 ビットです 分解能が10 ビット とは 基準になる電圧を 2 =1024 分割した精度で読み取ることができるという意味です 例えば 基準電圧が 5V の場合 = V で 約 4.9mV 刻みで読み取ることができます 読み取った値が 0V だった時 読み取った電圧の値は 0 5V の時が1023 となります この値を使用し analogread で読み取った値が512 より小さいときは消灯する というようなプログラムを作成することができます アナログ入力を使ってみよう シリアルポートモニターでは アナログ入力を使って点灯パターンを作成する前に 明るさセンサーでアナログ入力の値がどのように変化しているのか見てみましょう Arduino はパソコンとデータ通信をすることができます この機能を利用し アナログ入力で読み取った値をパソコンに表示させてみましょう int akarusa; //A0 端子の電圧値を記憶させておく変数を宣言 void setup() Serial.begin(9600); // パソコンとの通信速度を 9600 に void loop() akarusa = analogread(a0); Serial.println(akarusa); delay(500); //A0 端子の値をakarusa に //akarusa の内容をパソコンに表示 // 次の表示まで0.5 秒待つ 上記がパソコンに A0 端子の電圧値を読み取った結果を表示させるプログラムです 上記を入力したら Arduino にプログラムを書き 込んだ後 メニューバーの ツール シリ アルモニタ を選択してください 49

51 すると左図のウインドウが開き 0.5 秒ごとに読み取った値が表示されます この時表示がおかしい場合はウインドウ右下の数字 ( 赤で囲った部分 ) が9600bps になっているか確認して下さい この数値をSerial.begin で設定した数値と同じにしておかないと 表示される文字がおかしくなります Arduino とパソコンのデータ通信の関数は下記のとおりです Arduino とパソコンのデータ通信の速度を設定します 書き方パラメーター速さ : 通信速度を記入します パソコンと通信する場合 Serial.begin( 速さ ) の中から選びます 通常は 9600 にします 使用例 Serial.begin(9600); // 通信速度を9600 に設定します パソコンとデータ通信をするためのシリアル端子にデータを出力します 書き方パラメーターデータ : 出力するデータを記入します 数値だけでなく文字を出力することもできます ( ただし日本語は不可 ) 変換型 : 出力するデータを何進数で表示するかを設定します Serial.print( データ, 変換型 ) 10 進数のときはDEC 16 進数のときはHEX 2 進数のときはBIN 変換型は省略する事が可能で 省略したときは DEC と同じ Serial.print (93); // シリアル端子に 93 が出力される Serial.print (93,HEX); // シリアル端子に 5D が出力される使用例 Serial.print (93,BIN); // シリアル端子に が出力される Serial.print ( HELLO ); // シリアル端子に HELLO が出力される // 文字を出力するときには で文字を囲む パソコンとデータ通信をするためのシリアル端子に データの末尾に改行コードを付けて出力します 書き方パラメーターデータ :Serial.print と同じ Serial.println( データ, 変換型 ) 変換型 :Serial.print と同じ 使用例 Serial.println (93); // シリアル端子に 93+ 改行が出力される Serial.print と Serial.println の違いは改行コードが付加されるかどうかだけです 前ページのプロ グラムの Seril.println を Serial.print に変えてみて実行してみましょう Seril.print は改行がありませんので 数値がヨコにつながって表示 されます 50

52 int akarusa; void setup() Serial.begin(9600); //A0 端子の電圧値を記憶させておく変数を宣言 // パソコンとの通信速度を 9600 に void loop() akarusa = analogread(a0); Serial.print( akarusa= ); Serial.print( t ); Serial.println(akarusa); delay(500); //A0 端子の値を akarusa に //akarusa の内容をパソコンに表示 // 次の表示まで0.5 秒待つ 先ほどのプログラムに上記の赤で示した 2 行を追加して実行してみてください 左図のように文字と空白が追加されて表示されます t はエスケープコードといいます プログラム上に タブ や 改行 など文字で表せない物や プ ログラムで使用できない? などの文字を書きたいときに使用 します 例えば と書きたいとき と書きます? と書きたいとき? と書きます タブ を書きたいとき t と書きます 改行 を書きたいとき n と書きます 上記のプログラムでは akarusa= akarusa の値 ( 改行 ) と表示されます タブ アナログ入力を使ったプログラムでは LED 部ベース基板にある CdS に手をかざして 明るさの状況を変化させてみましょう 明るいときは300 くらいだった値が 800 くらいに変化します 明るさの状況により この数字通りにならない場合もありますが 明るい時より暗い時のほうが値が大きくなります この変化を利用し 明るいときは全部の LED が点灯し 暗くなると 1 段ずつ1 個のLED がクルクル回るプログラムを考えてみましょう 明るさの状態 =A0 端子の電圧値により処理が変わりますので 制御文の if 文 が使用できそうです if 文は もしも が なら を実行し そうでないなら を実行する というものでしたので 今回のプログラムに当てはめると もしも A0 端子の値が600 より小さいなら全 LED の点滅を行い そうでない (600 以上 ) なら1 段ずつ1 個のLED がクルクル回る様に点灯させる ということになります プログラム切り替えのしきい値 を600 としましたが この値は明るさの状況により変わりますので シリアルモニターで明るい時と暗い時の数値を見ながら決めてください 51

53 しきい値 しきい値とは動作が切り替わる境になる ある決められた値 のことをで いき値 とも呼ばれます 以下は このプログラム例です // 関数のプロトタイプ宣言 void initial(); // 初期設定 void ptn0(); //LED 全消灯 ( 初期化 ) void ptn1(); // 点灯パターン1 void ptn2(); // 点灯パターン2 // // 変数宣言 int akarusa; //int 型の変数 akarusa を設定 (A0 の値代入用 ) // void setup() initial(); // 初期設定関数呼び出し void loop() ptn0(); //LED 全消灯 ( 初期化 ) akarusa = analogread(a0); //A0 端子の電圧値を akarusa に代入 if(akarusa<600) ptn1(); //akarusa が 600 より小さければ // 点灯パターン 1 を実行 else // そうでなければ (akarusa が600 以上ならば ) ptn2(); // 点灯パターン2 を実行 // 初期設定 void initial() for(int a=2;a<14;a++) pinmode(a,output); // 変数 a に対応するピンをデジタル出力に digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に // // 全 LED 消灯 ( 初期化 ) void ptn0() for(int b=2;b<11;b++) digitalwrite(b,low); // 変数 b に対応するピンを LOW に 52

54 digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に // // 点灯パターン1( 全 LED 点滅 ) void ptn1() for(int c=2;c<11;c++) digitalwrite(c,high); // 変数 c に対応するピンを HIGH に digitalwrite(11,low); //11 番ピンをLOW に digitalwrite(12,low); //12 番ピンをLOW に digitalwrite(13,low); //13 番ピンをLOW に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(11,high); //11 番ピンをHIGH に digitalwrite(12,high); //12 番ピンをHIGH に digitalwrite(13,high); //13 番ピンをHIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます // // 点灯パターン2(LED1 周点滅 1 段 2 段 3 段 )---- void ptn2() for (int d=11;d<14;++d) // 段を切り替える変数を d に digitalwrite(d,low); // 変数 d に対応する段のカソードを LOW に for (int e=2;e<10;++e) //1 周を数える変数を e に digitalwrite(e,high); // 変数 e に対応するピンを HIGH に delay(500); //500 ミリ秒 =0.5 秒待ちます digitalwrite(e,low); // 変数 e に対応するピンを LOW に digitalwrite(d,high); // 変数 d に対応する段をHIGH に // void loop() 部分の if~else~ 部分が明るさにより点灯パターンプログラムの切り替えを行っている部 分です if(akarusa<600) の数値を変更すると点灯パターンが切り替わる周囲の明るさが変わります しきい値が 600 未満のときは ptn1() を 600 以上のときは ptn2() を呼び出して実行しています 以上で Arduino による PICA Tower のプログラムの解説はおしまいです Arduino にはこの他にも色々な機能があり LED の点灯だけでなく 色々と便利な用途に使用することができます 今回のプログラミングをきっかけに 色々チャレンジしてみてください 53

55 ご注意 1 ELEKIT は 株式会社イーケイジャパンの登録商標です 2 本書の内容の一部 または全部を無断転載することはかたくお断りします 3 本書の内容等については 将来予告なく変更する場合があります 4 本書の内容は教育 ホビー用途を目的に記載されていますので 実際の運用には適さない記述があります 5 本書の内容を元に作成されたプログラム等につきまして 弊社では一切の責任を負いかねます ので あらかじめご了承ください C ( 株 ) イーケイジャパン 年 1 月 15 日初版発行

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

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

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

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア 1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとアナログポートを利用し 様々 なセンサーを接続したり デジタルポートの出力により モーターや各種機器をコントロールする

More information

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

Microsoft Word - SU1203教本(Sens)原稿.docx int valsw; // void setup(){ pinmode(13, OUTPUT); pinmode(a4, INPUT_PULLUP); //13 //A4 } void loop(){ valsw = digitalread(a4); if(valsw == 0){ //A4 valsw //valsw } digitalwrite(13, HIGH); //valsw 0LED ------(A)

More information

Microsoft Word - SU1201MotorDriverSheildManual.doc

Microsoft Word - SU1201MotorDriverSheildManual.doc モータードライバーシールドスタートマニュアル はじめにはじめにモータードライバーシールド (SU-1201) は Arduino によって動作させることを前提としています このマニュアルでは モータードライバーシールドを動かすときの具体的な設定や サンプルプログラムについて解説しています 対応する Arduino 2012 年 9 月 1 日現在 Arduino 基板 : Duemilanove UNO(R3)

More information

講習会 Arduino

講習会  Arduino 講習会 Arduino 6 回目 タイマー ( 時間の関数 ) 目的 時間に関する関数を覚え プログラムの制御に使う タイマー割込みを知る 制御をするときにセンサー等の外部入力以外にも時間で制御したい時があるかもしれない 例えば一定の間隔をあけてから制御したい場合や制御してからある時間以内ではこの制御 過ぎてからはこの制御をしたいなど 時間に関する関数を紹介する 時間による割り込みを入れることにより正確な計測を行うことができる

More information

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

Microsoft Word - SU1202教本(Disp)原稿.docx void setup(){ pinmode(9, OUTPUT); void loop(){ digitalwrite(9, HIGH); digitalwrite9,high 9 制限抵抗 A K P 型 N 型 基板 ( 土台 ) + P 型半導体 - N 型半導体 1.2 R(Ω) 1.8 20m 3V digitalwrite(13,high); digitalwrite(13,low);

More information

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

Microsoft Word - SU1204教本(Driver)原稿.docx void setup(){ pinmode(13, OUTPUT); //13 void loop(){ digitalwrite(13, HIGH); //13 HIGH delay(500); digitalwrite(13, LOW); //13 LOW delay(500); setup pinmode loop delay C M B void setup(){ pinmode(12,output);

More information

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

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社 Windows 7 用 2017 年 7 月 シャープ株式会社 はじめに 本書は IC カードリーダライタ RW-4040 を使用するため お使いのパソコンにデバイスドライバソフトウェア ( 以下 ドライバソフト と記載 ) をインストールする方法について記述しています このドライバソフトは Windows 7 SP1 で動作します 本書では ドライバソフトバージョン 2.27 のインストールについて説明します

More information

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

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社 RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社 はじめに 本書は Windows 7 環境において IC カードリーダライタ RW-5100 を使用するため お使いのパソコンにデバイスドライバソフトウェア ( 以下 ドライバソフト と記載 ) をインストールする方法について記述しています 本書で説明するドライバソフトは Windows 7 SP1 で動作するものです

More information

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

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研   1. 概要 本器は当社製自動観測装置で記録した JS カードデータ JS カード用データ転送用カードリーダー 取扱説明書 2012 年 07 月 31 日版 http://www.sokusho-giken.co.jp/ 1. 概要 本器は当社製自動観測装置で記録した JS カードデータをパソコンへ転送することができます パソ コンとは USB 接続となっているので転送速度が速く バスパワー方式を採用しているので別途電源 を接続する必要がありません 小型軽量なため

More information

Taro-テキスト.jtd

Taro-テキスト.jtd 付録 1 実習テキスト Arduinoスケッチプログラミング Arduinoスケッチプログラミング Arduinoスケッチプログラミング 1. 的 作成 : 米田文彦 Arduino アルドゥイーノ の基本構成 機能を理解し 簡単なスケッチ * を行える能力を身につける また パソコンの標準的なキーボードやマウスといった入出力デバイスではなく センサやモータのような物理的な情報を扱える入出力デバイスを用いた制御をすることで

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

AREF RESET L TX RX ON 12 ~11 ~10 ~9 8 7 ~6 ~5 4 ~3 2 TX->1 RX

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2017 年 5 月 15 日 東邦大学金岡晃 前回の復習 (1) このプログラムを作成し実行してください 1 前回の復習 (2) このプログラムを作成し実行してください 2 前回の復習 (3) 3 前回の復習 演算子 代入演算子 インクリメント シフト演算子 型変換 4 場合に応じた処理 5 こういうプログラムを作りたい 5 教科のテスト

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

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

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1 設定 適用モジュール 041-1 改訂番号 20161024 エレラボドットコム 1 ( 用アプリの利用可能環境 ) Windows7 8.1 10 のいずれかが動作する PC Windows8 以降の場合は 次ページ記載の Windows8 以降の.NET Framework の有効化 (p3~7) の操作をするか 設定されていることを確認してからアプリをインストールしてください.NET Framework2.0

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2019 年 5 月 13 日 東邦大学金岡晃 場合に応じた処理 1 こういうプログラムを作りたい 5 教科のテスト 100 点以上各科目の点数の合計が 100 点未満 おめでとう! これで 100 点越えのプレゼントを獲得! というメッセージを出力 残念!100 点越えのプレゼントまであと ** 点! というメッセージを出力 5 教科の点数の合計が

More information

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

Studuino ライブラリ環境設定Windows編 Studuino ライブラリセット 環境設定手順書 Windows 編 本資料は Studuino ライブラリのセットアップ手順書になります 以下の作業の前に 本資料を参考に Arduino 言語開発環境を設定して下さい Arduino 言語で加速度センサーを制御する Studuino プログラミング環境で Arduino 言語に変換したソースを編集する もくじ 1. Arduino IDE のインストール...

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

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

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01) FTDI USB-Serial Converter デバイスドライバの インストール / アンインストール (Rev.1.10) 年 月 日 合同会社クラッグ電子 (1/19) 目次 1. 初めに... 3 2. デバイスドライバのインストール... 3 2-1. インターネットに接続されている環境... 4 2-2. インターネットに接続されていない環境 ( 自動 )... 6 2-3. インターネットに接続されていない環境

More information

AI1608AYUSB手順V3

AI1608AYUSB手順V3 CONTEC A/D 変換ユニット AI-1608AY-USB のインストール手順 2013/03 改訂 1. ドライバのインストール 最初に ドライバをインストールします ドライバは インターネットからダウンロードします 1 以下のサイトから ダウンロードします キーワードに [CONTEC WDM API-AIO] などを指定して探して下さい URL http://www.contec.co.jp/product/device/apiusbp/index.html

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 5 回目演算子の優先順位と変数の型変換 今日の講義で学ぶ内容 演算子の優先順位 優先順位の変更の方法 キャスト演算子と型変換 演算子の優先順位 演算子の優先順位 式を計算するときの演算の順序です例えば a=b*c+d; では乗算を先に計算するというルールです ( 主な演算子の優先順位 ) 演算子 名前 結合規則 ++ 後置インクリメント 左 -- 後置デクリメント 左!

More information

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E >

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E > プログラミング演習 Ⅱ フィジカルコンピューティング 第 1 回 Arduino をはじめよう 担当 : 橋本 フィジカルコンピューティングとは コンピュータにさまざまな入出力デバイスをつないで実世界との物理的なやりとりを実現する方法 プログラミングと電子工作の融合 電気的な装置をプログラムから操れる! 入力 プログラム 出力 人の活動や物理現象 2 センサとアクチュエータ センサ ( 入力 ) 光センサ

More information

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

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

More information

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

バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE *** バーコードハンディターミナル BT-1000 シリーズセットアップガイド ( 第 1 版 ) CE-201707-*** ご注意 1) 本書の内容 およびプログラムの一部 または全部を当社に無断で転載 複製することは禁止されております 2) 本書 およびプログラムに関して将来予告なしに変更することがあります 3) プログラムの機能向上のため 本書の内容と実際の画面 操作が異なってしまう可能性があります

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

はじめに 京セラ製スマートフォンを指定の microusb ケーブル ( 別売 ) またはこれと共通仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をインストールしてい

はじめに 京セラ製スマートフォンを指定の microusb ケーブル ( 別売 ) またはこれと共通仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をインストールしてい 京セラ製スマートフォン用 USB ドライバインストールマニュアル 本書内で使用されている表示画面は説明用に作成されたものです OS のバージョンやお使いのパソコンの環境 セキュリティ設定によっては表示画面の有無 詳細内容 名称が異なる場合があります 本書は お客様が Windows の基本操作に習熟していることを前提にしています パソコンの操作については お使いのパソコンの取扱説明書をご覧ください

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

はじめに URBANO PROGRESSO を microusb ケーブル 01 ( 別売 ) またはこれと共通の仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をイン

はじめに URBANO PROGRESSO を microusb ケーブル 01 ( 別売 ) またはこれと共通の仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をイン はじめに URBANO PROGRESSO を microusb ケーブル 01 ( 別売 ) またはこれと共通の仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をインストールしていただく必要があります USB ドライバをインストールする 3 パソコンに接続する 4 接続状態を確認する

More information

Microsoft Word PXシリーズプリンタドライバインストール説明書(Win8・10-32・64bit)

Microsoft Word PXシリーズプリンタドライバインストール説明書(Win8・10-32・64bit) プリンタードライバーインストール説明書 (Wndows10 32/64bit) 999-00-49-00-03 Windows10 32/64bit のドライバーについて プリンタードライバーのインストール手順について Card-Ⅲ プリンターを例に説明します 他のプリンターについてもプリンター名が異なるだけでインストール手順は同じです 64 ビットプリンタードライバーのインストールで進めます (32

More information

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

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

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 if~else if~else 文,switch 文 条件分岐 if~else if~else 文 if~else if~else 文 複数の条件で処理を分ける if~else if~else 文の書式 if( 条件式 1){ 文 1-1; 文 1-2; else if( 条件式 2){ 文 2-1; 文 2-2; else { 文 3-1; 文 3-2; 真条件式

More information

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

Studuinoライブラリ環境設定Mac編 Studuino ライブラリセット 環境設定手順書 Mac 編 本資料は Studuino ライブラリのセットアップ手順書になります 以下の作業の前に 本資料を参考に Arduino 言語開発環境を設定して下さい Arduino 言語で加速度センサーを制御する Studuino プログラミング環境で Arduino 言語に変換したソースを編集する もくじ 1. Arduino IDE のインストール...

More information

CS-DRC1操作説明書

CS-DRC1操作説明書 操作説明書 プログラミングソフトウェア Windows 用 CS-DRC1 Rev. 1.0 IC-DRC1 デジタル小電力コミュニティ無線機 ご注意 : 設定内容の変更についてプログラミングソフトウェア (CS-DRC1) を起動したときの初期設定と無線機 (IC-DRC1) の設定値は 異なる場合があります 無線機の設定を変更する場合は 下記の手順 (1~3) で操作することをおすすめします 1

More information

Microsoft Word - VBA基礎(3).docx

Microsoft Word - VBA基礎(3).docx 上に中和滴定のフローチャートを示しました この中で溶液の色を判断する部分があります このような判断はプログラムではどのように行うのでしょうか 判断に使う命令は IF 文を使います IF は英語で もし何々なら という意味になります 条件判断条件判断には次の命令を使います If 条件式 1 Then ElseIf 条件式 2 Then ElseIf 条件式 3 Then 実行文群 1 実行文群 2 実行文群

More information

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

A&D社製データロガーを初めてお使いになる方へ 温度データーロガー チュートリアル Ver.2.00 ( 株 ) エー アンド デイの温度データーロガーを初めてお使いになる方へ AD-5324SET/AD-5325SET に付属の Win Data Logger ( データーロガー用通信ソフトウェア ) を お使いのコンピュータにあらかじめインストールしてください このチュートリアルは 初めてデーターロガーを使うと言う方のために 実際の取り扱い方を説明いたします

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

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

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー SLCONFIG の操作 2011.03.02 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストール 設定 Soliloc-10G Slconfig の開発 提供ならびに本書を作成するに当たり情報提供を頂いた

More information

4 本体の入力を USB-B 端子に対応する入力に切り換える 下記の画面表示になります 手順 8 の画面になるまでしばらくお待ちください 5 解凍したフォルダー内にある "Setup.exe" をダブルクリックして実行する InstallShield ウィザードが表示されます xxxxxxxxxx.

4 本体の入力を USB-B 端子に対応する入力に切り換える 下記の画面表示になります 手順 8 の画面になるまでしばらくお待ちください 5 解凍したフォルダー内にある Setup.exe をダブルクリックして実行する InstallShield ウィザードが表示されます xxxxxxxxxx. ドライバーソフトウェアのインストール USB オーディオドライバーインストールマニュアル (Windows 用 ) 目次 ドライバーソフトウェアのインストール... 1 ページ ドライバーソフトウェアのアンインストール... 3 ページ 困ったとき (Windows 7 の場合 )... 4 ページ 困ったとき (Windows 8/8.1/10 の場合 )... 8 ページ ドライバー名およびデバイス名を

More information

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の 4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の組み合わせで作れる. ここでは (2) と (3) について扱う. 4.1 分岐処理 4.1.1 if

More information

USBドライバーインストールガイド

USBドライバーインストールガイド USB ドライバーインストールガイド USB 3.0 対応版 本書は USBポート (Bタイプ/miniBタイプ ) 装備の弊社製無線機とパソコンを USBケーブルで接続し ご使用していただくため それに必要な USBドライバーをパソコンにインストールする手順について説明しています 本書では 弊社製品に同梱の CDに収録されたUSBドライバーのインストール方法を記載しています 弊社ホームページよりUSBドライバーをダウンロードされたお客様は

More information

:30 18:00 9:30 12:00 13:00 17:00

:30 18:00 9:30 12:00 13:00 17:00 http://pioneer.jp/support/ 0120-944-222 044-572-8102 9:30 18:00 9:30 12:00 13:00 17:00 この取扱説明書について 製品本体の USB DAC 端子に USB ケーブルでパソコンを接続すると パソコンからの音声信号を再生できます この機能を使用するためには 専用のドライバーソフトウェアをパソコンにインストールする必要があります

More information

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

出荷一覧表をもう一度印刷したい ラベルプリンタ ( レスプリ T8) 設定方法 1. 接続方法 カンガルー マジックサポートセンター ( 西濃運輸株式会社 ) 0120-981-688 受付時間平日, 月 - 金 9:00~20:00 土曜日 9:00~18:00 ( 日 祝日 お盆 年末年始は休み ) SATO 純正ケーブル シリアルポート (COMポート) COM ポートの空きが無い場合は 接続できません USB 変換ケーブルのご準備をお願いします

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

More information

TWE-Lite R 取扱説明書

TWE-Lite R 取扱説明書 USB アダプター TWE-Lite R( トワイ ライター ) TWE-Lite R( トワイ ライター ) は TWE-Lite DIP( トワイライト ディップ ) にソフトウエアを書き込むためのライターです USB 接続でパソコンから TWE-Lite DIP 内蔵のフラッシュメモリーにソフトウエアを転送することができます ソフトウエアを更新し機能追加することや 他のソフトウエアや自作ソフトウエアを書き込むことができます

More information

================================================================== UHF 帯 RFID ロングレンジリーダライタドライバインストールマニュアル 2011 年 1 月 19 日 ============================

================================================================== UHF 帯 RFID ロングレンジリーダライタドライバインストールマニュアル 2011 年 1 月 19 日 ============================ ================================================================== UHF 帯 RFID ロングレンジリーダライタドライバインストールマニュアル 2011 年 1 月 19 日 ================================================================== All Rights Reserved,

More information

4 本体の入力を USB-B 端子に対応する入力に切り換える 下記の画面表示になります 手順 8 の画面になるまでしばらくお待ちください 5 解凍したフォルダー内にある "Setup.exe" をダブルクリックして実行する InstallShield ウィザードが表示されます xxxxxxxxxx.

4 本体の入力を USB-B 端子に対応する入力に切り換える 下記の画面表示になります 手順 8 の画面になるまでしばらくお待ちください 5 解凍したフォルダー内にある Setup.exe をダブルクリックして実行する InstallShield ウィザードが表示されます xxxxxxxxxx. ドライバーソフトウェアのインストール USB オーディオドライバーインストールマニュアル (Windows 用 ) 目次 ドライバーソフトウェアのインストール... 1 ページ ドライバーソフトウェアのアンインストール... 3 ページ 困ったとき (Windows XP の場合 )... 4 ページ 困ったとき (Windows Vista の場合 )... 6 ページ 困ったとき (Windows

More information

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 )

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 ) 2005 年度茅ヶ崎市情報教育研修会 < 目次 > 1. 練習ファイルのダウンロード... 2 2. 表計算ソフト Excel の基本... 3 2-1 Excel でできること... 3 2-2 Excel の画面... 3 2-3 セル 行 列の選択... 4 2-4 セルにデータを入力する ( 半角英数字の場合 )... 4 2-5 セルにデータを入力する ( 日本語の場合

More information

USBドライバーインストールガイド

USBドライバーインストールガイド USB ドライバーインストールガイド Windows 8 版 本書は USBポート (Bタイプ/ ミニタイプ ) 装備の弊社製無線機とパソコンを USBケーブルで接続し ご使用していただくため それに必要な USBドライバーをパソコンにインストールする手順について説明しています 本書では 弊社製品に同梱の CDに収録されたUSBドライバーのインストール方法を記載しています 弊社ホームページよりUSBドライバーをダウンロードされたお客様は

More information

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB) コンピュータ工学講義プリント (12 月 11 日 ) 今回は ローテイト命令を用いて 前回よりも高度な LED の制御を行う 光が流れるプログラム 片道バージョン( 教科書 P.119 参照 ) 0.5 秒ごとに 教科書 P.119 の図 5.23 の様に LED の点灯パターンが変化するプログラムを作成する事を考える この様にすれば 光っている点が 徐々に右に動いているように見え 右端まで移動したら

More information

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴う改訂 2018/01/22 ソフトウェア OS のバージョンアップに伴う改訂

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴う改訂 2018/01/22 ソフトウェア OS のバージョンアップに伴う改訂 Studuino 基板セットアップ USB デバイスドライバのインストール 2014/11/01 作成 2018/01/22 改訂 改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴う改訂 2018/01/22 ソフトウェア OS のバージョンアップに伴う改訂

More information

タ通パソコンと本製品を付属の USB ケーブルで接続して 本製品を HSDPA 通信のモデム ( ) として利用できます パソコンと接続してインターネットに接続するための機器 信データ通信 データ通信の準備 データ通信を行う前に このページから 8-36 ページで説明している 1~3 のことを行いま

タ通パソコンと本製品を付属の USB ケーブルで接続して 本製品を HSDPA 通信のモデム ( ) として利用できます パソコンと接続してインターネットに接続するための機器 信データ通信 データ通信の準備 データ通信を行う前に このページから 8-36 ページで説明している 1~3 のことを行いま タ通パソコンと本製品を付属の USB ケーブルで接続して 本製品を HSDPA 通信のモデム ( ) として利用できます パソコンと接続してインターネットに接続するための機器 信データ通信 データ通信の準備 データ通信を行う前に このページから 8-36 ページで説明している 1~3 のことを行います 1 ドライバのインストール ( パソコン側 ) パソコンにドライバをインストールする必要があります

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 8 回目 for 文 今日の講義で学ぶ内容 for 文 変数のスコープ for 文の入れ子 繰り返し文 1 for 文 for 文最初に一度だけ初期化の式を処理します条件が true の場合 文を実行し 更新の式を処理して繰り返します条件が false の場合 for 文を終了します 条件は boolean 型で 関係演算子で表現される式などを記述します for( 初期化の式

More information

Microsoft Word - VBA基礎(6).docx

Microsoft Word - VBA基礎(6).docx あるクラスの算数の平均点と理科の平均点を読み込み 総点を計算するプログラムを考えてみましょう 一クラスだけ読み込む場合は test50 のようなプログラムになります プログラムの流れとしては非常に簡単です Sub test50() a = InputBox(" バナナ組の算数の平均点を入力してください ") b = InputBox(" バナナ組の理科の平均点を入力してください ") MsgBox

More information

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

電子13-06 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00設定方法.ppt 技術資料 お客様用 1/13 発行 電子 13-06 発行月 2013 年 10 月 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00 設定方法 1 PC アプリ SAVER CAST for EneMeter Ver3.00 ダウンロード 2 通信設定アプリ Config Tool Ver1.00 ダウンロード 3 パソコンへのセットアップ 4 設定方法について説明します

More information

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ B5FJ-5921-01 目次 はじめに................................................... 2 商標および著作権について..................................... 2 Windows セットアップ時の文字入力について..................... 3 1 親指シフトキーボードをお使いになるための準備.............

More information

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

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

More information

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378> まるコピ marucopy 容量の大きい HDD から小さ い HDD への引越し方法 1 説明 ここでは 記憶容量の大きい HDD から小さい HDD への引越し手順を紹介します まるコピ は記憶容量が同じか より大きな HDD への引越しを支援する目的で製作しておりますが ここで紹介するフリーソフト GParted を使用すれば 記憶容量の小さい HDD への引越しも可能です なお このソフトウェアは

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション アンチウイルスソフトの入れ替え手順について この資料は 実際に行ったインストールの際に画面キャプチャをまとめたものです 使用するパソコン (OS のバージョン ) によって 実際の画面が異なる場合があります 手順は 既存のアンチウィルスソフト (Symantec Endpoint Protection) をアンインストールして ウイルスバスターをインストールする順となっています この件について詳細は

More information

User Support Tool 操作ガイド

User Support Tool 操作ガイド User Support Tool - 操作ガイド - User Support Tool とは? User Support Tool は ファームウェアを更新するためのユーティリティソフトウェアです 本書では User Support Tool を使用して プリンタのファームウェアを更新する方法を解説しています ご使用前に必ず本書をお読みください 1 準備する 1-1 必要なシステム環境...P.

More information

Microsoft Word - no02.doc

Microsoft Word - no02.doc 使い方 1ソースプログラムの入力今回の講義では C++ 言語用の統合環境ソフトといわれるプログラムを利用します デスクトップにある CPad for C++ のアイコン ( 右参照 ) をダブルクリ ックしましょう ( 同じアイコンで Java_pad とかい エディタ部 てあるものもありますので気をつけてください ) これで 起 動します 統合環境を立ち上げると エディタ部とメッセージ部をもった画面が出てきます

More information

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

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換) シングルタスク プログラミング 本田晋也名古屋大学大学院情報科学研究科准教授 TOPPERSプロジェクトシニアテクニカルエキスパート honda@ertl.jp 最終更新 2016/6/27 1 自己紹介 所属 名古屋大学情報科学研究科組込みリアルタイムシステム研究室 TOPPERSプロジェクト TOPPERS/R2CA 設計 開発 メンテ 最近注力している内容 TOPPERS/ASP GR-PEACH

More information

Kyocera Mita KXドライバインストール手順書

Kyocera Mita KXドライバインストール手順書 Kyocera Mita KX ドライバインストール手順 古いバージョンの KX ドライバがインストールされている PC は インストール途中に表示される [ ソフトウェアコンポーネントのアップグレード ] からドライバのアップデートを行なっていただきます様お願い致します また インストール後 ( オプション機器のある方はプリンタのプロパティ画面よりデバイス設定をした後 ) プロパティ画面全般タブよりテストページの印刷

More information

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

おことわり 本書の内容の一部又は全部を無断転載することは禁止されています 本機の外観及び仕様は改良のため 将来予告無しに変更することがあります 本書の内容について万一不審な点や誤りなどのお気付きの点がありましたらご連絡ください 本書に記載されている会社名 商品名などは 一般に各社の商標又は登録商標で USB ドライバ CDM Drivers インストールガイド グラフテック株式会社 おことわり 本書の内容の一部又は全部を無断転載することは禁止されています 本機の外観及び仕様は改良のため 将来予告無しに変更することがあります 本書の内容について万一不審な点や誤りなどのお気付きの点がありましたらご連絡ください 本書に記載されている会社名 商品名などは 一般に各社の商標又は登録商標です 本文中には (R)

More information

DCモータの制御

DCモータの制御 Arduino の紹介 京都大学防災研究所技術室 中川潤 目次 はじめに Arduino とは DC モーターの制御 振動台模型の活用 センサーの液晶表示 センサー液晶表示の活用 おわりに 参考文献 はじめに 目的 Arduino の簡単な使い方を学んでもらい 業務に役立てるきっかけにする Arduino が実際にどんなものに使用できるかイメージをつかんでもらう Arduino とは マイコンを使った開発ボードである

More information

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ B6FJ-1841-01 親指シフトキーボードモデルをお使いになる方へ 目 次 はじめに........................ 2 商標および著作権について................ 2 Windows セットアップ時の文字入力について....... 2 1 Japanist 2003 のインストール................ 3 Windows Vista の場合..................

More information

Microsoft Word - Et100pciL_02a†iWinXP_PDFŠp†j.doc

Microsoft Word - Et100pciL_02a†iWinXP_PDFŠp†j.doc Windows XP でのインストール手順 (ET100-PCI-L ET100-PCI-L) 取り付けとネットワークへの接続 2 各部の名称 機能 3 本製品取り付け前の作業 4 ネットワークへの接続 6 Windows XP へのインストール 10 インストール 11 インストール後の確認 15 Windows XP からのアンインストール 18 インストールしたソフトを削除するには 19 104583-02(Windows

More information

操作ガイド 用紙タイプ登録ツール

操作ガイド 用紙タイプ登録ツール 操作ガイド 用紙タイプ登録ツール 本書の読みかた マークについて 本機を正しく動作させるための注意や制限です 誤った操作をしないため 必ずお読みください 本機を使用するときに知っておくと便利なことや参考になることです お読みになることをお勧めします 参照ページです 詳しい情報や関連する情報を知りたいときにお読みください 危険 この表示を無視して 誤った取り扱いをすると 人が死亡または重傷に結びつくものを示しています

More information

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

目次 目次 ターミナルアダプタの接続イメージ INS 回線とターミナルアダプタの接続 ターミナルアダプタの設定とパソコン接続 ドライバのインストール ユーティリティインストール CD-ROM をお持ちでない場合... 4 ターミナルアダプタ INS メイト V70G-MAX セットアップ手順書 Windows Vista Windows 7 株式会社エムアイシー 目次 目次... 1 1 ターミナルアダプタの接続イメージ... 1 2 INS 回線とターミナルアダプタの接続... 2 3 ターミナルアダプタの設定とパソコン接続... 3 3-1 ドライバのインストール... 3 3-2 ユーティリティインストール CD-ROM

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

関数の動作 / printhw(); 7 printf( n); printhw(); printf(############ n); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 ( 概要 プログラミング 関数 http://www.ns.kogakuin.ac.jp/~ct40/progc/ A- 関数の作り方を学ぶ 関数名, 引数, 戻り値 プログラミング で最も重要な事項 関数 プログラミング で最も重要な事項 制御 (for, if) プログラミング で最も重要な事項 ポインタ A- 関数名 引数 戻り値 E- E-4 関数の概要 0/ 関数とは, 複数の処理をひとまとめにしたもの.

More information

Windows XPでの手動USBドライバインストール方法

Windows XPでの手動USBドライバインストール方法 Windows 7 での手動 USB ドライバーインストール方法 パソコンにより画面イメージは若干異なる場合がありますが操作方法は同じです 本インストールマニュアルは 同梱の CD-ROM もしくは京セラホームページからダウンロードした USB ドライバーを利用した場合の手動インストール方法を記載しております 京セラホームページより USB ドライバーをダウンロードされたお客様は 解凍後のフォルダ

More information

PowerPoint Presentation

PowerPoint Presentation マイコンシステム 第 12 回 青森大学ソフトウェア情報学部 橋本恭能 haship@aomori-u.ac.jp 目次 講義 内部設計 3 Deviceタブ Actionタブの関数実装 例題 定義した機能を実現する方法を検討する 課題 動作確認 2 講義 内部設計 3 残りの関数を実装 3 組込みシステム開発 週テーマ内容 7 キッチンタイマーの組立キッチンタイマーのハードを製作 確認 8 9 10

More information

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf(hello, n); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a hello printf(hello) 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は C 言語復習 C 言語の基礎 来週もこの資料を持参してください C 言語, ソースファイルの作成, コンパイル, 実行 1 C 言語 C 言語プログラミングの手順 とは, 計算機を動かす手順を記述したもの. 計算機に命令を与えて動かすには を作成する ことになる. C 言語はプログラミング言語の 1 個 手続き型言語に分類される. C/C++ は非常に多くの場面で使われる言語 C++ は C 言語をオブジェクト指向に拡張したもの

More information

CentreCOM VT-Kit2 plus リリースノート

CentreCOM VT-Kit2 plus リリースノート VT-Kit2 plus この度は をお買いあげいただき 誠にありがとうございます このは 付属のマニュアルに記載されていない内容や ご使用の前にご理解いただきたい注意点など お客様に最新の情報をお知らせするものです 最初にこのをよくお読みになり 本製品を正しくご使用ください 1 取扱説明書の補足 ユーザーマニュアル (J613-M0617-00 Rev.A) の補足事項です 1.1 USB ドライバーのインストールについて

More information

< F F B838B F D815B834A815B94C F B838B816A2

< F F B838B F D815B834A815B94C F B838B816A2 デバイス版 ドライバインストール説明書 SK-Viewer 画像表示ソフトインストール説明書 130 万画素 USBカメラ対応機種 SKM-S20A-PC SKM-S30A-PC SKM-S31A-PC 対応 OS Windows XP Vista 7 ( 各 32bit 64bit 版対応 ) 目次 Windows XP 4 Windows Vista 7 Windows 7 ドライバインストール確認方法

More information

ホストプログラム操作説明書

ホストプログラム操作説明書 様 インストール操作説明書 USB ドライバインストール操作説明 JT-KP41U 64bit 対応カードリーダー用 NOTE: Windows XP / Server 2003 / Windows Vista / Server 2008 / Windows 7 / Windows 8 / Server2012 対応 バージョン :1.1.0.0 受領印欄 パナソニックシステムネットワークス株式会社モビリティビジネスユニット

More information

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の ソフトゼミ A 第 6 回関数 はじめに今まで printf や scanf など 予め用意されていた関数を使ってきました これら標準で用意されている関数を作ることは ( 特に入出力系は ) とても難しいのですが 関数は自作することができます というわけで 今回は自分で関数を定義して使っていく方法について学びましょう 関数とは C 言語での 関数 は 処理の途中で呼び出すことによって 定義されている

More information

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

商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps 商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps の転送速度で最大 1.2km までの通信が可能で 工場などでの RS-422 インターフェースを持つ複数台の計測機器や制御機器と

More information

ホストプログラム操作説明書

ホストプログラム操作説明書 様 インストール操作説明書 USB ドライバインストール操作説明 JT-KP41U 32bit 対応カードリーダー用 NOTE: Windows XP / Server 2003 / Windows Vista / Server 2008 / Windows 7 / Windows 8 対応 バージョン :1.1.0.0 受領印欄 パナソニックシステムネットワークス株式会社モビリティビジネスユニット

More information

ファームウェア書き換え説明書 目次 はじめに... 2 書き換え前に... 2 接続図... 2 書き換え手順... 3 (1) ファームウェアファイルの準備... 3 (2) 接続準備... 3 (3) ファームウェア書き換え準備 (4) ファームウェア書き換え準備 (

ファームウェア書き換え説明書 目次 はじめに... 2 書き換え前に... 2 接続図... 2 書き換え手順... 3 (1) ファームウェアファイルの準備... 3 (2) 接続準備... 3 (3) ファームウェア書き換え準備 (4) ファームウェア書き換え準備 ( ファームウェア書き換え説明書 目次 はじめに... 2 書き換え前に... 2 接続図... 2 書き換え手順... 3 (1) ファームウェアファイルの準備... 3 (2) 接続準備... 3 (3) ファームウェア書き換え準備 1... 4 (4) ファームウェア書き換え準備 2... 5 (5) ファームウェア書き換えの実行... 6 (6) ファームウェア書き換え終了後... 7 ファームウェア書き換え後は...

More information

WX01J 取扱説明書

WX01J 取扱説明書 4 パソコンとの連携 パソコンと接続する 4-2 USB ドライバのインストール 4-3 ソコンとの連携USB 端子パソコンと接続する4 パパソコンと接続する USB ケーブル (Micro USB 対応 ) で パソコンと本電話機を接続します 接続する前に USB ドライバをインストールしてください USB ドライバのインストール ( 4-3 ページ ) 1 パソコンを起動し パソコンの USB

More information

スライド 1

スライド 1 プログラミング 第 3 週 静岡大学工学部機械工学科知能 材料コースロボット 計測情報分野臼杵深光電 精密コース光ナノバイオ分野居波渉 講義の前に 講義資料や演習課題 LiveCampusよりダウンロード可能 成績評価期末試験および課題により行う. 評価の配分は, おおむね試験 90%, 課題 10% である. 再試験期末試験で40 点以上 60 点未満の場合, 再試験となる. 2 月 26 日 (

More information

Microsoft Word - Et100pciS2_02a†iWinXP_PDFŠp†j.doc

Microsoft Word - Et100pciS2_02a†iWinXP_PDFŠp†j.doc Windows XP でのインストール手順 (ET100-PCI-S2 ET100-PCI-S2) 取り付け前の確認 準備 2 各部の名称 機能 3 本製品取り付け前の作業 4 ネットワークへの接続 6 Windows XP へのインストール 11 インストール 12 インストール後の確認 16 Windows XP からのアンインストール 19 インストールしたソフトを削除するには 20 103584-02(Windows

More information

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

MS104-SH2 USBドライバ(仮想COMポートドライバ)の不具合について MS104-SH2 USB ドライバ ( 仮想 COM ポートドライバ ) の不具合について 1.1 版 2012 年 03 月 01 日 平素は弊社製品をご利用いただき誠にありがとうございます 弊社製品 MS104-SH2 付属しているFTDI の USB ドライバ ( 仮想 COM ポートドライバ ) に不具合が確認されましたので 以下に不具合内容とその対処方法について説明します なお バージョン

More information

スライド 1

スライド 1 マイコンをはじめよう 割り込みを使おう 徳島大学大学院ソシオテクノサイエンス研究部 技術専門職員辻明典 連絡先 : 770-8506 徳島市南常三島町 2-1 TEL/FAX: 088-656-7485 E-mail::a-tsuji@is.tokushima-u.ac.jp 割り込みを使おう 第 8 回 2013/9/14(Sat) 10:00 11:30 2 本日の予定 1 割り込みについて 2

More information

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

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

More information

Microsoft Word - CygwinでPython.docx

Microsoft Word - CygwinでPython.docx Cygwin でプログラミング 2018/4/9 千葉 数値計算は計算プログラムを書いて行うわけですが プログラムには様々な 言語 があるので そのうちどれかを選択する必要があります プログラム言語には 人間が書いたプログラムを一度計算機用に翻訳したのち計算を実行するものと 人間が書いたプログラムを計算機が読んでそのまま実行するものとがあります ( 若干不正確な説明ですが ) 前者を システム言語

More information

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 文 ) */ int i, no; for (i = 0; i

More information

PN-T321

PN-T321 インフォメーションディスプレイ 形名 PN-T321 USB メモリーファイル書き込みツール取扱説明書 もくじ はじめに 2 インストール / アンインストールする 3 動作条件 3 インストールする 3 アンインストールする 3 USB メモリーファイル書き込みツールを使う 4 USB メモリーを新規作成する 4 USB メモリーを編集する 5 はじめに 本ソフトウェアは インフォメーションディスプレイ

More information

Touch Panel Settings Tool

Touch Panel Settings Tool インフォメーションディスプレイ タッチパネル設定ツール取扱説明書 バージョン 2.0 対応機種 (2015 年 11 月現在 ) PN-L603A/PN-L603B/PN-L603W/PN-L703A/PN-L703B/PN-L703W/PN-L803C もくじ はじめに 3 動作条件 3 コンピューターのセットアップ 4 インストールする 4 タッチパネルの設定 5 設定のしかた 5 キャリブレーション

More information

Studuinoプログラミング環境

Studuinoプログラミング環境 Studuino ロボット用ブルートゥースモジュール 取扱説明書 Ver1.0.0 2015/4/1 本資料は Studuino( スタディーノ ) プログラミング環境の取扱説明書になります Studuino プログラミング環境の変更に伴い 加筆 修正が加えられる可能性があります また 本取扱説明書は 下記の資料を参照します Studuino ソフトウェアのインストール URL:http://artec-kk.co.jp/studuino/docs/jp/Studuino_setup_software.pdf

More information

Flash Loader

Flash Loader J MA1309-A プロジェクターファームウェア更新ガイド 本書はお読みになった後も大切に保管してください 本書の最新版は下記ウェブサイトに公開されております http://world.casio.com/manual/projector/ Microsoft Windows Windows Vistaは米国 Microsoft Corporationの米国およびその他の国における登録商標または商標です

More information

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - lec4.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 最大公約数の計算例題 2. 自然数の和 while 文例題 3. フィボナッチ数列例題 4. 自然数の和 for 文例題 5. 九九の表繰り返しの入れ子 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も, 見やすいプログラムを書くために,

More information

在宅せりシステム導入マニュアル

在宅せりシステム導入マニュアル 株式会社なにわ花いちば 在宅せりシステム 導入マニュアル 2017 年 2 月 27 日 目次 1. 動作環境について... 2 2. Windows ユーザーアカウントについて... 2 3. ディスプレイの解像度について... 3 推奨解像度... 3 Windows7 の場合... 3 Windows10 の場合... 7 4. 在宅せりを利用するには... 11 前提条件... 11 推奨ブラウザ...

More information

Arduino UNO IS Report No. Report Medical Information System Laboratory

Arduino UNO IS Report No. Report Medical Information System Laboratory Arduino UNO 2015 2 25 IS Report No. Report Medical Information System Laboratory Abstract ( ) Arduino / Arduino Bluetooth Bluetooth : Arduino Arduino UNO Arduino IDE micro computer LED 1............................

More information