2015年02月02日
ブザー回路4
しかし、動かない
S1を押しボタンスイッチに変更しました
電源のつもりのスイッチも意味がないことが分かったので
電源の乾電池にスイッチを入れてみました
さて、これで実行してみたんですが、動きません><
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 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 =0b00100000;
//TRISA =0b00001001; //RA4,RA5入力
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 1;
while(1){
if(RA5==1){
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);
}
とりあえず、S2のプログラムは置いといて
S1のほうだけ動かしてみます
RC5つまり5番ピンから出力が来るはずなんです
その出力をNPNトランジスタでスイッチングします
ブザーを動かすということで、1815GRにしています
ブザー自体も、テスター用のブザーで1.5Vでも動作確認済みです
んで、全然動きません><
ライターがだめなのか?
でも、コンプリートって出ているのになんででしょう?
ためしに、アールディーノでやってみたら動いたんですよ
んで、1815GRのベースとエミッタに10kΩの抵抗を入れるのが
どうなのかなって思ってましたが、入れても、入れなくても動作する
本当は、どっちがいいんでしょうか?
いったいどこが間違っているんだ
S1を押しボタンスイッチに変更しました
電源のつもりのスイッチも意味がないことが分かったので
電源の乾電池にスイッチを入れてみました
さて、これで実行してみたんですが、動きません><
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 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 =0b00100000;
//TRISA =0b00001001; //RA4,RA5入力
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 1;
while(1){
if(RA5==1){
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);
}
とりあえず、S2のプログラムは置いといて
S1のほうだけ動かしてみます
RC5つまり5番ピンから出力が来るはずなんです
その出力をNPNトランジスタでスイッチングします
ブザーを動かすということで、1815GRにしています
ブザー自体も、テスター用のブザーで1.5Vでも動作確認済みです
んで、全然動きません><
ライターがだめなのか?
でも、コンプリートって出ているのになんででしょう?
ためしに、アールディーノでやってみたら動いたんですよ
んで、1815GRのベースとエミッタに10kΩの抵抗を入れるのが
どうなのかなって思ってましたが、入れても、入れなくても動作する
本当は、どっちがいいんでしょうか?
いったいどこが間違っているんだ
cはなにつかってるんだっけ
xc8じゃないの?
xcだとするとdelayはマイクロ単位やで
うまく書き込みができてたとすると一瞬しかならない
ブザーだと聞こえないかも
Ledでためしてみなよ
極性きをつけてな
LEDで動かなかったで
もっと時間を伸ばしてみると
見えてきたので、次回の記事に書きましたが
秒数がわかってきました