「arduino」蜂鸣器一直哔哔响,求问原因Q_Q

  • 猫在玩尾巴
    小朋友在玩用单片机做电子琴,但是一直解决不了这个蜂鸣器问题,只要插上去就一直持续响而不是按按键后才发出声音。网上找到的教程好像也用不了,只得上来求助看看

    请问能否告诉我问题到底出在哪

    trim.CA753D20-2C92-4F71-97CA-1A14A53B20A1.MOV(448.29 KB)



    代码如下:

    int Do=262; int Re=294; int Mi=330;int Fa=349; int So=392;int La=440;int Si=494;int b=11;
    int swPin=2;int swPin2=3;int swPin3=4;int swPin4=5;int swPin5=6;int swPin6=7;int swPin7=8;
    void setup() {
    pinMode(swPin,INPUT);
    pinMode(swPin2,INPUT);
    pinMode(swPin3,INPUT);
    pinMode(swPin4,INPUT);
    pinMode(swPin5,INPUT);
    pinMode(swPin6,INPUT);
    pinMode(swPin7,INPUT);
    pinMode(b,OUTPUT);
    }

    void loop() {
    // swState=digitalRead(swPin);
    // Serial.print("swState: ";
    // Serial.println(swState);
    if(digitalRead(swPin)==HIGH)
    {tone(b,Do,300);}
    if(digitalRead(swPin2)==HIGH)
    {tone(b,Re,300);}
    if(digitalRead(swPin3)==HIGH)
    {tone(b,Mi,30);}
    if(digitalRead(swPin4)==HIGH)
    {tone(b,Fa,30);}
    if(digitalRead(swPin5)==HIGH)
    {tone(b,So,30);}
    if(digitalRead(swPin6)==HIGH)
    {tone(b,La,30);}
    if(digitalRead(swPin7)==HIGH)
    {tone(b,Si,30);}
    delay(500);
    }
  • j
    jckimi
    数字pin,作为input,最好加pull up或者pull down resister Kimi
  • i
    insn
    先把pin x都输出拉低
  • s
    scpj
    检查一下连线 iOS fly ~
  • 寒冰炫
    把蜂鸣器抠掉。
  • L
    LittleBlue
    这么简单的程序,自己debug一下呗。
    检查tone函数有没有问题,是不是call了tone就会一直响?
    检查pin的初始值
    检查按键后pin的变化。
  • 痴汉
    你的蜂鸣器可能是低电平触发
    所以用pullup上拉一下 iOS fly ~
  • b
    bt4wang
    蜂鸣器正极端和地之间加上一个下拉电阻,如果是低电平触发的,就用上拉电阻拉到引脚工作高电平
  • 猫在玩尾巴
    回复2#jckimi


    谢谢,我让娃自己去研究一下
  • 猫在玩尾巴
    回复5#寒冰炫


    那就不能发声了
  • 猫在玩尾巴
    回复3#insn


    好哒,我让她研究去,多谢您
  • 猫在玩尾巴
    回复6#LittleBlue


    身为家长的我不幸是程序白痴然后上网找的教程好像代码有差异,实在自己搞不定了只好放上来求高人了
  • 猫在玩尾巴
    回复7#痴汉


    好的,谢谢您~我去让小朋友尝试一下。
  • 猫在玩尾巴
    回复8#bt4wang


    嗯嗯,我让她试试看,谢谢您~
  • 猫在玩尾巴
    重插一遍排线之后成功了谢谢大家!
  • M
    Maipo
    D版电子DIY爱好者
    ————————————————
    因为讨论PC/NAS的话题信息实在已经很多了,本群主题方向偏电子硬件一些,有一个能自己动手用电子硬件改造和DIY生活的乐趣所在。

    电子电路类话题,模拟数字电路,棚撘功放
    单片机类话题,低级的51,AVR,Arduino,STM32,ESP8266,ARM,高级各种树莓派嵌入式系统
    DIY类话题,时钟,显示,VFD,LCD,3D制作,机械。。。
    ————————————————
    PM加微信进群吧
    原来群是NAS类IPSAN的DIY群,后来有更热闹的NAS大群就一直荒废了,现在改主题吧。
    ————————————————
    hper电子

    https://www.hi-pda.com/forum/viewthread.php?tid=2811588&extra=
  • x
    x.cm
    楼上不开个门?
  • w
    wwwEagle
    是有源的蜂鸣器吧?自带起偏震荡的那种,有电就响,MCU控制不了的。两块钱重买个无源的。