当前位置: 首页 > news >正文

如何用arduino uno主板播放自己想要的曲子。《我爱你中国》单片机版本。

目录

一.效果展示

二.基本原理

三.电路图

 四.代码


 

一.效果展示

arduino播放《我爱你中国》

二.基本原理

利用arduino uno单片机实现对蜂鸣器振动频率的调节,基于PWM控制系统通过代码实现控制。

三.电路图

bfe595cdcbbe44ecaf5fa62985366461.jpeg

 5a8f440bbcef4eab923a694ad5827926.png

 四.代码

//main.uno
#define Buzzer 2int PotBuffer = 0;
int delaytime=0;
void sound(int PotBuffer,int delaytime)
{float i=0.0;while(true){i+=float(PotBuffer);digitalWrite(Buzzer,HIGH);		//设置输出高电平delayMicroseconds(PotBuffer);	//延时PotBuffer值 usdigitalWrite(Buzzer,LOW);			//设置输出低电平delayMicroseconds(200);if((i/100)>float(delaytime)){break;}  }}
void delayplay(int ind_len,int PotBuffer,int delaytime)
{for(int ind=0;ind<ind_len;ind++){sound(PotBuffer,delaytime);delay(100);}
}
void setup()
{pinMode(Buzzer,OUTPUT);	//蜂鸣器引脚设定为输出
}void loop()
{//sound(88,100);								//do//sound(84,100);								//re//sound(80,100);								//mi//sound(78,100);								//fa//sound(76,100);								//so//sound(72,100);								//la//sound(68,100);int dt=1;delayplay(1,104,500*dt);delayplay(1,100,500*dt);delayplay(1,88,2000*dt);delayplay(1,84,500*dt);delayplay(1,88,1500*dt);delayplay(1,118,400*dt);delayplay(1,94,800*dt);delayplay(1,104,5000*dt);delayplay(1,88,500*dt);delayplay(1,84,500*dt);delayplay(1,80,2000*dt);delayplay(1,72,500*dt);delayplay(1,76,1500*dt);delayplay(1,80,300*dt);delayplay(1,84,800*dt);delayplay(1,88,2000*dt);while(true){}}

 

 

相关文章:

如何用arduino uno主板播放自己想要的曲子。《我爱你中国》单片机版本。

目录 一.效果展示 二.基本原理 三.电路图 四.代码 一.效果展示 arduino播放《我爱你中国》 二.基本原理 利用arduino uno单片机实现对蜂鸣器振动频率的调节&#xff0c;基于PWM控制系统通过代码实现控制。 三.电路图 四.代码 //main.uno #define Buzzer 2int PotBuffer …...

redis入门2-命令

Redis的基本数据类型 redis的基本数据类型&#xff08;value&#xff09;: string,普通字符串 hash&#xff08;哈希&#xff09;,适合存储对象 list(列表),按照插入顺序排序&#xff0c;可以由重复的元素 set(无序集合)&#xff0c;没有重复的元素 sorted set(有序集合)&…...

Typescript 枚举类型

枚举是用来表示一组明确的可选值列表 // enum是枚举类型的关键字 //枚举如果不设置值&#xff0c;默认从0开始 enum Direction {Up, // 0 Down, // 1 Left, // 2Right // 3} //如果给第一个值赋值为100&#xff0c;则第二、第三第四个都会在第一个的基础上1 分别是101,102…...

docker小记-容器中启动映射端口号但访问不到

在docker容器中是每一个容器隔离分开的。 每个容器视为一个独立的环境&#xff0c;当在外部环境访问不到的时候就是说明端口号还是没映射到。 之前使用的映射说白了就是将docker中的独立的ip地址端口号映射到主机的ip地址和端口号。这一步没有成功。 docker inspect 容器名 …...

Java中的Map常见使用案例代码

以下是一些Java中Map的常见使用案例和具体代码实现&#xff1a; Map的遍历 Map<String, Integer> map new HashMap<>(); map.put(“apple”, 10); map.put(“banana”, 20); map.put(“orange”, 30); // 遍历方式一&#xff1a;使用entrySet()方法遍历 for (M…...

计算机视觉实验:图像处理综合-路沿检测

目录 实验步骤与过程 1. 路沿检测方法设计 2. 路沿检测方法实现 2.1 视频图像提取 2.2 图像预处理 2.3 兴趣区域提取 2.4 边缘检测 ​​​​​​​2.5 Hough变换 ​​​​​​​2.6 线条过滤与图像输出 3. 路沿检测结果展示 4. 其他路沿检测方法 实验结论或体会 实…...

Linux环境下VS code的python与C++调试环境的安装

Linux环境下VS code的python与C调试环境的安装 文章目录 Linux环境下VS code的python与C调试环境的安装前言一、云服务器的环境二、VS code相关信息三、python 开发环境配置四、C开发环境配置1.测试main.cpp2.进行debug3.进行debug程序4.运行main.cpp程序步骤 前言 最近写的 C&…...

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为&#xff1a; 通过运行结果可以发现&#xff0c; 在眼疾筛查数据集iChallenge-PM上使用AlexNet&#xff0c;loss能有效下降&#xff0c; 经过5个epoch的训练&#xff0c;在验证集上的准确率可以达到94%左右…...

剑指 Offer 53 - I. !!在排序数组中查找数字 I (考查二分法)

剑指 Offer 53 - I. 在排序数组中查找数字 I 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums [5,7,7,8,8,10], target 8 输出: 2 示例 2: 输入: nums [5,7,7,8,8,10], target 6 输出: 0 提示&#xff1a; 0 < nums.length < 105 -109 < nums[i] &l…...

RANSAC算法在Python中的实现与应用探索:线性拟合与平面拟合示例

第一部分:RANSAC算法与其应用 在我们的日常生活和多个领域中,如机器学习,计算机视觉,模式识别等,处理数据是一个非常重要的任务。尤其是当我们需要从嘈杂的数据中获取信息或拟合模型时。有时候,数据可能包含异常值或噪声,这可能会对我们的结果产生重大影响。为了解决这…...

PHP接口自动化测试框架实现

我们来看一个简单的PHP实现的超简单的接口。 ...//报名验证 private function apply_verify() {$raid $this->input->get_post(raid);$mid $this->input->get_post(mid);if (!$raid || !$mid) {$this->ret_json(10021, 参数错误);}$this->load->model(…...

VLAN原理+配置

目录 一&#xff0c; 以太网二层交换机 二&#xff0c;三层架构&#xff1a; 三&#xff0c;VLAN配置思路 1.创建vlan 2.接口划入vlan 3.trunk干道 4.vlan间路由器 5.DHCP池塘配置 四&#xff0c;华为VLAN部分的接口模式讲解&#xff1a; 五&#xff0c;华为VLAN部分的…...

MongoDB文档-基础使用-在客户端(dos窗口)/可视化工具中使用MongoDB基础语句

阿丹&#xff1a; 本文章将描述以及研究mongodb在客户端的基础应用以及在spring-boot中整合使用mongodb来完成基本的数据增删改查。 先放官方的文章 MongoDB CRUD操作 - MongoDB-CN-Manual 本文章分为&#xff1a; 在客户端&#xff08;dos窗口&#xff09;/可视化工具中使用…...

“RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?

尽管推特、公众号、微博、抖音等社交平台风靡一时&#xff0c;但blog&#xff08;博客&#xff09;在全世界依然经久不衰&#xff0c;尤其是在技术领域。对于博主而言&#xff0c;博客是他们独立创作的天地&#xff0c;可以随时更新内容和故事&#xff0c;确保素材的时效性。此…...

gitlab配置webhook

一.前言 当需要做jenkins的自动化触发构建时&#xff0c;就需要配置gitlab的webhook功能&#xff0c;以下来展示以下如何配置gitlab的webhook&#xff0c;jenkins的配置就不在这里展示了&#xff0c;可以去看我devops文章的完整配置 二.配置 在新版本的gitlab中&#xff0c…...

编译安装Linux内核实践与踩坑

编译安装Linux内核实践与踩坑 1. 参考方案 先留个坑 1. 参考方案 编译安装linux内核ShawnZhong的仓库make mrproper make oldconfig scripts/config --set-str SYSTEM_TRUSTED_KEYS "" KBUILD_BUILD_TIMESTAMP make CC"ccache gcc" -jnproc LOCALVERSION-…...

郑州https数字证书

很多注重隐私的网站都注重网站信息的安全&#xff0c;比如购物网站就需要对客户的账户信息以及支付信息进行安全保护&#xff0c;否则信息泄露&#xff0c;客户与网站都有损失&#xff0c;网站也会因此流失大量客户。而网站使用https证书为客户端与服务器之间传输的信息加了一个…...

第125天:内网安全-隧道技术SMBICMP正反向连接防火墙出入规则上线

知识点 #知识点&#xff1a; 1、入站规则不出网上线方案 2、出站规则不出网上线方案 3、规则-隧道技术-SMB&ICMP-隧道技术&#xff1a;解决不出网协议上线的问题&#xff08;利用出网协议进行封装出网&#xff09; -代理技术&#xff1a;解决网络通讯不通的问题&#xff0…...

性能测试怎么做?测试工具怎么选择?

在当前软件测试行业&#xff0c;熟练掌握性能测试已经是测试工程师们面试的敲门砖了&#xff0c;当然还有很多测试朋友们每天的工作更多的是点点点&#xff0c;性能方面可能也只是做过简单的并发测试&#xff0c;对于编写脚本&#xff0c;搭建环境方面也比较陌生。今天这篇文章…...

【Eclise配置Jdk环境】Jre环境常见配置错误问题

1、问题描述&#xff1a;执行Run As → Maven install 报出以下错误。 [INFO] Scanning for projects... [INFO] [INFO] -------------------------< com.example:gobang >------------------------- [INFO] Building gobang 0.0.1-SNAPSHOT [INFO] -------------------…...

JMS, ActiveMQ 学习一则秦

开发个什么Skill呢&#xff1f; 通过 Skill&#xff0c;我们可以将某些能力进行模块化封装&#xff0c;从而实现特定的工作流编排、专家领域知识沉淀以及各类工具的集成。 这里我打算来一次“套娃式”的实践&#xff1a;创建一个用于自动生成 Skill 的 Skill&#xff0c;一是用…...

CLIP-GmP-ViT-L-14部署教程:Airflow调度定时批量图文匹配任务流

CLIP-GmP-ViT-L-14部署教程&#xff1a;Airflow调度定时批量图文匹配任务流 1. 项目概述 CLIP-GmP-ViT-L-14是一个经过几何参数化(GmP)微调的CLIP模型&#xff0c;在ImageNet和ObjectNet数据集上能达到约90%的准确率。这个强大的视觉语言模型可以帮助我们实现图片和文本之间的…...

【架构实战】API接口防刷与限流策略

一、接口防刷概述 接口防刷是保护系统安全的重要手段&#xff1a; 常见攻击&#xff1a; 暴力破解密码恶意爬虫刷接口&#xff08;抽奖、秒杀&#xff09;CC攻击 二、限流算法 1. 计数器算法 Component public class CounterRateLimiter {public boolean tryAcquire(String key…...

Windows内核驱动手动映射终极指南:KDMapper实战深度解析

Windows内核驱动手动映射终极指南&#xff1a;KDMapper实战深度解析 【免费下载链接】kdmapper KDMapper is a simple tool that exploits iqvw64e.sys Intel driver to manually map non-signed drivers in memory 项目地址: https://gitcode.com/gh_mirrors/kd/kdmapper …...

如何用飞牛云NAS低成本搭建个人博客?Docker+WordPress实战分享

飞牛云NASDockerWordPress&#xff1a;零基础打造高性价比个人博客全指南 在数字化表达日益重要的今天&#xff0c;拥有一个专属博客已成为个人品牌建设、知识分享甚至商业拓展的标配。但传统建站方案往往面临两大痛点&#xff1a;要么成本高昂&#xff08;云服务器专业运维&am…...

如何在Switch上使用Xbox和PlayStation手柄?sys-con让您的第三方控制器焕发新生

如何在Switch上使用Xbox和PlayStation手柄&#xff1f;sys-con让您的第三方控制器焕发新生 【免费下载链接】sys-con Nintendo Switch sysmodule that allows support for third-party controllers 项目地址: https://gitcode.com/gh_mirrors/sy/sys-con 您是否曾想过&a…...

从付费软件到自主开发:我用AI和FFmpeg实现了一个录屏工具亮

我为什么会发出这个疑问呢&#xff1f;是因为我研究Web开发中的一个问题时&#xff0c;HTTP请求体在 Filter&#xff08;过滤器&#xff09;处被读取了之后&#xff0c;在 Controller&#xff08;控制层&#xff09;就读不到值了&#xff0c;使用 RequestBody 的时候。 无论是…...

ISE 14.7在Win10虚拟机里卡死闪退?一个输入法设置帮你搞定(附完整安装避坑指南)

ISE 14.7虚拟机环境配置全攻略&#xff1a;从输入法陷阱到FPGA开发实战 刚接触FPGA开发的新手们&#xff0c;是否曾在虚拟机里安装ISE时遭遇过输入项目名称就闪退的崩溃瞬间&#xff1f;这个问题困扰过无数开发者&#xff0c;而解决方案往往藏在不显眼的系统设置里。本文将带你…...

HappyHorse 1.0:超越Seedance2.0成为黑马

在昨天晚上AI视频圈&#xff0c;突然爆火的HappyHorse 1.0被各种刷屏&#xff0c;超越了Seedance2.0、Kling3.0登顶榜首&#xff0c;榜单是出自目前AI界公认最权威的测评网站Artificial Analysis。它们都在做视频生成&#xff0c;到底有什么不同之处呢&#xff0c;这篇文章告诉…...

终极电路设计解决方案:如何用Draw.io ECE库高效绘制专业电路图

终极电路设计解决方案&#xff1a;如何用Draw.io ECE库高效绘制专业电路图 【免费下载链接】Draw-io-ECE Custom-made draw.io-shapes - in the form of an importable library - for drawing circuits and conceptual drawings in draw.io. 项目地址: https://gitcode.com/g…...