せっかく、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コンポーネットに供給するクロックの
計算法について書いておきたいと思います。
計算法について書いておきたいと思います。
8bitの場合
1÷{(1÷X[Hz])÷256}=Y[Hz]
16bitの場合
1÷{(1÷X[Hz])÷65536}=Y[Hz]
このひと手間で、「ライブラリーがなぁ・・・」という事も無くなります
0 件のコメント:
コメントを投稿