いろんなこと
いろんなことやってます
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ラジコンサーボを使おう
あるものを作るためにラジコンサーボをPICで動かします。

とりあえず作りました。
サーボ制御回路
12F683にLEDとスイッチとブザーとサーボを繋げました。

CCPって機能を使えば簡単にサーボを動かせるだろうと思って、サーボはGP2に繋げてます。
で、ここの「模型用サーボモータサンプル(12F683/12F509) 」のソースを参考にして動かすことができました。
結構簡単。

このソースではクロックが500Hzだったので、4MHzで動かそうと思った時に困ったことが。
計算したら8ビットに収まらない。PR2レジスタに入りきらない。
なるほど、だから500Hzでやってるのか。

んーこれは、タイマー使って自力でパルス出力しないとダメなのかな?
スポンサーサイト
ラミィキューブタイマーの製作 その5 AD変換
ついにAD変換をやります。
雰囲気的になんとなく苦手。

いろいろなサイトを参考にしました。
こことかこことか。
でもやっぱり良くわかんないので、ここのコードを参考(というかほぼそのままコピー)にしてみたらなんとか動きました。(感謝)
その結果のソースがこれ。

AD変換処理追加のソース

最初にタイマー値をボリュームで設定して、その設定した時間でタイマーが動きます。
AD変換自体は8ビットの値を取得しています(0~255)が、2桁しかないので0~99までにしています。

まだバグがあるみたいだけど、原因不明。
値を10付近にすると勝手にボタンが押されたような動きになるみたい。
まあ、とりあえず動いたってことで。(いつもこれだw)
(というか、例に漏れずここまでもってくるのにすごい時間かかった。)

やっとこれで目的の機能の使い方が全部わかったことになります。(多分)
次は作り込んで仕上げまでもっていけると思います。(多分)

つづく(多分)
ラミィキューブタイマーの製作 その4 スイッチとブザー
今度はスイッチ入力とブザーをやります。
これで最低限のラミーキューブタイマーが作れるはず。

まずはスイッチ入力。

前に作った回路図
ラミィキューブタイマー回路図

スイッチはRA4になります。スイッチが押されるとRA4は”1”になります。
前回のカウントダウンのソースにスイッチの入力判定を追加します。

スイッチ入力判定追加のソース

チャタリングの対策は入力の積分って処理をしたほうが良いらしいけど、よくわからなかったので単純にウエイト入れています。わかるようになったらそのうち。
ボタンを一度離さないと次の入力判定はしないっていう処理にしました。じゃないと押しつづけたらずーっと反応するのでなんかかっこわるい。
後、TRISAの設定を忘れないように。(はまったw)


次はブザー。
これは単純にポートを高速にオン・オフすれば鳴るんじゃないかと思ってた。これは簡単そう。
30秒前、15秒前でお知らせ音。
10秒前になったら1秒ずつ警告音。
ボタンを押したらクリック音。
0秒になったら終了音。
の処理を追加します。

ブザー処理追加のソース

高音、低音の2種類それぞれに長音、短音で、合計4種類の音を設定しました。
組み合わせれば効果音程度ならこれで間に合うかな?
もしかしたら鳴っている途中でタイマー処理に入ってしまうかもしれないので、鳴らすときはタイマーを切るようにしています。
タイマー切ったら正確な時間が測れないけど、そこはお遊びということで。


本当はこれでラミィキューブタイマーとしては機能は十分だと思います。だけど、もう少し豪華な機能を付けたいと思います。
ここでボリュームの機能が活躍するのです。

次はAD変換をやります。
これも難しそうだ。

つづく
ラミィキューブタイマーの製作 その3 7セグLED
7セグLEDを表示します。

まずは簡単に。
7セグLED表示のソース

そして動いている所。
7セグLED表示17セグLED表示2
わかりにくいけど、”60”って表示されています。60秒ってことね。

SDCCってなにもライブラリないのね。ウエイト関数も自分で作るのか。
まずほんとに表示だけ。単純に繰り返し。一応ダイナミック表示だと思う。

次にこれを一秒ごとにカウントダウンします。
単純に一秒のウエイトを入れただけではだめです。1桁目しか表示されない。まあそうだ。
やっぱり割り込み処理でないと無理っぽい。苦手だ。
あきらめて割り込み処理について調べます。


で、7セグLEDがちらつかない程度の割り込み時間で表示するようにしてみました。

7セグLED表示タイマ0割り込み版のソース
ラミィキューブタイマー基盤3
とりあえず約一秒ずつカウントダウンしながら表示できました。
0になったら60に戻ります。(このソースだと0は表示されないけど。まあとりあえず)

ここまで、実はかなり時間かかってます。
調べるのしんどい。
もうどこを参考にしたか思い出せないのでリンクは無し。

次はスイッチとブザーをやります。

つづく
ラミィキューブタイマーの製作 その2 回路図
さっそく回路図を書きました。

ラミィキューブタイマー回路図
配線が多い。
あ、回路図間違い。PICは16F88を使います。ピン配置は同じだと思う。

抵抗値とか得に計算とかしてません。なんとなくいろんなサイトを参考にしてます。
7セグは今思えば3桁にしとけば良かった。
多分いろいろ間違っていると思います。とりあえず動けばオッケーってことで。


で、出来ました。
ラミィキューブタイマー基盤1ラミィキューブタイマー基盤2
7セグのハンダがめんどい。3桁にしなくて良かった。w

パコパコ叩けるように、ボタンはゲームセンターの筐体に使っているボタンです。
ケースはタッパを使いました。
むやみに丈夫なものではなく、壊れてもすぐに修理が出来る様に。逆転の発想だ。(資金が無かっただけ)
そして、ほとんどの部品はジャンクから。エコだ。

次はソフトを作ります。

つづく
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。