Sample Programs

16個のセンサを接続する

ここでは16個のセンサを接続する方法を述べます。

※回路図は示しましたがここでは回路は作っていません。ADCINA2/ADCINA3のポートの使い方だけを示しました。他のポートも同じです。f-paletteの回路図を参照してください。

16個のセンサを接続する

ハードウエア編

16個のAD変換基板回路図

回路図

ADCをする対象としてわかりやすいのでボリュームを使った。ここで使ったのは10KΩの可変抵抗となります。プラスマイナス電極はないのでどちらでもVcc/GNDは良い。可変する真ん中のピンがADCポートにつながっていれば良い。

16個のセンサを接続する

ソフトウエア編

F28035_template_main.cを変更して使ってください。

void main(void)
{
                  Uint16 AdcResults[16];
	char msg1[16];
	char msg2[16];

	initNolibM(); //初期化

	while(1)
	{
		AdcResults[0] = sensor(ADCINA0);
		AdcResults[1] = sensor(ADCINA1);
		AdcResults[2] = sensor(ADCINA2);  //AdcResults[2] = sensor(CN7);と同意義
		AdcResults[3] = sensor(ADCINA3);  //AdcResults[3] = sensor(CN10);と同意義
		AdcResults[4] = sensor(ADCINA4);
		AdcResults[5] = sensor(ADCINA5);
		AdcResults[6] = sensor(ADCINA6);
		AdcResults[7] = sensor(ADCINA7);
		AdcResults[8] = sensor(ADCINB0);
		AdcResults[9] = sensor(ADCINB1);
		AdcResults[10] = sensor(ADCINB2);
		AdcResults[11] = sensor(ADCINB3);
		AdcResults[12] = sensor(ADCINB4);
		AdcResults[13] = sensor(ADCINB5);
		AdcResults[14] = sensor(ADCINB6);
		AdcResults[15] = sensor(ADCINB7);

		sprintf(msg1,"adc[A3]:%4d",AdcResults[2]);//配列の数字を変えれば違うポートの値も確認できるぞ
		sprintf(msg2,"adc[A4]:%4d",AdcResults[3]);//配列の数字を変えれば違うポートの値も確認できるぞ

	   	//lcd_CLR();//LCDクリア
		lcd_HOME();//カーソルをホームへ
   		lcd_PUTS((unsigned char *)msg1);
   		lcd_LF();
   		lcd_PUTS((unsigned char *)msg2);
   		wait(100);
     }
}

16個のセンサを接続(モータドライバ使用時はADCINB3/4/5が使用不可)

サンプルプログラムを実行すると以下のようにLCDにADC変換した値を表示します。

Follow Me!
  • Twitter