情報処理演習II
情報処理演習IIの目標
•マイクロコンピュータのハードウェアを直接操作するプログラム を記述することにより,プログラミング手法とコンピュータ アーキテクチャについて理解を深めます. –独自のインタラクティブ・デバイスの「中身」を作る技術を学ぶ • 電子回路 • マイクロコントローラ(マイコン)プログラミング – Arduino • 独自のデバイス(の中身)を作る •本講義の予習・復習などは以下のサイトを参照すること –http://hope2013.c.fun.ac.jp/course/view.php?id=78 •以下のサイトも参考に –http://www.musashinodenpa.com/wiki/本日の講義内容
•総合開発環境の(IDE)のダウンロード • Arduinoについて •講義の進め方など •演習 –総合開発環境の(IDE)のインストール –Arduinoの基盤のLEDを点滅させる –Arduinoの基盤のLEDを取り付け,点滅させる総合開発環境の(IDE)のダウンロード
• Arduinoのソフトウェアをダウンロード
–http://arduino.cc/ → Download • OS(Windows/Mac)を選択
Arduino
とは
•情報/電子回路をまたぐプロトタイピングを支援するプラット フォーム • ArduinoデバイスとPC上のプログラミング環境から構成 –Atmel AVR マイコン、入出力ポートを備えた基盤 • AVRマイコン: ATmega328PArduino
とGainerの違い
•ホストのPCから独立で動作する –Arduinoというマイコン(マイクロコントローラ) ボードを使う –作成したプログラムはマイコンボードに送る • C/C++ ベースでプログラムを作成 –プログラミングの基本は同じ –ホストのPCとの接続を切っても動作する •似ているところ –ホストコンピュータ上のソフトウェアでも制御可能 –デジタルI/Oポート、アナログI/Oポートが使えるArduino
の使い方(情報)
• PC上でプログラム作成 –C/C++ ベース • PCとUSBケーブルで接続してプログラム書き込みPC (Win/Mac)
Arduino
USBケーブル プログラム書込Arduino
の使い方(電子回路)
•ブレッドボード上にセンサ/電子部品を配置 •ブレッドボードとArduinoをワイヤーで接続
ブレッドボード(ソルダーレス・ブレッドボード)とは
•はんだ付けが不要な,実験,評価,試作に用いる基板
–各種電子部品やジャンパ線を差し込むだけで電子回路を組める
• ボード内部に導体が埋め込まれている
ブレッドボード(ソルダーレス・ブレッドボード)とは
•はんだ付けが不要な,実験,評価,試作に用いる基板
–各種電子部品やジャンパ線を差し込むだけで電子回路を組める
• ボード内部に導体が埋め込まれている
講義の進め方
• PC + Arduino + ブレットボード –一通りの開発方法を学ぶ • 電子回路 + プログラミング –様々なセンサ/アクチュエータに触れるPC
プログラム書込プログラム作成
講義で使うキット
• Arduinoをはじめようキット
–Arduino/ブレッドボード/ワイヤ/電子部品のセット –生協で各自購入してください
各自が必要な準備
•各自準備するもの –ノートパソコン (必須) –Arduinoをはじめようキット (必須) –Arduinoをはじめよう 第2版(参考) • 2100円 –たのしくできるArduino電子工作 (参考) • 2100円 •講義で貸し出す予定のもの –各種センサ/電子部品本講義の演習
•総合開発環境の(IDE)のインストール • Arduinoの解説とキットの確認 • PCとArduinoを接続し基本的なプログラムを作成/書き込み –Arduino を用いて超基本的な回路を作成 • Arduinoの基盤のLEDを点滅させる • ArduinoにLEDを取り付けて点滅させる+
Arduino
とは
•情報/電子回路をまたぐプロトタイピングを支援するプラット フォーム
• Arduinoデバイス(マイコン)と
Arduino IDE(プログラミング環境)から構成
用語定義
• Arduinoデバイス → Arduino
• Arudino IDE → 開発環境 or IDE
–(スケッチ → プログラム)
Arduino
の例
•用途に応じて多様な種類が存在
Arduino Uno R3 Arduino Leonardo Arduino Pro Mini
Arduino Mega 2560 Arduino FIO Arduino LilyPad
汎用的 扱いやすい
まずはじめに!
•学籍番号/名前を書いて背表紙に 貼ってください
キットの内容確認
Arduino
ブレッドボード
ワイヤ1+電子部品 ワイヤ2
電子部品の確認
明るさセンサ LED
デバイス構成(メイン)
入出力ピン
USBコネクタ
デバイス構成(メイン)
入出力ピン USBコネクタ 電源コネクタ PCに接続 プログラミング/ 通信/給電 電源に接続 ※単体動作時のみ 電子回路に接続 デジタル入出力/ アナログ入出力デバイス構成(サブ)
LED(電源) LED(通信) リセットボタン LED(テスト) マイコン入出力コネクタの構成
デジタル入力/出力 アナログ入力 GND GND VCCIDEのインストール
•ダウンロードしたArduinoのソフトウェアをインストール
IDEのインストール
•ダウンロードしたArduinoのソフトウェアをインストール
Arduino
をPCにつなぐ
• PCとArduinoをUSBケーブルで接続
PC(Win/Mac)
Arduino
USBケーブル
ドライバのインストール
• Mac →(基本作業なし) • Windows→下記作業が必要な場合も –デバイスマネージャーを起動 • コントロールパネル→システムより • 不明なデバイス(Arduino Uno)を選び 「ドライバの更新」を選択 –ドライバを「手動」で選択 • [Arduinoフォルダ]¥driversを選択 – 標準はc:¥arduino¥drivers 最新版では自動でインストールされる場合もあるIDE
を起動
• ArduinoがPCから認識できているかを確認
–ツール→マイコンボード –ツール→シリアルポート
ツール→シリアルポート
• Mac→/dev/tty.usbmodem***を選択 • Win
Arduino
の基盤のLEDを点滅させる
•プログラム •コンパイル •アップロード •動作確認 LED(テスト) デジタル出力13ポートに接続されているプログラムを書く
void setup() { pinMode(13, OUTPUT); //デジタルピン13を出力設定 } void loop() {digitalWrite(13, HIGH); // LEDを点ける delay(500); // 0.5秒待つ
digitalWrite(13, LOW); // LEDを消す delay(500); // 0.5秒待つ
setup()
, loop()の説明
• Arduinoのプログラムは必ずsetup()とloop()という2つの特別 な関数を持っている –Setup()はスタート時に1度だけ呼び出される • ピンモードやライブラリの初期化といった処理に使用 –Loop()関数はプログラムの心臓部であり、繰り返し実行 • 内部に無限の繰り返しを入れないこと– for(;;)やwhile(1) int main() { init(); setup(); for(;;) loop(); return 0; } 実際の処理の概要
コンパイル
コンパイル中
成功
アップロード
コンパイル中
アップロード中
動作確認
1秒ごとに点滅 していれば成功! void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); }Arduino
にLEDを取り付けて点滅させる
• 13番にLEDのアノード (A) –長い足 •隣のGNDにカソード (K) –短い足 • LEDには極性があるプログラムの解説
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); } デジタル入出力[0-13]関数リファレンス
• pinMode(pin, mode) –ピンの動作を入力か出力に設定 • [パラメータ] – pin: 設定したいピンの番号 – value: INPUTかOUTPUT • [戻り値] – なし • digitalWrite(pin, value) –HIGHかLOWを指定した ピンに出力 • [パラメータ] – pin: 出力するピンの番号– value: HIGH (5V) か LOW (0V)
• [戻り値] – なし • delay(ms) –プログラムを指定した 時間だけ止める • [パラメータ] – ms:一時停止する時間. 単位はミリ秒