いろんなこと
いろんなことやってます
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ラミィキューブタイマーの製作 その1
PICに書き込みが出きるようになったので何か作ろうと思います。

ラミィキューブというゲームが回りで流行ってたことがあります。
遊び方はここを見るとわかるかな?
これの正式ルールが1人の1ターンの持ち時間は最大1分ということで、本当ならタイマーが必用なのですがありませんでした。なので、なかなかゲームの進み具合が遅く、これを改善しようとタイマーを作ることにしました。
で、調べたら・・・もう売ってるのね。

終了。



いやいや、作ることに意義があるのでね。PICの勉強を兼ねてやります。

今回は
・7セグメントLEDのダイナミック点灯制御
・押しボタン
・ブザー
・ボリューム
・タイマー割り込み
を使ってみたいと思います。(いっぱいやることあるな。できるかな?)

作るからには市販品よりもよけいな豪華な仕様にします。
・時間を任意に設定
・30秒前、15秒前でブザーでお知らせ
・10秒前から一秒ごとにカウントダウンのブザー(あせりを誘発)
・次はだれ?表示
とりあえずこのくらいかな?

雰囲気としては、
ハチワンダイバーの将棋対決の時のタイマーをパコパコ叩く、あんな感じでゲームが出きると面白いだろうなー。
そんな感じです。

ではさっそく回路を設計します。

つづく
PIC書き込み出来た
PICに書き込みできたけど・・・WIN版のPickit2プログラマでやりました。
死亡と思われたPICも書き込みできました。
でも根本的な解決になってない。なるべくubuntuでやりたかったんだけど今回は負けた。
そのうち解決しよう。
とりあえず先に進まないと。
PIC死亡
16F88を使ってなんか作ってて突然書き込みが出来なくなりました。
途中まで順調に何度も書き込み出来てたのに、ある時からなんか書き込みが不安定になり

Configuration Memory Errors

Address Good Bad
002007 003F18 000000

こんなエラーが出て、その次以降の書き込みは
Program Memory Errors

Address Good Bad
000000 000000 003FFF

こんなエラーが出て、このエラーが出ると2度と正常に書き込み出来なくなりました。
これって壊れたってことなんだろうか?

pic死亡
死亡したPIC達。

とりあえずもう壊したくないので開発中止。
原因不明だ。

パッシブミキサー
こんなの見つけた。
こんなんでミキサーになるんだねぇ。
今はギターアンプにマイクとMP3プレーヤーを繋ぐ時にBOSSのBX-4って小さいミキサーを使ってるけど、パッシブミキサーに置き換われば電池使う機器が減らせるかも。

で、作ってみた。
まずは回路図。例によってEAGLEに慣れる為にわざわざ回路図作りました。
ジャックの図がわからなかったので適当です。
最初はマイクの所も47kΩだったり、それぞれのチャンネルにスライドボリューム付けたりしたけど、最終的にはこんな感じ。
パッシブミキサー回路図

完成(外観)
パッシブミキサー閉

完成(中身)
パッシブミキサー開

ケースはダイソーのネジセットのケース。
抵抗はジャンクから取り出したやつ。
買ったのはジャックだけ。

使用用途は、ワイヤレスマイクの受信機とMP3プレイヤーをミキシングしてギターアンプに入れるので、
入力は標準モノラルジャックとステレオミニジャック。
出力は標準モノラルジャック。

使ってみたところ、マイクの受信機のレベルがかなり低くてぜんぜん聞こえませんでした。
最初は全部に47kΩだったのを、マイクの所だけ1kΩにしたらそこそこ聞こえるようになりました。
なんか問題あるかもしれません。この辺よくわかんない。
そもそもなんでこんなんで音が混ざるのかよくわかってないです。
各チャンネルにボリューム付けたけど、結局マイクは常に100%にしないと使い物にならなかったのでボリュームやめました。中の基盤はその名残り。

こんなのでもちゃんと音が合わさって鳴ってる。すげー。
今度大音量でテストしてみます。
ubuntuでPIC(PICへ書き込み)
最初はやっぱりLEDを点滅するのを作ります。

まず回路図。
EAGLE を使いました。synapticでインストール。
この程度にわざわざ回路図を書かなくても良いけどソフトに慣れる為に。結構時間かかった。
LED_Bllink-回路図



そしてソフト。

#include
#include

int at 0x2007 __config = _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BODEN_OFF & _CP_OFF & _CPD_OFF;

void wait( long cnt )
{
 while(cnt > 0)
 {
  cnt--;
 }
}

void main()
{
 TRISIO=0x00;
 GPIO=0x00;
 while(1)
 {
  GPIO=0x3F;
  wait(5000);
  GPIO=0x00;
  wait(5000);
 }
}

とりあえず適当。
WindowsではMikroCを使ってたので、すぐ出来るかな?と思ってたけど、時間かかった。半日つぶした。


そして動いてるところ。
写真ではわからないけど、一応点滅してます。めんどくさかったので抵抗は付けてない。
LED_Bllink-動作


とりあえずubuntuでPICの開発環境が整いました。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。