離床センサー 簡易チェッカー②

だいぶ前ですが、離床センサーの簡易チェッカーを作成しました。→こちら いぜんのものは結構場所とりで大きくて邪魔です。 sencepic1   今回は離床センサー簡易チェッカーをグレードアップしよう思います。   出来上がりはこちら🔽 フリスクのケースに入っていて最高にかわいいのも特徴です。 IMG_1257       以前作成した離床センサー簡易チェッカーはタイマーIC555という昔からあるICを使って人間に聞こえる周波数を発振させて、スイッチ(離床センサーの)が入れば音を鳴らすという簡単なものでした。 部品点数も10個以内と少ないものですが、今回はこの機能をマイコンを使ってさらにコンパクト&省電力化を行おうと思います。     マイコンでこの機能を実現しようとすると、なんとマイコン1個で全て出来てしまいます。   マイコンってすごいですよね。 使用するマイコンは7年間寝かしていたマイコンで12C509Aというマイコンを使いました。 このマイコンはフラッシュメモリータイプじゃないので一度書き込むとそれっきり、書き込みを間違うとゴミになるというマイコンです。 だから使ってなかったのですが、やっと日の目を見る時がやってきました。   IMG_1016   プログラムは例によってMPLABで書いてコンパイルして、秋月電子のAKIキットプログラマーで書きます。   ちなみにPICマイコンを知らないかたはこちらへどうぞ!! PICマイコンはじめてみます。 私もマイコン使った事なかったのですがものの1月でけっこう使えるようになりました。 risyousennsa     プログラムはこちら。🔽 全てはマイコンの取説にある通りに設定してます。
// PIC12C509A Configuration Bit Settings // ‘C’ source line config statements #include <xc.h>     // CONFIG #pragma config OSC = IntRC  内部発振をつかいますよー #pragma config WDT = OFF  ウォッチドッグタイマは使いませんよー #pragma config CP = OFF  これも使いませんよー #pragma config MCLRE = OFF  これも使いませんよー     #define _XTAL_FREQ 4000000 //4Mhz使用     #define sp GPIObits.GP0 //GP0をスピーカーへ出力 #define led1 GPIObits.GP1 //GP1をled1に #define led2 GPIObits.GP2//GP2をled2に #define inin GPIObits.GP3 //GP3を入力に設定   int i; void main(void) { //オプションの設定 OPTION =0b10000000; //wake-up on pin offに 7bit目で設定 //weak pull-upをonに 6bit目で設定 //tocs off 3bit目をi/oとして使う 5bit目   //出力、入力の設定 TRIS = 0b001000;  //GP3を入力 あとは出力   //とりあえずクリア GPIO = 0;   //ここからメインプログラムスタートです。 while(1){ sp = 0;//まずはクリア ボタンが押されていないときはLEDも光らない様に led1 = 0; led2 = 0;   if(inin == 0){ for(i=0;i<=63;i++) { //周期1msec 1KHzのパルスを発生させ、for文で8Hzごとに1KHzのパルスが発生 //入力がある間繰り返す sp = 1; led1 = 1; led2 = 0; __delay_us(500); sp = 0; __delay_us(500); } led1 = 0; led2 = 1; __delay_ms(63); } } return; }
  内容的にはかなり簡単なプログラムです 説明ですが、 GP3のスイッチが押されたら、1K㎐でスピーカーをならし、さらに64mseごとにLEDを交互に光らせるというものです。 結構簡単です。 ほかにぐちゃぐちゃ書かれているのはコンフィグ設定などです。 このプログラムで重要なものはif文以降です。   んでテスト🔽     テストもばっちしできたところでケースを作成しました。 ケースも小さく新調してかわいく仕上げます。 IMG_1062 IMG_1063   電源ですが昔の携帯充電器を使用 IMG_1259   くみあげました。 IMG_1258     こんな感じ接続します。 IMG_1261 IMG_1260 IMG_1074     実際の動かしているところ🔽 音が少々小さいですが、こんなにコンパクトになったし最高です。 プログラムをしないといけないという事で敷居が高いですが、そんなに難しくありません。 ぜひみなさんも作成してみてください。    
スポンサードリンク
カテゴリー: 制作事例 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください