概要:
「プログラミング基礎」で学んだ内容を基礎とし,Linux上でプログラム開発を行うための方法を学び,C言語による高度なプログラミング技法(構造体やポインタを用いたプログラミング)の修得を目指す。Arduinoマイコンモジュールを制御するための基礎技術を学び制御プログラムの記述手法を修得する。体験的な学習を通じて,論理的思考能力の修得および問題解決能力の向上を目指す。
授業の進め方・方法:
演習内容について,教科書やプリントを用いて,1時間程度説明する。残りの時間を使って,コンピュータを用いた演習を行う。演習は動作確認を行うことで終了する。演習の内容を報告書にまとめ,次の回までに提出する。定期試験も実施する。
注意点:
単位認定には,すべての報告書が提出されていることが必要条件となる。定期試験を40%,平素の学習状況(課題等。自主性,積極性に欠ける場合には減点することもある)を20%,報告書(内容,提出期限の順守状況)を40%の割合で総合的に評価する。報告書には,作業を通じて理解できた内容,考察が含まれていること。学年の評価は前学期と後学期の平均とする。
初めから,教えてもらうつもりでは,問題を解決する能力の向上は望めない。授業中はノートをとり,わからない内容については積極的に質問すること。他の学生と相談することは構わないが,各自が主体的に取り組むことが必要である。授業時間内に作業完了しない場合には,放課後等に作業することも必要となる。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
授業の進め方,評価方法などについて理解する。 エディタの基本操作,実行可能プログラムの作成法, ディレクトリの基本操作などについて理解する。
|
2週 |
Arduinoマイコンモジュールの概要とプログラム開発環境の使用方法について学ぶ |
Arduinoモジュールの構造と機能概要およびプログラム開発環境の使い方を理解する。
|
3週 |
出力ポートの活用手法について学ぶ |
出力ポートに接続されたLEDの点灯回路の設計手法を理解する。実習用回路を作成する。
|
4週 |
出力ポートの活用手法について学ぶ |
出力ポートに接続されたLEDの点灯制御手法を理解する。制御プログラムを実装する。
|
5週 |
入力ポートの活用手法について学ぶ |
入力ポートに接続されたスイッチ回路の設計手法を理解する。実習用回路を作成する。
|
6週 |
入力ポートの活用手法について学ぶ |
入力ポートに接続されたスイッチの活用手法を理解する。制御プログラムを実装する。
|
7週 |
PWM制御による電力制御について学ぶ |
PWM制御により電力を制御する手法を理解する。制御プログラムを実装する。
|
8週 |
PWM制御による電力制御について学ぶ |
PWM制御により電力を制御する手法を理解する。制御プログラムを実装する。
|
2ndQ |
9週 |
モータドライブ回路とモータの回転制御手法について学ぶ |
ハーフブリッジ,フルブリッジ回路によるモータの回転制御手法について学ぶ
|
10週 |
モータドライブ回路とモータの回転制御手法について学ぶ |
モータドライブ回路とモータの回転制御プログラムを実装する。
|
11週 |
Arduino活用総合演習1 |
数名のグループで課題解決型演習を行う。自ら課題を設定し,Arduinoを中心とした装置により課題解決を検討する。課題解決手法を提案する。
|
12週 |
Arduino活用総合演習2 |
課題解決のための装置を設計する。
|
13週 |
Arduino活用総合演習3 |
課題解決のための装置を製作する。制御プログラムを実装する。
|
14週 |
Arduino活用総合演習4 |
課題解決のための装置を製作する。制御プログラムを実装する。
|
15週 |
Arduino活用総合演習。相互評価 |
各グループの作品を相互評価する。
|
16週 |
期末試験 |
1週から15週までに学んだ知識が定着していることを確認する。
|
後期 |
3rdQ |
1週 |
AVRマイコン ATmega328Pの概要(1)
|
マイコン構成図,入出力多重化,入出力ポートの構造を理解する
|
2週 |
AVRマイコン ATmega328Pの概要(2) |
AVR CPUのコア,システムクロックとメモリ,リセット過程を理解する
|
3週 |
AVRマイコン ATmega328Pの概要(3) |
割り込み関連レジスタ,ハードウエア割り込みおよびタイマー割り込みを理解する
|
4週 |
INT1-UserSW割り込みとチャタリングの処理 |
UserSWを用いたINT1割り込み処理を実装できる
|
5週 |
Timer2割り込みによるリアルタイム処理系の構成 |
Timer2割り込みとUserSWを用いてリアルタイム処理系を構成できる
|
6週 |
総合演習 |
実践的な課題に挑戦する
|
7週 |
総合演習 |
実践的な課題に挑戦する
|
8週 |
Timer1割り込みによるリアルタイム計測システムの構成 |
Timer1割り込みを用いて,リアルタイム計測システムを構成できる
|
4thQ |
9週 |
各種Timerの関連レジスタを直接指定する |
標準モジュールを利用せず,Timerの運用条件を自身で設定できる
|
10週 |
SPI,USARTを用いたシリアル通信機能(1) |
マイコン-PC間の通信ができる
|
11週 |
SPI,USARTを用いたシリアル通信機能(2) |
マイコン-マイコン間の通信ができる
|
12週 |
多機能カウンタの応用(1) |
多機能カウンタを用いてエンコーダの信号処理ができる
|
13週 |
多機能カウンタの応用(2) |
エンコーダの正転逆転判定ができる
|
14週 |
総合演習 |
簡単な組み込みシステムを開発する
|
15週 |
総合演習 |
開発したシステムを評価し改造する
|
16週 |
学年末試験 |
1週から15週までに学んだ知識が定着していることを確認する。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | |
定数と変数を説明できる。 | 4 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | |
演算子の種類と優先順位を理解し、適用できる。 | 4 | |
算術演算および比較演算のプログラムを作成できる。 | 4 | |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | |
条件判断プログラムを作成できる。 | 4 | |
繰り返し処理プログラムを作成できる。 | 4 | |
一次元配列を使ったプログラムを作成できる。 | 4 | |