반응형
버저 또는 비퍼(영어: buzzer 또는 beeper)는 소리 신호 알림 장치이며, 기계, 전자 기계, 압전 방식(piezoelectric)으로 되어 있다. 버저의 종류에는 알람 기기, 타이머, 또 마우스 클릭이나 키 입력과 같은 사용자 입력의 확인 등이 있다.
센서 파트 넘버: SFM-27 12V Alarm buzzer
이 SFM-27 능동 부저는 몇 데시벨(95dB 이상!)을 가지고 있습니다. 이 부저는 귀가 먹먹한 소리가 모든 주의를 끌기 때문에 경보 시스템에 주로 사용됩니다. 이 부저는 12V에 적합하지만 3V에서 24V 사이의 전압을 처리할 수 있습니다. 이 부저는 자체 주파수(3000Hz)를 생성하므로 전원을 연결하기만 하면 경보가 활성화됩니다.
이미지
연결도
- 파일 이름: buzzertest.c
- 소스코드: 할당된 gpio 번호는 예고 없이 변경할 수 있습니다.
* 주의 사항
부저 테스트 코드는 아래와 같다. 해당 GPIO 핀을 정의하고, 핀 모드를 설정하고, 전원을 ON, OFF 하면 부저에서 알람 소리가 크게 난다. 가장 아래 부분에 sig_handler 함수는 운영체제에서 지원하는 함수로 ctrl-c를 눌러 프로그램 종료 시에 GPIO 핀을 초기 상태 0으로 하고 빠져나오는 함수인데, 모든 액츄에이터 제어 함수에 공통적으로 포함한다.
#include <signal.h> //Signal 사용 헤더파일
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h> //exit() 사용 헤더파일
#include <wiringPi.h>
//#define BUZCONTROL 27 //GPIO 5
#define BUZCONTROL 28 //GPIO 20
void sig_handler(int signo); // SIGINT 핸들러 함수
int main (void)
{
if(wiringPicheck()) printf("Fail\n");
signal(SIGINT, (void *)sig_handler);
int i;
while(1)
{
printf("here \n");
pinMode (BUZCONTROL, OUTPUT);
//delay(1000);
digitalWrite(BUZCONTROL, 1);
delay(1000);
digitalWrite(BUZCONTROL, 0);
delay(1000);
}
return 0 ;
}
int wiringPicheck(void)
{
if (wiringPiSetup () == -1)
{
fprintf(stdout, "Unable to start wiringPi: %s\n", strerror(errno));
return 1 ;
}
}
void Bpluspinmodeset(void)
{
pinMode (BUZCONTROL, OUTPUT);
}
void sig_handler(int signo) // ctrl-c 로 종료시 실행되는 함수
{
printf("process stop\n");
digitalWrite(BUZCONTROL, 0);
exit(0);
}
반응형
'개발자 > 라즈베리파이4' 카테고리의 다른 글
라즈베리파이4 led bar 실습 코드 (1) | 2022.06.27 |
---|---|
라즈베리파이4 rgb led 코드 (1) | 2022.06.23 |
라즈베리파이 4 서보 모터 실습 코드 (1) | 2022.06.22 |
라즈베리파이4 오디오 Jack 설정 (2) | 2022.06.21 |
라즈베리파이4 opencv 얼굴인식 예제 실습 (1) | 2022.06.15 |
라즈베리파이4 opencv 컴파일 설치 방법 (1) | 2022.06.15 |
라즈베리파이4 DC 모터 실습 코드 (1) | 2022.06.15 |
라즈베리파이4 FAN 실습 코드 (2) | 2022.06.13 |
더욱 좋은 정보를 제공하겠습니다.~ ^^