チーム134B
課題名
光センサーによるLEDとモーターの操作
研究者名
西川 善紀
西村 真登
概要
光センサーで読み込んだ値をLCDにパラメーター表示し(LEDの強さのみ)、光の強さが大きいほどLEDが強く光り、小さいほどモーターの回転数が多くなる。
これらの動作は光の強さによって強弱をつけることができ、並行して行うことができる。
また、モーターはスイッチを押している間のみ動作する。
ソース(main.c)
#include <m8c.h>
#include "PSoCAPI.h"
void main(void)
{
unsigned int adc_data; PGA_Start(PGA_HIGHPOWER); PWM8_1_Start(); LCD_Start();
M8C_EnableGInt; ADCINC_Start(ADCINC_HIGHPOWER); ADCINC_GetSamples(0);
while(1){ while(ADCINC_fIsDataAvailable()==0); PWM8_1_WritePulseWidth(adc_data/39); adc_data = ADCINC_wClearFlagGetData(); LCD_Position(0,0); LCD_PrHexInt(adc_data); LCD_DrawBG(1,0,16,(adc_data/39)); }
}
使用部品[#ce7779b2]
PSoC
ジャンパー 5本
光センサー
モーター
考察
LCDに表示するパラメーターはLEDのみなのでモーターの強さも表示したかったがうまく扱うことができなかった。
光センサーで読み込んだ値が大きすぎてLCDに表示しても変化が起こらなかったため、抵抗を用いることで、光の強さを有効な範囲に収め、LCDに正常に表示することができた。
光を完全に遮断したとき、LEDは消灯したが、動作の機能を逆にして、光が強いほどモーターの回転数を多くし、小さいほどLEDが大きくなるように組み替えて光を完全に遮断した結果、モーターはかすかに動くことが分かった。これは光がない状態でも限りなく小さい電圧が流れていることを意味する。
この結果から光を遮断したときにLEDが消えて見えても動作は停止していないことが分かった。
- 最終更新:2013-10-22 16:02:02