2015年01月18日

ブザー回路



回路図書いてみました


SW3は電源用スイッチ

SW1が動作スイッチで
SW2が切り替えスイッチです


SW1をタクトスイッチにして、2番ピンに接続します
プルダウン抵抗を入れて動作を安定させます

そして、SW2はスライドスイッチにして、ONの場合はdelayを入れて
一人練習用に切り替えます


プログラムは以下の通り
-------------------------------------

/*
* File: newmain.c
* Author: miura
*
* Created on 2015/01/15, 1:47
*/

#include
#include
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/

#include
//#include
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings

#include

// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)





int main(int argc, char** argv) {

//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF
TRISA =0b00000000;
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 0;
while(1){
if(RA5==1 && RA4==0){
RC5=0;
_delay(200);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}
else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}


}
return (EXIT_SUCCESS);
}

-------------------------------------ーーーー



出力ピンは5番にしました
ほかのポートは出力モードにしているので、プルアップとかはしなくても大丈夫なようです


出力が弱いので、ブザーを動かすために、npnトランジスタを入れてみました

PICは16f676を使用
4MHzだと2Vで動作するので、使用しました・・・というか、いっぱいあったので
電源は単三電池2本の3V

プルダウン抵抗として10kΩを入れています




これであってるかな?


あ・・・今気づいたけど、RAのポート入力に設定してないんじゃないかこれww




同じカテゴリー(マイクロロボット)の記事画像
マイクロロボット 新設計
ブザー回路9
ブザー回路5
ブザー回路4
ブザー回路3
ラジQのモータを使う
同じカテゴリー(マイクロロボット)の記事
 やっと動いた (2015-09-06 09:05)
 マイクロロボット締め切り近いのに (2015-08-15 16:54)
 マイクロロボットあと少し (2015-07-06 11:05)
 マイクロロボット 新設計 (2015-04-19 19:11)
 ブザー回路9 (2015-02-26 08:26)
 ブザー回路8 (2015-02-22 23:27)

Posted by ハロ  at 14:10 │Comments(5)マイクロロボット

この記事へのコメント
この回路あってる?このままなら作るなよ。
スイッチ押した瞬間に壊れるぞ。
Posted by siojake at 2015年01月18日 17:27
っとおもったけど、プルアップってどこに入れるんだ?
SW1.SW2の〇のところに入れるつもりだろうけど、
それだと、一生スイッチ入らん。
あと2V位で鳴るブザーあるのか?
Posted by しおじゃけ at 2015年01月18日 17:29
あとインクルードをちゃんと書け、まさかこれで完成じゃないよな。

質問の答えは”あってない”だ。
Posted by しおじゃけ at 2015年01月18日 17:31
コメント:
割り込みを行うようにされているけど、割り込み処理がありません。たぶん暴走します。
自分でも気がついているように、TRISAの設定が正しくないため、スイッチ状態が入力されることはありません。
RA5とRA4が同時に押されるときの動作を規定しているようですが、機械のスピードと人間のスピードはまったく違うので、同時に押す操作はできません。たぶんRA4が先におされ、十分安定した状態で、RA5のチャタリングを拾うことになります。
チャタリングをこうりょしてありません。
このクロック設定が正しいとして(ただしそうだけど)、RA4=0のときで、0.2mS待った後、1mSブザーがなり、2mS後に1mSブザーがなるようになります。たぶん”ぶっ”って聞こえておしまいです。
return に処理が移る事はありません。
Posted by しおじゃけ at 2015年01月18日 18:06
>しおじゃけさん
回路図間違ってました
CADとペイントだといろいろ大変なので
なにかソフト探してみます

ブザーはテスター用のがあるので、それを使います
2Vでも十分動きます
片方がスライドスイッチなのですが
on状態が続かないってことでしょうか
Posted by ハロハロ at 2015年01月23日 08:53
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
ハロ
ハロ
スピードシューティング・APS・FPSをこよなく愛するハロです。
主にAPSを本腰で挑戦中
/"ハンドガン"/   
<フリー>
公式186-4×
練習会191-3×
練習200-3×
<オープン>
公式190-5×
練習会 186-5×
練習196-6×
/"ライフル"/
<フリー>
公式 121-2×
練習会160-3×
練習
<オープン>
公式 134-3×
/"取得バッチ"/
ハンドガン
グランドマスター
ライフル
シャープシューター
< 2018年12月 >
S M T W T F S
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
QRコード
QRCODE
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 2人

過去記事
アクセスカウンタ
↑LO↑ ↑たぬきそふと↑ たぬきそふと PCゲーム『少女教育』を応援中!

放浪息子