2015年02月12日

ブザー回路5

こんにちは、ハロです

また、ブザー回路になります


ちょっと回路を整理してみようかと整理しました
実は、間違えだらけでした


PICの電源部に10μFと0.1μFを並列で入れてたんですが
いらなくて、0.1μFだけにしました

そして、トランジスタnpn型のEとBに10kΩを入れていましたが
これは意味がないとのこと、入れるならば出力ピンからの信号線に入れなさいってことで
計算方法なんですが、まずトランジスタの増幅率を調べないといけないようです

今回使っているのは1815GRってもので
200~400倍だそうです

なので200倍と考えてみます

今回の使用電圧は3V
ブザーの抵抗は約200Ω
トランジスタのVEBは0.6V

んで計算


そもそも、なんで抵抗入れなくちゃならんのかって
トランジスタは電流操作なので、抵抗を入れて電流で操作しやすくするのが目的なようです
詳しくは、こちらで読んでました

でも、EとBに抵抗を入れるのも、あながち間違ってなかったのかな?なんて



とにかく、これではだめなので、また新しく作ってみました

今度は、ゼロプレッシャーを入れて、書き込んでは試して、書き込んでは試してとやっていきます
PIC自体は数個買ってきてあるので、だめになってもいいや!ってとにかくやってみます
トライ&エラーだ!


そして、プログラムがこんな風になりました

/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 1:47
*/

#include <stdio.h>
#include <stdlib.h>
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/

#include <pic.h>
//#include <delays.h> //pic.hの中に入ってるそうです
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings

#include <xc.h>

// 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() {

//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF 111で全オフ 下3ケタで動作モード切替
TRISA =0b00100000;
//TRISA =0b00001001;//RA0,RA3入力
TRISC =0b00010000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000000;
GIE = 1;//割り込み許可
T0IE =0;//タイマ割込み許可

while(1){

if(RC4==1){

RC5=1;
_delay(1000000);
RC5=0;
_delay(2000000);
RC5=1;
_delay(1200000);
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;
}*/


}

}





前文のほうの設定については、調べながら、使わないやつをOFFにしていって
いらない文も消していきました

#include <xc.h>

で、xc.hがなくなっていたのは、HTMLで< > が予約文字になっていたためでした

ただ、わからないことがあるんですよ

_delay(1000000);

で、1秒のつもりなんですが、なんだか早く感じる
スマホのアプリで時間を測ると0.8秒とでた

このままでは、正確な時間が設定できない
これは、使用電圧とかが関係があるんだろうか

発振素子を積んでないとだめなのかな
4MHzってのは1μ秒ってことなんじゃ?





同じカテゴリー(APS系)の記事画像
たまには、更新しなくちゃ
岡崎って名古屋県じゃないんだって
富士見主催!公式記録会
もう、何を書いてないのかわからないくらい多い
APS-3ライフル化計画
最新版を出力してみたバリアブルサイト
同じカテゴリー(APS系)の記事
 たまには、更新しなくちゃ (2018-02-06 16:21)
 岡崎って名古屋県じゃないんだって (2017-11-28 10:19)
 富士見主催!公式記録会 (2017-11-15 10:49)
 もう、何を書いてないのかわからないくらい多い (2017-11-15 10:43)
 APS-3ライフル化計画 (2017-08-24 17:55)
 バリアブルサイトver4.5の組み立て方等 (2017-07-29 18:39)

Posted by ハロ  at 12:23 │Comments(0)APS系マイクロロボット娯楽

<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
ハロ
ハロ
スピードシューティング・APS・FPSをこよなく愛するハロです。
主にAPSを本腰で挑戦中
/"ハンドガン"/   
<フリー>
公式186-4×
練習会191-3×
練習200-3×
<オープン>
公式190-5×
練習会 186-5×
練習196-6×
/"ライフル"/
<フリー>
公式 121-2×
練習会160-3×
練習
<オープン>
公式 134-3×
/"取得バッチ"/
ハンドガン
グランドマスター
ライフル
シャープシューター
< 2018年07月 >
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ゲーム『少女教育』を応援中!

放浪息子