情報テクノロジー第5回 analogWriteで点滅させよ (PWM)

情報テクノロジー第5回目です。
今回でOUTPUTに関する一通りを終えて、次回からはセンサー類を使用して、INPUT系に馴染ませたいと思います。

例によって今回の課題(原文まま)


analogWrite(PWM)を使って、LEDの明るさを制御しよう。

PWMとは、パルス幅変調ともいう、0か1かのディジタル信号ではなく、0~255までの数値を刻んだ疑似アナログ信号のことである。0はLOW、255がHIGHに相当し、その間に信号の強さとして細かく段階分けする事が出来る。
aruduino uno では、PWMに対応したピンとして、3・5・6・9・10・11の6箇所が用意されている。

練習:下記のサンプルプログラムを読み解いて、回路を作成し、結果を映像で記録・提出せよ。
【LED_PMW】

#define LED_PIN 9
void setup(){
 pinMode(LED_PIN, OUTPUT);
}

void loop() {
 int i;
 for (i=0; i<256; i++){
  analogWrite(LED_PIN, i);
  delay(20);
 }
}

課題1:下記の条件を満たす動作を映像で記録・提出せよ。
練習問題は「LEDはゆっくり点灯し、すぐに消える」 という物であった。
課題1では、
「LEDはゆっくり点灯し、ゆっくり消灯する」を繰り返す挙動を実現せよ。

課題2(上級編):下記の条件を満たす動作を映像で記録・提出せよ。
課題1の挙動を、2つのLEDで実現せよ。

ただし、LED1とLED2は点灯、消灯を互いに逆の状態で行う物とする。
※LED1が点灯していく時間で、LED2は消灯する。


生徒たちは2年生でJavaScriptを使ったプログラミングに関して学んでいるが、
「i++」などの記載については一切の指導をしていない。
自分たちで意味を調べながら作成していた。
ただ、50分という時間では流石に短かったようで、(それでも課題1は出来ていた!)
上級編を時間内で完成させる事は出来ていなかった。

しかし、休み時間に突入しても全ての班(!)が粘り強く挑戦し、
1つの班では実装に成功していた。
※第6回の最初に紹介したいと思う。

例によって今回提出された動画を掲載しておきます。
※今回は個人情報保護のため、音声を削除しています。

情報の科学 第2回

前回まではディジタル形式のなかでも、ベクタ画像とラスタ画像の違い、
アウトラインフォントとビットマップフォントの違い、などについて解説した。

※大まかなノートの再現を掲載しておく。

note_科学1


「情報の科学」なので(社会と情報との違いが現れる部分として)
今回はファイルサイズについて触れ・・・る予定であったが、
前提条件の2進法や10進法、16進法への相互変換(基数変換)の習熟度に不足が見られたため、急遽、相互変換についての学習を行った。

内容としては下の画像のようなプリントを配布し、解かせるという物であったが、予想以上に難航していた。

基数変換

基数変換については1年次に「社会と情報」での既習事項であるため、対応表などを用いて軽く説明するにとどめた。

binhex対応表の例
手抜き加工sry!!

その後は演習問題をだし、4人ごとでのグループ学習として定着を図る。
この時点で授業の残りが10分少々となってしまったので、これだけでは悔しいと
2進法:Binary 「BIN」
10進法:Decimal 「DEC」
16進法:Hexadecimal 「HEX」
だという説明をした上でExcelを起動させ、
2進法→16進法のことを、Binary To Hexadecimal だということで
=BIN2HEX()
=HEX2DEC()

などと説明し、対応する関数について学習した。
(上図の問題をEXCEL上で再現し、関数によって完成させた)


・・・次回こそファイルサイズ問題を終わらせるんだ。。。

授業の実践報告を行いました。

所属している情報部会に授業実践の紹介をしました。
「社会と情報」の授業の中でも、
「著作権」と「情報のディジタル化」に関係する話です。

PDF投稿テストをかねてこちらにも原稿をUP.

※プレビューは大変読みにくいので消しました。原本参照のこと。
もうちょっとマシな方法はないのかしら・・・。

原本はこちら

情報テクノロジー第4回 信号機を作れ

急遽、授業変更で行われた4回目。
私が学校に居ないタイミングで発生しましたので、
生徒にはGoogleのclassroom内で課題を用意して完全に自習状態。
が、割と出来てました。大変うれしく思います。

課題:信号機を作れ

【指示した内容】※原文そのままです

複数のLEDを光らすことは前回習得している。
今回は、LED3個(できればRGB三色)を使用して信号機を再現せよ。

※提出方法については前回同様のこと。
※クラスルームのテクノロジーに参加していない者は、余裕があれば参加しておくこと。


ここまで。
なんだかんだ、第3回ではそれぞれの制御についてなどで口を出してしまいましたが、今回は完全に投げっぱなし。
提出された物をまた2つ程ご紹介します。

※今回の音声には生徒名などがありませんので、試しに加工無しでUP


2つめは面白いミスをしています。意図的なのか、プログラム班と回路班の意思疎通に齟齬が発生してしまったのか。
当日は学校におりませんでしたので、次に会うのが楽しみです。

情報の科学 第1回

本校では1年生で「社会と情報」を必修、
2年生で情報コース選択者が「情報の科学」と、「情報表現」、「情報デザイン」を履修する。
つまり、「情報の科学」においては「社会と情報」で既習している部分が多く、かなりのハイペースと偏りが発生する。
※本校は全日制、普通科、情報コースが設けられている。2年次に、理系、文系、情報コースとカリキュラムを別けている。

ので、あまり参考にはならないかもしれないが、ここは所詮匿名(?)のWEBLOG。知ったこっちゃねー。

初回は「画像と図形」と銘打ち、
ベクトル画像とラスタ画像、
ビットマップフォントとアウトラインフォント、
解像度について。

既習部分も多いため、直に触りながら双方の特徴に気付かせ、文書化させた。

解像度の話では「ビー玉」を教材として使用し、盛り上がったがこれは社会と情報でもあるのでまたいずれ。

情報テクノロジー第3回 複数のLEDを点滅させよ

今回からG-suiteのClassroomを利用して作業の効率化や定着を図る。
前回は抵抗を使わずにLEDをダメにしてしまうこともあったので、抵抗は使ってね、と指示を出す。
ただし抵抗の種類は用意せず、応用の利く種類を1つ用意して余計な悩みを除去しておく。

課題「複数のLEDを点滅させよ。」

【指示した内容】
手法は問わない。
1.500msecの感覚で2つ以上のLEDを点滅させなさい。
//プログラム班:Google等で、Arduino LED点滅 などで検索すればソースコードは出てくる。
//回路班:プログラム班が指定したPINで点滅するように配線しなさい。 また、今回より「抵抗を使用」すること。

2.その様子を代表者1名がアップロードせよ。
//スマートフォンで撮影し(5~10秒程度)、アップロード。難しいようであれば、動画撮影のみでもよい。
(次回以降、直接見ます。)
※アップロード時には、何班の動画なのかわかるようにコメントをつけること。

評価基準(レベル):
1.複数のLEDを点滅させている
2.LEDを独立制御しているとわかる回路
3.LEDを独立制御しているとわかるプログラム
4.動画提出時に、上記の要素をわかりやすく判断できる工夫

※「何班」なのかわかるようにアップロードしている事。


で、出てきた動画がこちら。(※生徒の声が入っておりますので、音声を消しています)

投げっぱなしでも割と完成で来ているのかな、と思います。
いくら情報コースの3年とはいえ、新しい言語、新しいハードで、特に何も教えることなく自分たちで調べて作ってますからね。
50分授業ですので、あまり悩むようであれば助けに入りますが、教えたいのをグッと我慢しながら彼らを見守りたいと思います。

情報テクノロジー第2回 LEDを点滅させよ

俗にいう、Lチカです。
テクノロジー選択者は今年度13名でしたので、最初は4,4,5の3班に別れて取り組ませています。

さらに班の中でも、プログラム班と回路班に分かれ、前者はC++を基にしたArduino言語について、後者はブレッドボードや抵抗などについて学んでいます。
暫くして活動に慣れだしたら、役割を反転させ、その後班も作り直したり、などを行いますが。3~4回目まではチュートリアルみたいなもんですね。

【指示した内容】

プログラム班へ
1.setupとloopの仕組みについて説明
2.pinMode,digitalwriteについて説明
3.delayについて説明

あとは点滅できるように頑張れ。必要ならググれ。プログラムの勉強ではない(あくまで活用がメイン)ので、コピペ推薦。
むしろどんどんコピペして、効率を出せ。試行錯誤を繰り返せ。 

回路班へ
1.+と-について簡単に説明
2.GNDについて説明
3.ブレッドボードの仕組みについて説明

LEDは消耗品だからどんどん壊せ。壊れたらゴミ箱に捨ててね。
抵抗や回路なんかはググれ。LEDの向き(アノード、カソード)はこうね。
煙吹きそうな時は止めます。USB電源からとってれば大抵は問題ないけど、危ないって言われたらすぐにやめてね。
じゃあ、GANBARE。

全体宛
班員で協力しよう。時間に暇が出来た人は、次の作業を考えて調べておこう。
例えば、ArduinoとPCの接続方法とかね。 「Arduino LED 点滅」なんかで調べればいっぱい出てくるんだから
時間内に終わることを目標に頑張ろう。 さあ始め!

荒っぽく見えますが、実際にこのような内容で指示をしています。
※(乱文にはなっています。実際の口調はもう少し丁寧です)

情報テクノロジー第1回

私の勤務する高校では、全日制、普通科、「情報コース」が設けられていて、3年生では情報テクノロジーを選択制で開講している。
なお、情報科の中でもマイナーであろう教科なので説明しておくと、学習指導要領には
情報産業を支える情報テクノロジーの基礎的な知識と技術を習得させ,実際に活用する能力と態度を育てる。と、記載されている。

指導要領にもあるが、情報テクノロジーでは「(1)ハードウェア,(2)ソフトウェア,(3)情報システム」の内容を取り扱い、
「指導に当たっては,学校や生徒の実態に応じて,適切な情報技術を選択し,実習を中心にして扱うこと。」
および
「指導に当たっては,具体的な事例を通して,情報技術の歴史的な変遷及び国際標準や業界標準となっている技術について扱うこと。」が重要視されている。

さて、具体的な内容。
以前は1学期にハードウェア、2学期にソフトウェア、3学期に情報システムを指導していたが、2年目には当時の校長をはじめ様々な所と相談し、現在私は通年でArduinoを教材とした指導を行っている。
つまり、Arduinoという組込系ハードウェアに、C++風のArduino言語(ごくごくまれにS4Aを使用するが、生徒もArduino言語の方が扱いやすいようだ)、そして利用していく中で通信の仕組みやプロトコルに触れている。

とまあ、そのような解説をして第1回目を終えた。
2回目以降はガリガリとコーディングさせ、試行錯誤させ、最終的には課題とPDCAぶん回しでやりたい放題やるんだ!!!!!!!

社会と情報 第1回(情報とメディア) 

第1回の授業レポ。

・情報とは
・メディアとは
・情報の信憑性
・情報は歪む

をテーマに授業をしています。少し盛りだくさんですが、2単位進行なもんですから割とこれが限界なんです。
せめて3単位あれば、もっと詳しく、しっかり授業出来るんですけどね・・・。

スライドを用意しました。なんかの参考に。

memo:共通教科情報科の各科目内容とその取扱い

H22 学習指導要領解説http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2012/01/26/1282000_11.pdf より。


社会と情報の目標

情報の特徴と情報化が社会に及ぼす影響を理解させ、情報機器や情報通信ネットワークなどを適切に活用して情報を収集、処理、表現するとともに効果的にコミュニケーションを行う能力を養い、情報社会に積極的に参画する態度を育てる

内容とその取扱い

      1. 情報の活用と表現
        • 情報とメディアの特徴
        • 情報のディジタル化
        • 情報の表現・伝達の工夫
      2. 情報通信ネットワークとコミュニケーション
        • コミュニケーション手段の発達
        • 情報通信ネットワークの仕組み
        • 情報通信ネットワークの活用とコミュニケーション
      3. 情報社会の課題と情報モラル
        • 情報化が社会に及ぼす影響と課題
        • 情報セキュリティの確保
        • 情報社会における法と個人の責任
      4. 望ましい情報社会の構築
        • 社会における情報システム
        • 情報システムと人間
        • 情報社会における問題の解決

 


情報の科学の目標

情報社会を支える情報技術の役割や影響を理解させるとともに,情報と情報技術を問題の発見と解決に効果的に活用するための科学的な考え方を習得させ,情報社会の発展に主体的に寄与する能力と態度を育てる。

内容とその取扱い

      1. コンピュータと情報通信ネットワーク
        • コンピュータと情報の処理
        • 情報通信ネットワークの仕組み
        • 情報システムの働きと提供するサービス
      2. 問題解決とコンピュータの活用
        • 問題解決の基本的な考え方
        • 問題の解決と処理手順の自動化
        • モデル化とシミュレーション
      3. 情報の管理と問題解決
        • 情報通信ネットワークと問題解決
        • 情報の蓄積・管理とデータベース
        • 問題解決の評価と改善
      4. 情報技術の進展と情報モラル
        • 社会の情報化と人間
        • 情報社会の安全と情報技術
        • 情報社会の発展と情報技術

 

 


メモメモ。

WordPressのエディタ使いづらい・・・直打ちしないとあかんのか・・・