2014年4月19日土曜日

PSoC5LPでLEDをふわふわ光らせよう。

せっかく、LEDのほぼ書かないプログラムが出来たので
それを改造して

LEDをふわふわ(じわじわ)光らせよう。

改造が必要なのは
使った部品の設定とプログラム


さて、改造をしてLEDをフワフワさせましょう!

設定を変えるのは
クロック と PWM

クロックの設定が500Hzだと遅すぎるので
500Hz ⇒ 12kHz
設定しましょう。

PWMも16bitもいらないので、
16bit ⇒ 8bit
しましょう。


ただ、ラジオボタンを移動させただけだと


「!」マークが出て「エラー」が出ます。
なので、「Max」のボタンをクリックしてエラーを取りましょう。


OK」をクリックしたら、一度コンパイル。


コンパイルが終わったら、「main.c」のタブを開いて

for(;;)の外側に

PWM_1_Start();
int i;

を書きましょう。

for(;;)の内側に

for(i=0;i<=254;i=i+1){
PWM_1_WriteCompere(i);
CyDelay(5);
}

を書いて、もう一度コンパイル。

書けたら、PSoC5LPに書きこんでみましょう。
どうです??ふわふわ(ジワジワ)光りました??

書き方としてはArduino系に近い書き方かな?っと思います。
同じ要領で、通常のモーターやサーボモーターも制御できますよ。



~~番外編 ほしいPWMを作るには??~~


今回、手順通りにすればLEDがフワフワする様になりますが
実際では

サーボモーター制御するためにベストなPWMを作りたい とか
赤外線LEDを38kHでチカチカさせたい 等だと思います。

なので、PWMコンポーネットに供給するクロックの
計算法について書いておきたいと思います。

bitの場合
1÷{(1÷X[Hz])÷256}=Y[Hz]

16bitの場合
1÷{(1÷X[Hz])÷65536}=Y[Hz]

このひと手間で、「ライブラリーがなぁ・・・」という事も無くなります

0 件のコメント:

コメントを投稿