PSoC4 M-Series Pioneer Kit CY8CKIT-044 CapSense お試し

2015-08-01 15.59.12

PSoC4 基板に配置されている CapSense の読み込みをやっています。CY8CKIT-042 はスライダの形したセンサーでしたが、こちらはボタンが円形になるように配置されています。

CapSense の使い方の練習ということでサンプルを元に右回り、左回り、右スライド、左スライド、上スライド、下スライドの判定のところがどうなっているのか調査開始。下記 printf デバッグで出したボタン状態をもとに判定するのをどうしようかなぁと考えるところからです。↓の例は右回りに指をスライドさせたときの出力例です。

U: 1 R: 0 D: 0 L: 1 C: 0
U: 1 R: 0 D: 0 L: 1 C: 0
U: 1 R: 0 D: 0 L: 1 C: 1
CLOCKWISE
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 0 C: 1
U: 1 R: 0 D: 0 L: 0 C: 1
U: 1 R: 0 D: 0 L: 0 C: 0
U: 1 R: 0 D: 0 L: 0 C: 0
U: 1 R: 0 D: 0 L: 0 C: 0
U: 1 R: 0 D: 0 L: 0 C: 0
U: 1 R: 1 D: 0 L: 0 C: 0
U: 1 R: 1 D: 0 L: 0 C: 0
U: 1 R: 1 D: 0 L: 0 C: 0
U: 1 R: 1 D: 0 L: 0 C: 0
U: 1 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 0 L: 0 C: 0
U: 0 R: 1 D: 1 L: 0 C: 0
U: 0 R: 1 D: 1 L: 0 C: 0
U: 0 R: 1 D: 1 L: 0 C: 0
U: 0 R: 1 D: 1 L: 0 C: 0
U: 0 R: 1 D: 1 L: 0 C: 0
U: 0 R: 0 D: 1 L: 0 C: 0
U: 0 R: 0 D: 1 L: 0 C: 0
U: 0 R: 0 D: 1 L: 0 C: 0
U: 0 R: 0 D: 1 L: 0 C: 1
U: 0 R: 0 D: 1 L: 0 C: 1
U: 0 R: 0 D: 1 L: 0 C: 1
U: 0 R: 0 D: 1 L: 1 C: 1
U: 0 R: 0 D: 1 L: 1 C: 1
U: 0 R: 0 D: 1 L: 1 C: 1
U: 0 R: 0 D: 1 L: 1 C: 1
U: 0 R: 0 D: 1 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 0 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1
CLOCKWISE
U: 1 R: 0 D: 0 L: 1 C: 1
U: 1 R: 0 D: 0 L: 1 C: 1

PSoC4 M-Series Pioneer Kit CY8CKIT-044 が届いた

2015-08-01 15.59.12

CY8CKIT-042 というが工作ショップで普通に買える PSoC4 の基板ですが、後継の CY8CKIT-044 というのが出ていたので購入した次第。マイコンチップは Flash メモリのサイズが大きくなっていたりしますが、基本のところは CY8CKIT-042 と同じ。基板で目立つのは CapSense のパターンがスライドから円形っぽい感じになったことですかね。

ということでグリグリ回すパターンが試せる Touch Gestures Example Project を Build して書き込んでみましたが、PDF のユーザーガイドに書いてるような動きと違いスムーズなセンスを行ってくれません… CapSense のバージョンか何かで感度などが違うのかも知れませんがいきなりデバッグからせなあかん状況になりそうで面倒くさい感じが漂うところ

もうちょっと調べてみよう

日本橋お買い物

2015-07-26 07.46.56

昨日はオヤジの13回忌でほぼ一日おわったのですが、夕方から酔ったいきおいで日本橋いって買い物をしてきた次第。何故か紙袋になるまで買っていたとは…

2015-07-26 07.49.13
2015-07-25 16.50.47
2015-07-26 07.50.12
2015-07-26 07.51.44

まずハンダ付けに使うアイテム3連発。最初はコテ台。ハッコーの633 というやつ。FX-600 でも使えますとあったので購入。実際にはFX-100のハンダゴテを横目に見つつ、お高いのぉ~と言いつつコテ台更新で我慢と
あとはフラックスと、フラックス用筆ペンも勢いで購入しました。

2015-07-26 07.56.03

次は TDK ラムダ(デンセイラムダ)のスイッチング電源 HWS-150-24(24V 150W) です。共立さんが 7/25 から 8/9 までやっている決算セールでお安くなっていました。電源出力の可変範囲は ±20% なので GM70 真空管のヒーター電源(20V 3A)にも使えると判断。GM70×2のヒーター 20V×3A×2つ=120W で 150W の電源なら負荷 80% 。取説の出力ディレーティングを見ると温度50℃あたりから取り出せる電力量は減りはじめます。周辺温度50℃は簡単にいっちゃいそうなので余裕見て2つカゴへ投入。ただ、旧製品なので電源ユニットの大きさは今時のに比べて大きいです。これはあきらめます。

2015-07-26 07.53.18
2015-07-26 07.48.20

あとは Si4735 ラジオモジュール、デジットで無接点電源モジュールなどを買ったあたりで買い物終りです。ふぅ、疲れた。

無線LANモジュール ESP-WROOM-02 が届きました

2015-07-24 21.22.20

最近人気の Wifi モジュールがうちとこにも届きました。Cerevo さんとこのネットショップでポチったやつです。1セット842円(税抜) + 送料90円やったかな。ヤマト運輸の DM 便でのお届けでありました。

2015-07-25 08.54.22

本体と変換基板は別なのでハンダ付けする必要があります。マスキングテープで固定して、どのコテ先が合いそうか事前確認してるところです。

2015-07-25 09.03.10

ハンダ付け完了。各パッドのうち裏面のベタアース・ESP-WROOM-02のシールドにつながる GND はコテの温度上げたつもりが、熱不足で失敗。まぁひっついているので良しとしましょう。

2015-07-25 09.11.03

あとはヘッダピンをハンダ付けして終り。ジャンパはデータシート読んでいないので保留にしています。単純に無線LAN <--> シリアル変換ならこのままでも使えるんじゃね? みたいなズボラな考えでいてたりするのですが、 資料確認は法事が終ってからなので明日になりそうです。

急に暑くなって手が動きませんわ

2015-07-12 15.01.46

先週東京に居てましたのでわりと涼しい日が多く、体力的に助かっていたのですが大阪帰ってきたらすごく暑いです。作業部屋はエアコンかけたら気温は下るのですが窓からの輻射が地味に堪えます。

そんなこんなで午後は何もする気になれず、パーツボックスで見付けた石をブレッドボードに組んではバラすの繰替えし。写真は LT1054 のスイッチトキャパシタ電圧コンバーターのテストしてたときの模様。12V の AC アダプタで電源供給したら出力は -12V が出ます。LED 負荷 10mA 取ったときの出力電圧は -11.73V でした。コンデンサ1個で動きますがちょっとお高い石です。

デジット 32×16 赤緑 LED マトリクス基板の制御をどうしようか思案中2

スクリーンショット 2015-07-04 14.00.29

自宅の Windows 7 PC で、FT2232D のテストプログラムの続きをやろうとして環境作成。デバイス一覧を拾ってくるメソッドがエラーになって動きません状態。FTD2XX_NET という C# 用 Wrapper のソースも FTDI のサイトからダウンロードして DLL 作成しなおして、テストプログラムから呼出すよう設定変更してどこで止まるか確認。

確認の結果、デバイス情報のシリアル番号 String 中にある NULL 文字を削除する所でトラップ発生していました。この事象は Windows update サイトから自動インストールされる2014年9月のドライバでは発生しませんが、FTDI のサイトから最新版のドライバを入れると発生します。
ということで、C# 用 Wrapper はしばらくメンテされていない感じなので、他のメソッドというかクラスも大丈夫かちょっと心配になったりもします。

ドライバの DLL を直接使う方向にするか、ラッパーの虫取りするかどうしようかと考えているところですが、出鼻を挫かれた感じなのでちょっと棚上げすることにしました。もうちょっと調べてみましょう。

デジット 32×16 赤緑 LED マトリクス基板の制御をどうしようか思案中

2015-07-01 17.24.40

デジット 32×16 赤緑 LED マトリクス基板の制御入力コネクタは 12 ピンあります。このうち 1 本は GND なので制御に必要な信号は 11 本必要です。最初は Raspberry Pi で制御する?とか思っていたのですが、途中で気が変わってノート PC から動かしたほうがいいような気がしてきました。

ということで、秋月で FT2232D の変換基板を購入してきました。PIC を使った HID デバイス - 12 GPIO の変換基板もあったのですが、今回はなんとなく FTDI のチップ使ったほうをえらびました。

20150702195700

Visual Studio 2013 Express を出張用タブレットパソコンにインストールして C# で、FT2232D の情報がとれるところまでテスト。無事うまくいきました。
表示された内容では、2個デバイスがあるように見えて、デフォルトはシリアルポートになっているようです。最初からパラレルモードとかにしておく場合は シリアルEEPROMかなんかに設定をセーブしておかないといけないようです。次は、この見つかったデバイスをオープンして、パラレルモードにする設定をやってみたいと思います。

日本橋の買い物

久し振りに日本橋でお買い物ですが、経費になるものではなく個人の買い物です。

2015-06-28 15.35.49

赤・緑 LED の 32×16 LED パネルです。 デジットイチオシ!特価32×16のドットマトリクスLEDパネル がお店の Blog で紹介されています。販売開始から半年以上経ってぼちぼちこいつもフェードアウトしていく? みたいな感じがしたのでとりあえず追加で購入しました。

制御は Raspberry Pi B+ でやってみましょう。GPIO はそれなりのタイミングで叩けば大丈夫そうですし、ビットマップフォントを展開する関数があれば文字の苦労はだいぶ減るハズ。という程度の考えやったりします。

2015-06-28 15.37.14

CCFL 用インバーター 380円なり。24V 入力で長さ260mm 2.7φの管に使えますとあります。なんと申しますか、この部品の少なさは蚊取りラケットの電源を彷彿とさせるものがありますなぁ。まぁ、実験用に 1000V くらい欲しいときには便利そうなんでとりあえず一個いっときましょ。いう感じ。駄目でもトランスは再利用出来るかな。

2015-06-28 15.37.37

赤色の 7セグ LED モジュールです。超小型12桁7セグLEDモジュールが入荷しました! の記事がそれです。売り切りゴメンいうやつらしいです。12桁なんで電卓用途だったパーツですかね。

今日のところは、買って満足したという状態なので手をつけるのはもうちょい先になりそうです。

Raspberry Pi 2 Model B をやっと無線 LAN 対応にした

2015-06-19 12.33.01

今まで Raspbery Pi を使うときは LAN ケーブルを接続して使っていたのですが、さすがに毎回セットアップすんのも面倒になってきたので無線 LAN アダプタを付けることにしました。買ったのは動作実績がある Buffalo WLI-UC-GNM という子機です。アマゾンの販売価格 713 円なり。まよわず2個購入

2015-06-19 12.31.07

とりあえずセットアップするべくシリアルコンソールに USB シリアル変換を接続して TeraTerm 立ち上げるもコンソール端末が動きません。

2015-06-19 11.23.40

調査の結果

2015-06-19 11.20.49

まさかの圧着不良のケーブルでございました。本体壊れてなくてよかったです。

2015-06-19 12.34.49

気をとりなおして設定作業を続けます。USB のポートに無線 LAN アダプタを入れます。

kernel: [  223.298795] usb 1-1.5: new high-speed USB device number 4 using dwc_otg
kernel: [  223.414612] usb 1-1.5: New USB device found, idVendor=0411, idProduct=01a2
kernel: [  223.414637] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [  223.414654] usb 1-1.5: Product: 802.11 n WLAN
kernel: [  223.414670] usb 1-1.5: Manufacturer: Ralink
kernel: [  223.414686] usb 1-1.5: SerialNumber: 1.0
kernel: [  223.525784] cfg80211: Calling CRDA to update world regulatory domain
kernel: [  223.708837] usb 1-1.5: reset high-speed USB device number 4 using dwc_otg
kernel: [  223.817845] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
kernel: [  223.840939] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
kernel: [  223.863206] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
kernel: [  223.865320] usbcore: registered new interface driver rt2800usb
ifplugd(wlan0)[2085]: ifplugd 0.28 initializing.
kernel: [  223.926606] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
kernel: [  223.930068] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
ifplugd(wlan0)[2085]: Using interface wlan0/CC:E1:D5:3F:34:8A with driver <rt2800usb> (version: 3.18.7-v7+)
ifplugd(wlan0)[2085]: Using detection mode: SIOCETHTOOL
ifplugd(wlan0)[2085]: Initialization complete, link beat not detected.

さくっと認識します。

root@rasp2:/var/log# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]

lsusb コマンドも問題なし。使う無線 LAN が認識できるか wpa_passphrase コマンドを使って確認します

root@rasp2:/var/log# wpa_passphrase 無線LANのSSID パスフレーズ
network={
	ssid="無線LANのSSID"
	#psk="パスフレーズ"
	psk=70f16dae8c39c15a7f923e525edd84112bbf52525b92f6d7bb449be615b6943a
}

network= というのが表示されたら通信出来るようです。ここまでで確認作業は終り。続いて設定作業です。最初に、上記 wpa_passphrase コマンドで表示された結果を /etc/wpa_supplicant/wpa_supplicant.conf ファイルに追記します。エディタでコピペして追加してもいいですし、wpa_passphrase 無線LANのSSID パスフレーズ >> /etc/wpa_supplicant/wpa_supplicant.conf のような方法でもかまいません。追加できたらいいです。

root@raspberrypi:/etc/network# cat interfaces
auto lo

iface lo inet loopback

#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.24.188
netmask 255.255.255.0
gateway 192.168.24.1
network 192.168.24.0
broadcast 192.168.24.255

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
iface default inet static
address 192.168.24.186
netmask 255.255.255.0
gateway 192.168.24.1
network 192.168.24.0

/etc/network/interfaces に無線LANアダプタの設定を追加します。allow-hotplug wlan0 以下の行ですね。今回 IP アドレス固定で使う設定にしました。

dhcp 設定でもDNS 登録するようにしておいて、ホスト名で端末接続できるようにするほどでもないので設定はこれにて完了。

# ifdown wlan0
# ifup wlan0

接続確認は if コマンドでインタフェース起動か、OS reboot させてインタフェースを立ち上げます。ifconfig で wlan0 が上っていたら成功です。

ちなみに、この無線LANアダプタわりと発熱します。ケースに入れてる人は連続使用時の温度は確認したほうがいいと思います。

久しぶりに PSoC のお勉強 CapSense

2015-06-07 12.27.37

出張中 PSoC4 基板を動かすことなく週末帰宅です。今日は CapSense を使ってみましょうと少しだけ実験です。PSoC4 Pioneer Kit に CapSense 基板を、ジャンプワイヤで接続します。 CapSense に使うポートはどこでもいいのですが、石から 10mm 以内の場所に 560Ω の抵抗を入れるのが推奨されています。

2015-06-07 13.27.12

PSoC4 Pioneer Kit も基板のはじっこにスライド式のセンサが配置されていて、それの入力に使う I/O ピンには 560Ω がはいっています。R17から R21 までですな。この I/O ポートは P1_1, P1_2, P1_3, P1_4, P1_5 にアサインされていて、ヘッダにも接続されているので流用可能です。

ということで、別の CapSense 基板ひっぱりだしてきて使います。青い基板の中央にクルクル出来るホイールのパターンが作られています。シルク印刷には、SLD_0 から SLD-9 まで 10個パターンがありますが、基板側の入力が5個だけなので、SLD_0, 2 4 6 8 の5つ配線して使えるかやってみます。

スクリーンショット 2015-06-07 13.40.20

CapSense のエレメント数 5 と API のレゾリューションを 100 。

スクリーンショット 2015-06-07 13.40.15

センサーの動作モードは、本当ならマニュアル設定で追い込んで不安定な動作を取り除いたほうが良いですが今回は様子見で Auto 設定でやっています。

キャプチャ20150607134600

あとは、デバッグ用にシリアルポート追加したりして実験開始。ラジアルスライダの各エレメントというか電極を軽くクリックした状態では、SLD_0 は 0、SLD-2 は 20 と設定画面で指定したレゾリューション 100 をボタン数 5 で割った数値がわりあてられ、ピッタリの値が返ってきました。

0
20
40
60
80
40

次に、右回りにグルグルやってみます。

1
2
3
5
6
7
8
9
10
15
20
22
23
24
25
26
27
28
29
33
35
36
37
40
42
43
44
45
46
47
48
50
51
52
53
54
55
56
57
58
62
63
64
65
66
67
70
71
72
73
74
75
76
77
78
80
85
88
90
91
92
94
95
96
98
99
100

指をグルグルすることで、今触ってる電極と隣の電極の測定値が変化することをうまく処理してるようで100まで出ます。