Processor

【라즈베리파이】 wiringPi C 언어 : 피에조 부저

작성자 임베디드코리아 작성일26-02-17 18:02 조회119회 댓글0건
--->>> 예제 PIEZO_buzzer01.c  <<<--------------------------------
#include <stdio.h>
#include <wiringPi.h>
#include <softTone.h>

const int pinPiezo = 13;

const int aMelody[8] = {131,147,165,175,196,220,247,262};

int main(void)
{
wiringPiSetupGpio();

softToneCreate(pinPiezo);

while(1)
{
int i;
for(i=0;i<8;i++)
if(aMelody[i]%2==0)
{
softToneWrite(pinPiezo,aMelody[i]);
delay(1000);
}

softToneWrite(pinPiezo,0);
delay(1000);
}
return 0;
}
-------------------------------------------------------------------------------
$ gcc  -o PIEZO_buzzer01.c  PIEZO_buzzer01.c  -lwiringPi
$ sudo ./PIEZO_buzzer01

--->>> 예제  PIEZO_buzzer02.c  <<<-------------------------------------
#include <stdio.h>
#include <wiringPi.h>
#include <softTone.h>
const int pinPiezo = 13;
const int pinPir = 24;
const int aMelody[9] = {131, 147, 165, 175, 196, 208, 220, 247, 262};

int main(void)
{
wiringPiSetupGpio();
pinMode(pinPir, INPUT);
softToneCreate(pinPiezo);

while(1)
{
if(!digitalRead(pinPir))
{
softToneWrite(pinPiezo, aMelody[2]);
delay(100);
softToneWrite(pinPiezo, aMelody[0]);
delay(100);
}
else
{
softToneWrite(pinPiezo, 0);
delay(100);
}
}
return 0;
 }
-------------------------------------------------------------------------------
$ gcc  -o PIEZO_buzzer02.c  PIEZO_buzzer02.c  -lwiringPi
$ sudo ./PIEZO_buzzer02