目次
うまく動作しないことを先生に相談したところ、5番ピンに対して左右で対称になるような配線ミスをしていることを指摘され、修正したところ正常にデータを送受信できるようになった。他にもPSoCのプルアップ設定の入力端子にはデータレジスタに1を与えて読まないと正確な値が取れないことや、オシロスコープのトリガ待機での測定法などを教えて頂いた。
図 PSコントローラとのSPI通信2byte目
ch1:CLK, ch2:ACKn, ch3:DAT(PAD→PSoC, 0x41), ch4:CMD(PSoC→PAD, 0x42)
UARTでデータが取れるよう、プログラムの追加を始めた。
前回に引き続きPSコントローラとのSPI通信を試そうとしたが、うまく動作しなかった。そもそもSPIMモジュールの使い方が間違っているかもしれない。
次週は動作させられるように必要な情報を調査しておく。
PlayStationのコントローラはSPI通信で読み取りが可能。はじめは5Vで動作させ、動作確認後に3.3Vで実験する。
無線モジュール(BTX025 ZIG-100B)は3.3V動作。
2×5ピンのピンヘッダ・ピンソケットを使って基板との接続端子を設けた。
SPI通信のデータシートを見ながらPSコントローラと通信するプログラムの作成を始めた。
参考ページ
・http://kaele.com/~kashima/games/ps_jpn.txt
・http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/spi1.html
・http://www.ne.jp/asahi/rugbysensor/ohata/SPI_0.html
みんなそれぞれアイデアを発表して、自主課題研究で製作するものを決めた。
自分はPlayStationコントローラを利用したラジコンを作ることにした。
基板に赤色LEDを8個追加。LEDフラッシャーを作りたい。
CapSenseでタッチセンサ、スライダを動作させることができた。
基板にICソケット、ピンヘッダ、抵抗、LED、タクトスイッチをはんだ付けした。
CY8C27443を使ってチュートリアルのSWに連動したLED点滅のプログラムを作成し、動作させることができた。
スイッチによるピン変化割り込みを使って点滅周期を変化させるというプログラムを作り、動作を確認した。
参考:http://dr.matrix.jp/psoc2.html
先週できなかったLEDのプロジェクトを再度作り直したところ動作させることができた。前回うまく動かなかった原因が何かは不明。
PSoC First Touchのチュートリアルに従ってADCとPWMでLEDの輝度を変えるプログラムの作成を行った。
しかし、手順通りに進めてもうまく動作しなかった。先輩方にも見てもらいつつ原因を探したところ、PWMのpulse widthの変更が上手くいってないことがわかった。
PWM8_1_WritePulseWidth(値);
で変更できない。配線画面のPWM8_1のプロパティ設定画面でPulseWidthを設定するとその値になるが、プログラム中では変更できなかった。
一度プロジェクトを作成し直したところ、最初の1回はしっかり動作したが、その後また同様の状態となり、今日は目的の動作を得ることができなかった。
先生・先輩方から自主課題研究の説明や、研究室の概要の説明を受けた。
これからよろしくお願いします。
コメントはありません。 Comments/kawakami