新・ブレッドボードで簡単PSoC
by K.I
2009/08/08〜
Index
- やっぱり簡単電子工作といえば、ブレッドボード。
- CypressのPSoCは、入出力設定の自由度が大きいので、ブレッドボード向きだと思う。
- ブレッドボードで簡単PSoCの第3弾ということで、シリーズ化?してみる。
- みんな簡単なものぱかりなので、この際、説明は全く省略して、ブレッドボードの図だけにしてみる。
- まぁ、最低限のコードや設定は付けなきゃいけないかな。。某社の組立て説明書のイメージ1で。。。
- 図を見やすくするために、全部PDFファイル2にした。基本的に1ページ以内、どうしてもダメなら2ページにということで。
- 設定項目は全て含めたつもりなので、新規作成して、同じ設定にすれば動くはず。
- かなり制約があるので、プログラムはムリヤリ短くしていたり3するけど、それはパズルみたいで結構面白い。
- しかし設定項目を全部載せるのは辛い。GUIのソフトって説明するには最悪のシステムだなぁ。。
- このページは、なんか勢いで作ったので、いろいろ問題があるんだけど、作りなおすのも面倒なので、そのまま公開する。
- projectは特に公開しないけど、設定項目は全て記述してあるので、その分だけやれば大丈夫。Ver.4のprojectなので、今更という感じだし。
- 大事なこと書き忘れてたけど、ブレッドボードのEIC-301の場合、基本的に一番上の横方向の接続がVDDで、一番下がVSSにしている。
- EIC-801の場合は、上下に2本づつ横方向の接続があるので、それぞれ上がVDD,下がVSSにしている。
1本当は、文字を全く使わないでやりたかったんだけど。。
2PDFなら自由に図を拡大出来るので。
3ソースの見易さは犠牲になってる。。
[top]
- #010 Basic Set →基本セット
- 最低限の配線。PSoC MiniProgによる書込みが可能。プログラムは無し。
- #011 Blinking LED by wait →ウェイトによるLED点滅
- PSoCのライブラリには、wait_msのようなウェイト関数が無いみたいなので、LCDモジュールのウェイトルーチンを流用。
- #012 Blinking LED by SleepTimer →スリープタイマによるLED点滅
- SleepTimerモジュールによりSleep状態からの割込みでLED点滅させる。モジュールをPlaceすれば、割込み処理が組み込まれるので、割込みを意識する必要はない。
- #013 Blinking LED by Timer →タイマによるLED点滅
- TimerモジュールによるLED点滅。タイマを直接LEDに接続しているので、プログラムはタイマをスタートするだけ。
- #014 Blinking LED by TimerInterrupt →タイマ割込みによるLED点滅
- Timer割込みによるLED点滅。タイマ割込みルーチンでLED点滅を行う。
[top]
- #018 Night Rider →抵抗ドライブでLED点灯
- GPIOの抵抗ドライブでLEDを点灯させてみた。定番のナイトライダーを作ってみる。
[top]
- #015 Switching LED by GPIOpoling →GPIOポーリング処理によるLED点灯
- タクトスイッチの状態を確認を繰り返して、スイッチがONであればLEDを点灯させる。
- #016 Switching LED by GPIOinterrupt →GPIO割込み処理によるLED点灯
- タクトスイッチが押されたら、GPIO割込みを掛けてLEDを点灯させる。
- #017 Switching LED by GPIOdirect →GPIOからダイレクト接続でLED点灯
- タクトスイッチとLEDをダイレクトに接続。CPUは使わないのでSleepさせる。グローバル入力バス接続はPullUpできないので、隣の端子をPullUpして外部で接続した。
[top]
- #020 LCD Basic Set →LCD基本セット
- ブレッドボードで、LCD(SD1602HU)を使う基本の配置を考えてみた。プログラムは無し。
- #021 LCD Display Test →LCDの表示テスト
- #022 Gsensor & ADC →加速度センサをAD変換
- 加速度センサ(KXM52)の出力をTRIADC8で測定して、バーグラフで表示する。
- #027 Tact Switch Test →タクトスイッチのテスト
- ちょっと無理矢理だけど、タクトスイッチを6個載せてみました。プログラムはかなりテキトウ。
[top]
- #023 Quadrature Decoder by Poling → ロータリーエンコーダのポーリングによるデコード
- インクリメンタル型ロータリーエンコーダの状態を繰り返しチェックして、回転方向を検出してカウントする。
- #024 Quadrature Decoder by TimerInterrupt → タイマ割込みによるデコード
- タイマ割込みでロータリーエンコーダの信号をチェックする。
- #025 Quadrature Decoder by GPIOInterrupt → GPIO割込みでデコードする
- ロータリーエンコーダを回転させた時の信号の変化で割込みを掛けて、デコード処理を行う。
- #026 Quadrature Decoder by Direct → 直接カウントする
- ロータリーエンコーダをダイレクトにカウンタに接続してカウントする。Up方向・Down方向別々にカウントして、引き算する。
[top]
- #030 Triple 7seg LED → 7セグメントLEDを使う
- ユーザーモジュールは使わずに抵抗ドライブで、出来るだけ簡単に7segLEDを使うことに挑戦!これ以上簡単に使うのは難しいかも!?
- #031 FlashTemp Test → FlashTempで温度表示
- でも得られる温度は3度刻みで精度が悪い。PSoCデバイス自体の消費電流による発熱を測ってるだけみたいな。。実用性はなさそう。。。最初にオフセット(oTemp)を調整してください。
- #032 Stop Watch → ストップウォッチ
- ストップウォッチを作ってみた。CR発振なので精度は悪いんだけど、Counter16のPeriodの値を調整して出来るだけ合わせてやると良い。
[top]
- #035 8x8 Matrix LED → Matrix LEDを使う
- さすがにちょっと暗いけど、抵抗ドライブだから配線が超簡単!。とりあえず、お手軽にMatrix LEDを試すことが出来る。
- #036 G Sensor & 8x8 Matrix LED → 加速度センサとMatrixLEDの組合せ
- MatrixLEDと接続して、アナログ入力ポートが無くなっちゃった。。でもこれじゃツマラナイので、ムリヤリ加速度センサを繋いでみた。
[top]
- AN2207 Lock-in Milliohmmeter → ロックインアンプによる低抵抗計
[top]
- ブレッドボード関連の部品購入先。使っていないものもあるけど、参考に。
- ヘッダピンとかは長いものを買って、切って使ったほうが経済的。
[top]
[電子工作関連に戻る]