- PICとセンサとLEDとフリスクケースでデジタル水準器を作ってみました。初電子工作です。
- ベルボンの「アクションレベル」を模倣したことから、「フリスクレベル」と名付けました。
- ニコニコ動画に紹介動画を投稿しました。詳しい内容はそちらをご覧ください。
- とりあえずは動いていますが、まだまだ未熟なので改善点などあると思います。ご指摘ありましたら上記の動画へのコメントまたはメール等で連絡をいただけるとありがたいです。
「電子工作コンテスト2010」にて「秋月賞」を受賞
- 電子工作コンテスト2010に応募した結果、企業賞「秋月賞」をいただきました!
- 「フリスクでデジタル水準器を作ってみた」エントリーNo.030 電子工作コンテスト2010
- 受賞作品紹介 | 電子工作コンテスト2010
ハードウェア
概要
- 3軸加速度センサ「KXM52-1050」と制御用IC「PIC12F683」を利用しています。
- PICの入出力ピン6本(GP0,GP1,GP2,GP3,GP4,GP5)に対し、加速度センサのX軸の出力をGP4に繋げてAD変換し、その変換値に応じてGP0,GP1,GP2の入出力を切り替えながら5個のLEDを点灯させています。
部品
- 3軸加速度センサモジュール KXM52-1050 1個 … 1000円
- PICマイコン PIC12F683 1個 … 150円
- 赤色LED 3φ 2個 … 40円
- 黄色LED 3φ 2個 … 40円
- 緑色LED 3φ 1個 … 20円
- 積層セラミックコンデンサ 0.1μF 1個 … 10円
- ボタン電池基板取付用ホルダー CR2032用 縦・小型 1個 … 50円
- 1/4W カーボン抵抗 3本 … 3円
- 超小型トグルスイッチ サーキットボーイG G-12AP 1個 … 200円
- フリスク ブラックミント 1個 … 200円
- ニコン ホットシューカバー BS-1 1個 … 150円
- ユニバーサル基板(11穴×9穴にカット) 1個 … 100円
- 基板の足と止めゴム 4個 … 80円
回路図
ソフトウェア
概要
- PICKit3 と MPLAB IDE を利用して実装しています。
ソースコード
#include
#define _XTAL_FREQ 4000000 //for __delay(@4MHz)
//Configuration Bits
__CONFIG(
MCLRDIS //内部リセット回路の使用
& PWRTEN //パワーアップタイマの使用
& BORDIS
& UNPROTECT
& WDTDIS
& INTIO //内部クロック生成器の使用
& FCMDIS
& IESODIS
);
//ID Location
__IDLOC(F683); //PIC12F683
void main(void){
OSCCON = 0b01100000; //3Vの電圧で動作させるためにクロック周波数を4MHzに落とす
while(1){
ADCON0 = 0b00001101; //GP4(AN3)をAD変換の対象ポートにする
__delay_us(20);
GODONE = 1; //変換の開始指示
while(GODONE); //変換が終わるまで待機
if (ADRESH >= 127+4) {GPIO = 0b00000001; TRISIO = 0b00111100;}
else if (ADRESH >= 127+2) {GPIO = 0b00000010; TRISIO = 0b00111100;}
else if (ADRESH >= 127+0) {GPIO = 0b00000001; TRISIO = 0b00111010;}
else if (ADRESH >= 127-2) {GPIO = 0b00000100; TRISIO = 0b00111001;}
else {GPIO = 0b00000010; TRISIO = 0b00111001;}
}
}
更新履歴
- 2012年11月17日 … 動画データを整理した機会にYouTubeにも紹介動画を転載
- 2010年12月05日 … 電子工作コンテスト2010に応募した結果、企業賞「秋月賞」をいただきました!
- 2010年02月06日 … 回路図や製作工程などを公開
- 2009年09月08日 … ソースコードを公開
- 2009年07月19日 … 紹介動画をニコニコ動画に投稿