Article header library 110733  4

PSoC 3 開発キット CY8CKIT-030 PWMでLチカ!

PWMを使ってLチカ!

Article header l%e3%83%81%e3%82%ab 357x108  1

 前回の「スイッチでLチカ!」では、SWのOFF/ONでLEDを点灯/消灯させていましたが、今回はPWMを使って一定間隔でLチカ!させます。SWを押した時だけLチカ!する様にちょっと工夫もしてます。
 
 

PWMコンポーネント追加

Article header  418x195  1

最終的な回路図は右に示した通りです。今回は「スイッチでLチカ!」で使用した回路の間にPWMを付け加えます。LEDへはPWMからのパルスが与えられるので一定間隔で点灯する様になります。また、SW入力はインバータ回路を経由し、PWMのenable端子接続しましたので、SWを押した時だけLチカ!します。PWMにはClockとresetも忘れず接続してください。
 
 
スイッチでLチカ!をご覧になっていない方はこちら

PSoC Creatorの設計

では作業をご紹介します。
■コンポーネントの追加
○PWM
 Component Catalogから、Digital > Functions > PWM を選びます。
 (Component Catalogの検索ウィンドウでPWMと検索すると簡単に見つけることができます。)

Article header pwm%e3%82%b3%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%8d%e3%83%b3%e3%83%88 517x371  5

Article header  417x227  1

PWM以外のコンポーネントは以下のカテゴリから選びます。
○NOT
 Digital > Logic > Not
○Clock
 System > Clock
○Logic Low
 Digital > Logic > Logic Low ‘0’

※SW、LEDは前回のままで使用します。

■コンポーネントの設定
ClockとPWMはコンポーネントを設定する必要があります。コンポーネントをダブルクリックすると設定画面が表示されます。詳細はコンポーネントごとのデータシートを参照ください。
○Clockの設定
 NameとFrequencyを変更したらOKを押します。
 今回は Name:Clock_PWM、Frequency:1kHz としました。
 設定が完了したらOKボタンを押して下さい。

Article header  517x269  1

○PWMの設定
 ConfigureとAdvancedのタブを設定します。
  -Configure タブ
   Name:PWM、PWM Mode:One Output、Period(周期):199、CMP Value1(比較値):100

Article header pwm%e8%a8%ad%e5%ae%9a1 516x277  1

  -Advanced タブ
   Enable Mode:Hardware Only としました。
  設定が完了したらOKボタンを押して下さい。

Article header pwm%e8%a8%ad%e5%ae%9a2 380x285  1

■結線も忘れずに!

■main()の編集
TopDesign.cyschからmain.cタブを選択し編集作業を行います。
編集する内容は、PWMコンポーネント初期化APIの挿入です。
 PWM_Start(); ←この一行を追加します。

Article header main%e4%bf%ae%e6%ad%a3 573x253  1

あとは
■プロジェクトのビルド
 Build ->Build プロジェクト名 を実行して、プロジェクトのビルドを行って下さい。
 “---- Build Succeeded: **/**/**** **:**:** ---” と表示されたらBuild成功です。
■書込み
 PSoC3 DVKがPCに繋がっていることを確認してから、Debug ->Programを実行して下さい。
 正常に書き込みが完了すると、Device ‘**************’ was successfully programmed と表示されます。
で完了です。

ちょっと役立つ情報をご紹介

最後に役立ちそうな情報をご紹介します。
■ドキュメントの入手方法
○PSoC 3開発に必要な資料は Help -> Documentationから開くことが出来ます。

Article header  399x396  1

Article header  193x388  1

○コンポーネントごとのデータシートは、Component Catalog下の
Open Datasheetをクリックすると表示されます。

 コンポーネントのデータシートには、
 ・コンポーネントの特性
 ・コンポーネントの挙動
 ・コンポーネントのリソース消費量
 ・コンポーネント制御API
 が記載されています。

※API詳細も各コンポーネントデータシートに記載されています。今回、PWMコンポーネントを初期化するvoid PWM_Start( void )を使用しましたが、大半のコンポーネントは xxx_Start() という初期化APIをコールしないと、動作を開始しませんのでご注意ください。

○サンプルプロジェクト
コンポーネントを右クリックして、Find Example Projectを選択すると、コンポーネントを使用する際のサンプルプロジェクトを開くことができます。

Article header  704x337  1

どうでしたか?ちょっと長い内容となりましたが、作業自体は簡単かと思いますので、是非、お試しください。
次回も別の方法でLチカ!を実現します。

■評価キットはこちらから購入できます
 PSoC 3 開発キット: CY8CKIT-030

関連タグ