话不多说,先上代码:

#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=;i<=;i++){

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

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

delay();

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

delay();

}

digitalWrite(VOICE,LOW);

}

int main(){

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

printf("setup wiringPi failed !");

return ;

}

ultraInit(); //初始化端口

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

printf("This is END\n");

return ;

}

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

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

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运行。

树莓派控制HC-SR04超声波模块测距(新手向&plus;C语言向)

因为作业要求使用c语言代码,这里先附上一段摘自网上的代码 感谢KalaerSun的c语言代码,摘自https://blog.csdn.net/qq_25247589/article/details/6 ...

写给C语言新手的话

首先声明啊,写这个是因为一些加我QQ的朋友问我学习经验,我才写的. 另外,如果是二级党,那么请用谭浩强老师的书.然后你就可以不用看了.倒不是有偏见,而是我写的这个东西,根本不是为了考试,而是为了和新手 ...

nrf24l01 IRQ一直为高电平

测试发现发送数据时MCU卡住不动,测试发现卡在了 while(NRF24L01_IRQ!=0); 也就是说管脚IRQ一直是高电平.仔细排查发现nrf24l01处于接收模式,改为发送模式就好了 NRF2 ...

树莓派 温度监控 PWM 控制风扇 shell python c 语言

Mine: 图中圈出来的是三极管 和滤波电容 依赖库: wiringPi sudo apt-get install wiringpi Shell脚本 本文介绍使用Shell脚本在树莓派上启用软件PWM ...

apple Swift语言新手教程

Apple Swift编程语言新手教程 文件夹 1   简单介绍 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   ...

编程精粹:编写高质量的C语言代码———笔记一

第一章 假想的编译程序 要记得对空语句进行处理,最好使用NULL使其明显可见 char * strcpy(char* pchTo, char* pchFrom) { char* pchStart = ...

用代码控制鼠标键盘(C&num;语言)

前些时间想做一个鼠标点击器,用到了这些知识. 下面整理记录一下. ps.感谢各位大神 下面直接上代码 1.鼠标的控制 class MouseMove { #region MouseEvent [Sys ...

go语言 新手学习笔记 go基础教程

目前这方面的资料相对较少,自己手动整理汇集. 第一章:安装 第一节:下载go语言 第二节:windows 安装 go语言 第三节: 第二章:基本语法 第一节:类型 .

NOIP2014-提高组初赛C语言解析(选择填空题)

第二十届全国青少年信息学奥林匹克联赛初赛 一.单项选择题(共 20 题,每题 1.5 分,共计 30 分.每题有且仅有一个正确选项) 1. 以下哪个是面向对象的高级语言( B ) A.汇编语言   B ...

随机推荐

python 学习笔记十七 django深入学习二 form,models

表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...

HTTP消息结构

HTTP 消息结构 HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议. 一个HTTP"客户端"是一个应用程序(Web浏览 ...

Python list嵌套 三维数组

cores_multicast = [[] for i in xrange(64)] temp_list = [0, 1] temp_list2 = [0, 3] cores_multicast[0] ...

xml中的非法字符

今使用Jdom生成xml文件的时候,总是出现0x0,0x8为非法字符,经过搜索,问题原因及解决方法如下: 原因:xml中需要过滤的字符分为两类,一类是不允许出现在xml中的字符,这些字符不在xml的定 ...

jquery优势

1.轻量 2.开源 3.选择器出色 可以支持几乎 css1到css3 的所有选择器 4.简单的修改页面    不同的浏览器对于css的支持程度是不同的,jquery通过封装javascript的代码, ...

Time&comma; Clocks&comma; and the Ordering of Events in a Distributed System

作者:Leslie Lamport(非常厉害的老头了) 在使用消息进行通信的分布式系统中,使用物理时钟对不同process进行时间同步与事件排序是非常困难的.一是因为不同process的时钟有差异,另 ...

mybatis基础学习1---&lpar;配置文件和sql语句&rpar;

1:配置文件(主要配置文件) 2:配置文件(引入) 3:sql语句解析: 根据id查对象 ...

centos&sol;linux下的安装Tomcat

1.启动tomcat时候需要JDK依赖 如果没有安装的请移步到该链接Centos/linux下的JDK安装 2.从官网上下载tomcat压缩包 wget -c http://apache.fayea. ...

Hash存储机制 - HashMap原理 HashSet原理

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实 ...

vs 修改活动解决方案配置后无法调试,不生成pdb文件,&OpenCurlyDoubleQuote;当前不会命中断点 还没有为该文档加载任何符号” 解决方法

修改vs的活动解决配置后无法进行调试,比如在Release.Debug之后新增一个TEST,切换到test后就无法进行调试. 修改一下 项目属性->生成->高级 中“调试信息”改为 ful ...

树莓派输出高电平C语言,树莓派控制高电平蜂鸣器(c语言+新手向)相关推荐

  1. 易语言语音控制输入法源码

    语音控制输入法系统结构:列表输入法,获得键盘布局,获得键盘布局列表,获得键盘布局名称,激活键盘布局, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------_语 ...

  2. 树莓派-语音聊天机器人+语音控制引脚电平高低

    最近和几位本学院的研究生师兄师姐参加研究生电子设计大赛,自己也来折腾下之前没有搞完的语音控制小车.恰巧自己负责的是语音控制这部分,折腾了几天也差不多搞定啦-把自己的折腾套路总结一下,给一起折腾的小伙伴 ...

  3. 树莓派输出pwm波c语言,02树莓派4B—C语言编程——PWM

    01树莓派直接输出PWM波 -- 硬件PWM程序  (推荐使用) #include #include #include //必不可少 int main( void) { int pwm_gpio5 = ...

  4. python控制风扇_树莓派 温度监控 PWM 控制风扇 shell python c 语言

    硬件需求 树莓派(这里用的3代B): 5V小风扇: NPN三极管,我用的s8050: 面包板加杜邦线,或者用电烙铁. 硬件接法: 先把电扇直接接到树莓派上测试一下哪根线是+极,然后把风扇+极直接接在树 ...

  5. 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析

    文章目录 一.前言 二.Python实现封装打包自己写的代码 参考链接 我的参考 _init_.py setup.py 三. 树莓派的硬件解码播放器--Omxplayer 四.树莓派控制舵机,驱动L2 ...

  6. 树莓派gpio编程c语言,树莓派底层编程-GPIO篇

    0 前言 本来是准备写一篇用python控制GPIO的例子,结果发现太简单了,还是深入一些吧,多深入底层 接下来,我会按照下面的顺序来介绍: 1)GPIO控制器地址映射 2)GPIO主要控制寄存器介绍 ...

  7. 树莓派驱动数码管c 语言,树莓派GPIO入门05-驱动数码管显示数字

    标准的数码管从显示内容上分7段和8段数码管两种.8段比7段多一个右下角的小数点.还有一些其他特殊的如可以显示米字形的数码管不在本文讨论范围内,其实原理都是一样的. 8段数码管由8个发光二极管组成,其中 ...

  8. 树莓派AI视觉云台——4、树莓派的登录控制方式

    一.SSH远程登录 SSH:(我们的开发中一般使用此种方式远程登录) 由于树莓派只有一个串口,当我们开发中需要占用这个串口或者我们希望进行远程开发(通过一个根网线或无线连接到树莓派)可以借助Linux ...

  9. 使用树莓派+arduino+采集卡+frp实现异地控制电视机顶盒

    文章目录 开发前提 I.获取机顶盒画面 II.安装VNC Sserver III.红外线遥控 红外线解码 可视化操作平台 红外线发送 IV.FRP内网穿透 FRP配置 V.使用流程 写在最后 由于各种 ...

最新文章

  1. 米家扩展程序初始化超时_28条规范和建议,教你如何设计出一套完美的PLC程序...
  2. C++ STL,ATL,WTL之间的联系和区别
  3. PAT甲级1023 Have Fun with Numbers:[C++题解]高精度加法和两个vector大小比较
  4. 在 Django 中使用 pyecharts
  5. BZOJ-2002-Bounce弹飞绵羊-分块
  6. 系统调用回答为什么要用buffer写
  7. 遍历列表python_python中列表的遍历
  8. 2-1 年会抽奖_实现分析
  9. matlab 线性方程组 最小二乘解,超定方程组的最小二乘解
  10. MyBatis_Study_004(动态代理)
  11. U磁盘检测和大量收集量产工具
  12. 50Ω阻抗问题详解及射频电路设计中的阻抗匹配
  13. 使用内网服务器上线微信小程序总结
  14. Python小白入门--(域名whois查询为例)
  15. 使用Python连接阿里云盘
  16. Allegro PCB Design GXL (legacy) 设置自动保存brd文件
  17. 【解题笔记】编程初学者入门训练
  18. redis的字典(Hash)
  19. http协议的状态码 200、301、304、404、502 HTTP状态码解释
  20. android平台下OpenGL ES 3.0从零开始

热门文章

  1. SpringBoot 之 PDF大文件分片加载(后端)
  2. 2019中国(深圳)IT领袖峰会大咖云集 引爆IT朋友圈
  3. aix系统中514端口占用取消
  4. Copy BOM and Rounting 说明
  5. 公司不让用Xshell,怎么办?
  6. python之季节调整(调用x12a和x13as)
  7. 区分A~E类IP地址
  8. 解决windows hello指纹识别无法使用
  9. 0X Swagger2
  10. 博客园华为云百万代金券福利