2018年9月11日から2018年9月7日までの日記を表示中

2018年 9月11日 (火)

CPS2

部材や工具が届いたので、早速作ってみることに。

部材と工具が届いた

さくっとユニバーサル基板に部品を載せて配線し、サブボードに繋いで・・・

ユニバーサル基板に部品を組み付け

PICにTL866CSでHEXファイルを書き込んで・・・

PICにTL866CSでHEXファイルを書き込み

いきなり実機でテストw

いきなり実機テスト

よし、動かん (´・ω・`)

とりあえず、PICが期待通り動いていないっぽいですね。SETUP1信号とSETUP2信号の両方がLOWのままで、さらにクロックも出ていない感じ。・・・って、GP3は出力にできないピンなのか!そりゃここにCLOCK信号を割り当てても動かないわけです。なるほど・・・。初心者感丸出しですね(汗)

というわけで、CLOCK信号をGP1に変更したら、無事にクロックが出るようになり、キーの書き込みにも成功しました。やったね。

ただ、キーを書き終えるまでリセットがかかりっぱなしみたいな状態になっているのが気になります。SETUP2が、起動直後にHIGHになっていないからなんでしょうけど、何だろうなぁ・・・。

2018年 9月10日 (月)

CPS2

まだ部材が届かないので、今日は、先日PIC12F509向けに書いたコードを、Arduinoに逆移植して動かしてみたところ、いきなりバグを発見w。こんな短いコードなのにw。あと、クロックの上げ下げの間隔は、25msecから5msecに縮めても問題ないことも確認。なるほど。

その後は、サブボードについて調査。初期型サブボードで+5Vをどこから取るのがいいか色々考えてみたんですが、基板にはんだ付けして取るなら、電池の近くのダイオードD2のパターンのアノード側が良さそうですね。

D2のパターン

2018年 9月 9日 (日)

CPS2

とりあえず、今回電池切れを起こした10枚の修理用に、PICを始めとした部材を発注してみました。後期型のサブボードで必要になるJST 6ピンのハウジングについては、共立エレショップで売られている、ピンが圧着された状態のケーブルを買うかどうかで非常に迷ったんですが、長すぎて勿体無いので、結局自分で圧着して作ることにしました。ちゃんとJST NH向けのピンに対応した圧着工具も新たに手配したんで、今回は綺麗にできるはず・・・。

2018年 9月 8日 (土)

CPS2

ひとまず、Arduinoの代わりにPICを使うことを考えているのですが、これまで一度もPICを触ったことがないので、色々調べるところから始めてみました。

なるほど、コード自体は、簡単にCで書けるのね。って、開発するには、結構本格的なIDEを入れないとダメなのか。仰々しいなぁ。とりあえずインストールしてみましたが、早速IDEアレルギーが・・・w。Arduinoのシンプルさ・お手軽さとはだいぶ違う感じですね。

次に、ArcadeHackerさんのArduinoのプログラムが、中で何をやってるのかも調査。意図的なのか何なのか、若干わかりにくい書き方してますが、コアとなる部分はこんな感じのようです。

  1. 初期化
    • SETUP1 = LOW
    • CLOCK = LOW
    • DATA = LOW
    • SETUP2 = HIGH
  2. アンロック処理
    • SETUP1 = HIGH
    • SETUP2 = LOW
  3. 100msec待機
  4. キー書き込み
    • 20Byteのキーを先頭から1Byteずつ取り出し上位bitから1bitずつ取り出して書く
    • 書く際は、DATA信号をビットに合わせて設定(1ならHIGH、0ならLOW)
    • 同時にクロックを動かす
      1. CLOCKをHIGHにする
      2. 25msec待機
      3. CLOCKをLOWにする
      4. 25msec待機
  5. ロック処理
    • SETUP1 = LOW
    • SETUP2 = HIGH
  6. 25msec待機

    これなら簡単にPICのコードに落とせそうですね。というわけで、Cで書いて、PIC12F509向けにコンパイルしてみました(何でPIC12F509かというと、秋月電子で1個50円と大変お求めやすい価格で売られているため)。果たして、実機で期待通りに動くのか・・・。

2018年 9月 7日 (金)

CPS2

初期型のサブボードで、M/Bに載せた状態でキーが書けない理由が判明しました。ArduinoのGNDの取り方に問題がありました。今まで、基板の外側で、基板環境の電源のGNDを分岐させてArduinoのGNDと繋いでいたんですが、これが良くなかったようです。初心に返って、Arduino側のGNDも、CN2 C31と繋ぐように変更したら、書けるようになりました。そして、このとき、CN2 C31とArduinoの間の線を長くすると、またダメになったりするようです。

というわけで、Arduinoを利用した、電池レス化のコンセプトムービー的なものを撮影してみました。

よくわからないかもしれませんが、簡単に解説すると、こんな感じです。

  • サブボードには電池なし
  • キーが飛んだ状態
  • Arduinoは基板と同じ電源で動作(基板と同時に起動)
  • 基板が起動すると電池切れなので白画面
  • しばらくしてArduinoが自動的にキーの書き込みを開始
  • キーの書き込みが終わると、Arduinoは動作を止め、ゲームが起動

これ、Arduinoでやっても、あんまり面白くないですが、これをもっと小さくて安いデバイスでやれるようにして、さらにそれをサブボードに内蔵しちゃうと、きっとクールな感じになるはずw

2018年9月11日から2018年9月7日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2018年9月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ