树莓派开关控制c语言,树莓派控制高电平蜂鸣器(c语言+新手向)

本文介绍了如何通过C语言在树莓派上控制GPIO端口,利用高电平蜂鸣器播放声音。代码示例展示了初始化GPIO、设置引脚电平以及使用for循环控制蜂鸣器发声的详细过程。实验中,蜂鸣器的I/O引脚连接到树莓派的GPIO.0,通过改变电平高低产生不同的声音效果。
摘要由CSDN通过智能技术生成

话不多说,先上代码:

#include #include#include

#define VOICE 0

void ultraInit(void){

pinMode(VOICE,OUTPUT);//我们此处是用的是GPIO.0输入输出端口,所以pin=0

}void doVoice(void){

digitalWrite(VOICE,LOW);//初始化引脚电平值为LOW

for(int i=1;i<=6;i++){

printf("This is NO.%d\n",i);

digitalWrite(VOICE,HIGH);//设置引脚传出高电平

delay(500);

digitalWrite(VOICE,LOW);//设置引脚传出低电平

delay(1000);

}

digitalWrite(VOICE,LOW);

}intmain(){if(wiringPiSetup() == -1){ //初始化树莓派

printf("setup wiringPi failed !");return 1;

}

ultraInit();//初始化端口

doVoice();//控制蜂鸣器发声

printf("This is END\n");return 0;

}

接下来我们来看一下这个实验主要用到的模块——高电平蜂鸣器。顾名思义,高电平蜂鸣器就是在引脚传入HIGH电平时会发出时声音,声音的模式是bing~bing~。

62fd3fbfdfddc4e9b7d9ee9549c2cf73.png

我们可以看到高电平蜂鸣器有三个引脚(使用母对母杜邦线):

1.GND 接地引脚(接树莓派14号引脚)

2.I/O     输入输出引脚(接树莓派11号引脚——GPIO.0)

3.VCC  接电源引脚(接树莓派4号引脚)

程序的开始我们先用pinMode将GPIO.0引脚设置为OUTPUT(输出)模式。

因为该蜂鸣器的触发模式是传入一个高电平,所以在开始之前先将11号引脚的电平值设置为LOW,然后我们运用一个for循环控制蜂鸣器响的次数。

在for循环中,我们首先设置11号引脚的电平值为HIGH,这个时候蜂鸣器开始发声,然后用delay函数让程序休眠500ms,要注意的是,引脚的电平值在改变后在下一次改变之前是不会改变的,在程序休眠的这500ms,11号引脚的输出电平一直是HIGH。在休眠500ms后,我们修改11号引脚的电平值为LOW,蜂鸣器停止发声。然后让程序休眠1000ms,在这1s内,11号引脚的电平值一直为LOW。

我在这里设置的for循环次数为6,所以蜂鸣器会发声6次,每次500ms。之后程序结束。

程序运行时还是先用gcc -Wall -o voice voice.c -lwiringPi编译,然后用sudo ./voice运行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值