フリスクレベル(デジタル水準器)

  • PICとセンサとLEDとフリスクケースでデジタル水準器を作ってみました。初電子工作です。
  • ベルボンの「アクションレベル」を模倣したことから、「フリスクレベル」と名付けました。
  • ニコニコ動画に紹介動画を投稿しました。詳しい内容はそちらをご覧ください。

  • とりあえずは動いていますが、まだまだ未熟なので改善点などあると思います。ご指摘ありましたら上記の動画へのコメントまたはメール等で連絡をいただけるとありがたいです。

「電子工作コンテスト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日 … 紹介動画をニコニコ動画に投稿