极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

Arduino入门教程--第八课--用蜂鸣器模拟警报器

[复制链接]
发表于 2013-10-13 16:05:07 | 显示全部楼层
尝试成功了
回复 支持 反对

使用道具 举报

发表于 2014-1-29 18:11:35 | 显示全部楼层
本帖最后由 pumpitup 于 2014-1-29 18:13 编辑

今天做了一下,蜂鸣器正接反接都响,但是声音略有不同,有一种略带点公鸭嗓子的感觉。

int soundport=4;

void setup() {               
  pinMode(soundport,OUTPUT);
}

int yfl[]={262,293,329,349,392,440,494};
int yf[]={523,586,658,697,783,879,987};
int yfh[]={1045,1171,1316,1393,1563,1755,1971};

void ps(int fre,int hl,float tim){
  if(hl==0){
    tone(soundport,yfl[fre-1]);
  }else if(hl==1){
    tone(soundport,yf[fre-1]);
  }else if(hl==2){
    tone(soundport,yfh[fre-1]);
  }
  delay((int)tim*1000);
  noTone(soundport);
}

void loop() {
  ps(1,2,1);
  ps(2,2,2);
  ps(3,2,3);
  delay(1000);

/*
  for(int i=0;i<2;i++){
    tone(4,yf[2]);
    delay(400);
    tone(4,yf[0]);
    delay(400);
  }
*/  
/*  for(int i=0;i<=6;i++){
    tone(4,yf);
    delay(1000);
  }
  noTone(4);
  delay(1000);
*/  
}
回复 支持 反对

使用道具 举报

发表于 2014-2-6 01:12:43 | 显示全部楼层
照着做了,ok.
回复 支持 反对

使用道具 举报

发表于 2014-2-6 12:26:48 | 显示全部楼层

请问强哥。

for(int i=200;i<=800;i++)  
这频率就是用  i  表示吗?用其它字母不行吗?
回复 支持 反对

使用道具 举报

发表于 2014-2-10 17:25:38 | 显示全部楼层
sinaydj2 发表于 2014-2-6 12:26
请问强哥。

for(int i=200;i

用啥都可以,名字而已,自己随便起,只要不是系统保留的命令或函数名字。
回复 支持 反对

使用道具 举报

发表于 2014-5-9 16:04:45 | 显示全部楼层
嗯,学习了tone()函数
回复 支持 反对

使用道具 举报

发表于 2014-5-24 12:38:02 | 显示全部楼层
chaoser 发表于 2013-8-9 21:54
换种写法写一下楼主大大的程序:

/* 程序功能:使用tone()函数产生声音,模拟防控警报的响声

初始值n=200;i会直接变成-i;就出错了。
回复 支持 反对

使用道具 举报

发表于 2014-6-18 22:03:56 | 显示全部楼层
请问tone(pin, frequency) 和delay函数能否用tone(pin, frequency, duration)代替?实际试了一下发现不能,两者区别在哪??
回复 支持 反对

使用道具 举报

发表于 2014-10-10 21:09:18 | 显示全部楼层
好东西,相当基础,适合初学者,顶!!!!
回复 支持 反对

使用道具 举报

发表于 2015-1-31 16:35:05 | 显示全部楼层
强哥
根据tone(pin, frequency, duration)是不是可以tone(4,i,5)???
回复 支持 反对

使用道具 举报

发表于 2015-1-31 16:35:25 | 显示全部楼层
强哥
根据tone(pin, frequency, duration)是不是可以tone(4,i,5)???
回复 支持 反对

使用道具 举报

发表于 2015-4-25 10:13:22 | 显示全部楼层
[email protected] 发表于 2014-5-24 12:38
**** 作者被禁止或删除 内容自动屏蔽 ****

改变下顺序,让n+=i在最上面就可以了
回复 支持 反对

使用道具 举报

发表于 2015-6-1 23:45:12 | 显示全部楼层
想问一下lz,如果用有源蜂鸣器的话,与使用无源的有什么不同。
回复 支持 反对

使用道具 举报

发表于 2015-6-2 13:12:22 | 显示全部楼层
pumpitup 发表于 2015-6-1 23:45
想问一下lz,如果用有源蜂鸣器的话,与使用无源的有什么不同。

一个上电就工作,一个需要触发脉冲
回复 支持 反对

使用道具 举报

发表于 2015-6-2 16:57:28 | 显示全部楼层
suoma 发表于 2015-6-2 13:12
一个上电就工作,一个需要触发脉冲

程序是通用的么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 18:37 , Processed in 0.047005 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表