トキのカタチ2016 電子工作(Arduino)講習

Slides:



Advertisements
Similar presentations
1 情報基礎 A 第 6 週 EXCEL 3 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Advertisements

情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
第6回条件による分岐.
ループで実行する文が一つならこれでもOK
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
プログラミング言語としてのR 情報知能学科 白井 英俊.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
プログラミング基礎I(再) 山元進.
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報科学1(G1) 2016年度.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
プログラムはなぜ動くのか.
XBee 浅川 和久 2009/7/23.
第7回 条件による繰り返し.
情報基礎及び演習 プログラミング基礎① 電気・佐藤亮一.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング入門 電卓を作ろう・パートIV!!.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング序論 2. n人のインディアン.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
ソフトウェア制作論 平成30年10月3日.
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
湘南工科大学 2013年10月22日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
Arduinoと多色LEDを用いた作品課題
堀友美(15HP235)のレポート Arduinoと多色LEDを使用して、紙コップに折り紙を張り付けて
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
制御文の役割と種類 IF文 論理式と関係演算子 GO TO文
C言語 はじめに 2016年 吉田研究室.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
プログラミングⅡ 第2回.
プログラミング基礎a 第4回 C言語によるプログラミング入門 条件判断と反復
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
トキのカタチ 2016 Arduino講習会 原田隆尚.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング演習I 数値計算における計算精度と誤差
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
第10回 関数と再帰.
プログラミング1 プログラミング演習I 第2回.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング序論演習.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
プログラミングの原理 データ構造とプログラミング (第4回).
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

トキのカタチ2016 電子工作(Arduino)講習 東京大学大学院 工学系研究科 機械工学専攻 設計工学研究室 TA 岡本 真拓 TA 原田 隆尚 TA 飯塚 大和 2016/11/7

Agenda Arduinoを用いた作品の紹介(約15分) Arduinoで用いるプログラミング言語の紹介(約30分) ※TAは基本的には電子工作を含む作品のサポートを行います。 2016/11/7

Arduinoのプログラミング プログラミングの基礎知識 翻訳 (検証・送信) 2016/11/7

Arduinoのプログラミング setup()/loop() #define/void/int 算術演算子/比較演算子 if文 for文 pinMode() /digitalWrite() 2016/11/7

setup()/loop() Arduinoのプログラムは主にふたつのパートからなる void setup(){} {}内の内容で初期設定を行う 例:入力・出力ピンの指定、シリアル通信の宣言など void loop(){} {}内の内容でArduinoに信号制御を行わせる 例:LEDの点灯・消灯、距離の計測など 2016/11/7

#define/void/int #define void型 int型 参考:double型(実数) 指定した記号に数値を割り当てる 例:#define LED 13 →LEDという記号に13という数値が割り当てられた void型 数値として“なにもない”という意味 0とは異なる int型 -32768~32767の間の整数を表現できる 例:int i = 13; →iは-32768~32767の間の整数を表現できる 参考:double型(実数) 2016/11/7

算術演算子/比較演算子 算術演算子 比較演算子 + 足す - 引く * 掛ける / 割る % 商の余り = 代入 文末のセミコロン忘れに注意 + 足す - 引く * 掛ける / 割る % 商の余り = 代入 文末のセミコロン忘れに注意 例1: x = 13 + 5 ; →xは18 例2: x = 4 ; x = x + 3 ; →xは7 比較演算子 == 等しい != 等しくない </> より大きい/小さい <=/>= 以上/以下 真なら1、偽なら0が返される 例:if( a == b ){} →()内の値は、aとbが等しければ1、 違えば0となる 2016/11/7

if文 If(){} else{} 参考:else if(){}/ブール演算子 条件によって異なる処理を行わせる場合に用いる 条件式が1ならば{}内を実行し、0ならば{}内は実行されない 例: if ( a==b ){ a = b ; } →aとbが等しければbの値をaに代入 else{} Ifの条件外のときに処理を行わせる場合に用いる 文法:if (条件式){実行文1}else{実行文2} 条件式が1ならば実行文1を実行し、0ならば実行文2を実行する 例: if ( a == b ){ a = b ; } else{ a = a + 1 ; } →aとbが異なればaの値をひとつ増やす 参考:else if(){}/ブール演算子 2016/11/7

for文 for(;;){} 一定の規則に従って実行文を繰り返したい場合に用いる 文法:for (前処理 ; 制御式 ; 後処理){実行文} どこから、どこまで、どのような規則に従って繰り返すかを指定する 例:for ( i = 0 ; i <=5 ; i = i + 1 ){ x = x + i ; } 最初xが0だった場合、 1回目(i=0) x = x+i = 0+0 = 0 2回目(i=1) x = x+i = 0+1 = 1 3回目(i=2) x = x+i = 1+2 = 3 4回目(i=3) x = x+i = 3+3 = 6 5回目(i=4) x = x+i = 6+4 = 10 6回目(i=5) x = x+i = 10+5 = 15 参考:多重ループ 2016/11/7

pinMode()/digitalWrite() ピンの動作を入力か出力に設定する 文法:pinMode ( ピン番号 , ピン動作); ピン動作は、INPUT、OUTPUTなど 例:pinMode ( LED , OUTPUT ); →LED(13ピン)を出力に設定 digitalWrite() 指定したOUTPUTピンのデジタル出力を行う 文法:digitalWrite( ピン番号 , ピン出力); ピン出力はHIGH(5V)またはLOW(0V)のどちらか 例:digitalWrite( LED , HIGH ); →LED(13ピン)に5Vの電圧が加わる 2016/11/7

補足事項 コンピュータはプログラムのミスに対して柔軟性がなく融通が利かない ので、文法に忠実に書いてあげましょう。 よくあるミス コンピュータはプログラムのミスに対して柔軟性がなく融通が利かない ので、文法に忠実に書いてあげましょう。 よくあるミス 全角スペースを使っている。 文末のセミコロンを忘れている。 カンマとセミコロンを間違えている。 括弧の種類を間違えている。 他の人にも見やすいプログラムを書くために 書籍やwebページを参考にしながら、適宜改行や段下げ(tab)をしましょう。 コメントアウト(//)を用いてプログラムの説明を加えましょう。 2016/11/7

Arduinoを使って既定課題を実施 ~12:00 2016/11/7

今後の流れ 【厳守】11/11(金)23:59までに、 ・氏名 ・具体的に何をどうしたいのか、入力・出力は何か (・問題がある場合は、どこがどう問題なのか) をFacebookページに投稿するか、以下のアドレスへメールして下さい。 okamoto7369@mail.design.t.u-tokyo.ac.jp ※申し訳ありませんが、期限後の提出には対応しかねます。 ※例年、講評会直前に機械的な問題の解決に追われる場合が多い   ので、計画的な制作をお願いします。 ※TAは基本的には電子工作を含む作品のサポートを行います。 2016/11/7