Getting Started

6-3 プログラムの中身を見てみよう

サンプルプログラム『PSD』を実行して、PSDセンサから障害物の距離を検出し、その距離に応じてLEDを点滅させたり、スピーカから音を出すことができました。それをプログラムでどうやって実現しているのか「PSD.c」を見てみましょう。

if (条件1){(処理1)}
◆条件1が満たされたときにだけ、(処理1)を実行する
else if (条件2){(処理2)}
◆ifとセットで用いられ、条件1が満たされず、かつ条件2が満たされたときにだけ、(処理2)を実行する
else {(処理3)}
◆ifやelse ifとセットで用いられ、ifやelse ifの条件が満たされなかったときに(処理3)を実行する

※今回用いているPSDセンサの測定可能距離は10~80[cm]で、出力電圧は距離10cmのときに3.5 [V] 程度、80cm以上離れたときにほぼ0[V]となります。A/D変換値にしておよそ 2200~0 程度です。

センサデータ取得関数“sensor”の使い方

(変数)= sensor(ch);
「変数」→取得データ
センサの出力電圧をA/D変換した値(0~4095)が代入される
「ch」→センサが接続されたコネクタを指定
A1, A2, A3, A4◆指定したコネクタ(CN5,CN6)に接続されたセンサの出力電圧をA/D変換した値(0~4095)を、変数に代入する。
例) sen1 = sensor(A1);
 →A1に接続されたセンサの出力をA/D変換して,変数sen1に代入
 sen2 = sensor(A2);
  →A2に接続されたセンサの出力をA/D変換して,変数sen2に代入

プログラム

if( [条件A] && [条件B] ){(処理1)}
◆条件Aと条件Bが両方とも成り立つとき(論理積)だけ、(処理1)を実行する。
例) if( sen1 <= 2000 && sen1 > 1800) {  (49行目)
→sen1の値が2000以下(条件A)で、かつ1800より大きい(条件B)のとき、{}内の処理が実行される。
if( [条件A] || [条件B] ){(処理1)}
◆条件Aと条件Bのどちらかが成り立つとき(論理和)に、(処理1)を実行する。
例) if( sen1 > 2000 || sen2 > 2000) {
→sen1の値が2000より大きい(条件A)か、もしくはsen2の値が2000より大きい(条件B)のとき、{}内の処理が実行される。

A1に接続されたセンサの値sen1に応じたプログラム

プログラム

A1に接続されたセンサに障害物が遠くから近づいてくるに従って、シ・・・ラ・・・ソ・・・と、スピーカから出てくる音がだんだん、高い音から低い音へと変化していきます。

PDF版ダウンロード(2012.9更新)

授業の教科書から抜粋したテキストです。

p-paletteでできること
1.

使う工具・道具一覧

2.

I/Oボードとマイコンボードを組み立てよう

2-1
ハンダの基礎
2-2
シルク印刷と電子部品
2-3
I/Oボード作成
2-4
マイコンボード作成
4.

開発環境 

4-1
開発環境「CCS」のインストール
4-2
サポートファイルのインストール
4-3
開発環境「CCS」の使い方
4-4
Arduino互換の開発環境「f-palette IDE」のインストール
5.

LEDをぴかぴかさせてみよう -デジタル入出力(DIO)機能を使う

5-1
サンプルプログラム『LED_Switch』の実行
5-2
プログラムの中身を見てみよう
5-3
LED_Switchチャレンジ
5-4
f-palette IDEプログラムの実行
7.

モータを回してみよう-PWM&モータドライバでモータを駆動する

7-1
モータ&モータドライバの組み立て
7-2
サンプルプログラム『Motors』の実行
7-3
プログラムの中身を見てみよう
7-4
Motorチャレンジ
7-5
f-palette IDEプログラムの実行
8.

センサでいろいろ測ってみよう-A/D(アナログ・デジタル)変換

8-1
A/D(アナログ・デジタル)変換とは?
8-2
PSDセンサの組み立て
8-3
サンプルプログラム『PSD』の実行
8-4
プログラムの中身を見てみよう
8-5
センサの出力データを確認してみよう
8-6
PSDチャレンジ
8-7
f-palette IDEプログラムの実行
12.

秋葉原にでかけよう

7-1
奥村研究員お薦めショップ
7-2
秋葉原マップ

Follow Me!
  • Twitter