YSE BLOG

【モバイル・ロボット科】 平成25年度 第3回Arduino基礎セミナー実施報告

日時  平成24年9月28日(土) 9:00~12:00
開催場所  横浜システム工学院専門学校新校舎2階 A21教室
参 加 者   神奈川県内の高等学校の先生方
講  師    仲久保正人(YSE教頭 モバイル・ロボット科教員)
助  手     大木佑介(マイコン・ロボット科2年生)

内  容

1)モノづくり教育事例紹介ワークショップ 今回は省略
今回は、高校のいろいろな学校行事と重なり、ご参加いただけた先生方が少なかったことと、この後いろいろな学校行事やイベントがあるとのことで、次回にそのような報告会をすることにしました。楽しみです。

2)本日の内容の紹介と回路およびプログラムの解説 
今日はいつもとやり方を変えました。全体解説はやめ、個別解説・個別対応です。少人数の時には、少人数だからこそできる方式でいきます。

今日の内容は、表示デバイス(LCD液晶表示デバイス、7セグメントLED)をコントロールする
プログラムの制作です。

Arduinoがコントロールするセンサーの値は、シリアルポートを利用すれば、パソコン上でも確認できますが、Arduino側でリアルタイムに表示させたい場合は、以下のような表示デバイスをArduino側の基板に取り付けて使います。

        液晶表示デバイス(LCD)           7セグメントLED
              
液晶表示デバイス (LCD) liquid crystal display device (LCD)
光学的異方性をもつ液晶分子の配列を電界で制御して,光透過率を変化させる方式の非発光型表示デバイス.低電圧駆動,低消費電力という特徴をもっているため,電卓,時計,パソコン,テレビなどの表示デバイスとして使われています。

7セグメントLED
数字のパーツを表現する7つのセグメントLEDと、小数点を表す1つのLEDとの合計8個のLEDで構成されており、それぞれのLEDを光らせることで0から9までの数字を表現できます。

実体配線図(部品配置図)
LCDディスプレイ、可変抵抗器(20kΩ)、7セグメントLED、温度センサー(LM35DZ)、330Ωの抵抗7個、をブレッドボードに配置し、図のようにジャンパワイヤで接続します。基板上の部品同士の小さな距離は固いワイヤ、Arduinoと基板間のような長い距離はやわらかなジャンパワイヤでつなぎます。電気的につながっている部分は出来るだけ同じ色に揃えてトレースしやすくすることがコツです。

回路図

LCD表示ディスプレイの回路図(program001-002で使用)
液晶表示器は、所定の接続表にしたがって、液晶表示器のピンとArduino側のピンとを配線します。LCDの表示濃度は半固定抵抗器で調整します。表示が濃すぎたり薄すぎたりすると、正しく動作しているのに何も表示されないように見える場合があるので、半固定抵抗器のつまみをドライバで左右に回して調整します。
LCDに文字を表示するには、標準ライブラリとして用意されているLiquidCrystalライブラリを使用します。

7セグメントLED 回路図(program003-007で使用)
1つ1つのLEDを光らせるのはふつうのLEDの点灯制御と同じです。数字として光らせるには7つのLEDを組み合わせて数字に見えるように光らせます。
例えば、下記の場合は、abcdefgの7つのLEDを、adeはOFF、bcfgはONにして数字の4に見せます。そのために、abcdefgに対して、0110011と指定します。今回は小数点(Dp)は使いません。0から9までの数字に対して、このような0と1の組み合わせ(ビットパターン)を一覧表にすると右の表のようになります。

2桁以上の数字を表示するときには、桁数に応じた個数の7セグLEDを並べて、各桁ごとに表示するダイナミックドライブ方式を使います。これは、1桁目を光らせてちょっと待って消し、2桁目を光らせてちょっと待って消し、・・・を素早く行うことで、目の残像効果を利用して同時に2桁光っているように見せる方法です。

プログラム

以下のプログラムを制作して楽しんでいただきました。

【LCD編】2行16列のLCDを使ってデータを表示するプログラム
  program001:LCDに数字と文字を表示
  program002:LCDに温度センサーの値を表示(現在値、最大値、最小値)

【7セグメントLED】2個の7セグメントLEDで数値データを表示する
  program003:7セグメントLEDの点滅プログラム
  program004:7セグメントLEDで数字を表示するプログラム
  program005:7セグメントLEDで数字を表示するプログラム(数字の関数化)
  program006:7セグメントLEDで数字を表示するプログラム(ポートと配列を使用)
  program007:7セグメントLEDで温度センサーの値を表示(ポートと配列を使用)

制作中の様子と作品動画

動画

to_yse_mr.jpg

コメント