查看: 730|回复: 3

[教程] 我在教编程时写的蜂鸣器小程序

[复制链接]
  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

    发表于 2019-3-23 20:28 | 显示全部楼层 |阅读模式
    仅供新手娱乐测试。看看是什么曲子。
    //本来曲子是D调,写成了C调。要修改就改第一个数组吧。

    kittenblock中小学创客名师推荐的图形化编程软件

    
    //本来曲子是D调,写成了C调。要修改就改第一个数组吧。
    int yinfu[21] = {262,294,330,349,392,440,494,523,578,659,698,784,880,988,1046,1175,1318,1397,1568,1760,1976};
    int sound[] = {11,11,11,11,9,10,11,14,12,12,12,12,10,12,11,0,11,11,11,11,13,12,11,10,10,0,10,10,10,10,9,8,7,0,14,14,14,14,11,12,14,14,16,15,15,15,15,14,13,12,0,13,13,13,13,13,14,15,11,0,13,13,14,15,14,13,14,0};
    int spe[] = {2,2,2,2,2,2,6,6,2,2,2,2,2,2,8,4,2,2,2,2,2,2,1,5,4,2,2,2,2,2,3,1,10,2,2,2,2,2,2,2,6,2,4,2,2,2,3,1,2,10,2,2,2,2,2,2,2,6,4,2,2,2,2,2,2,2,10,2};
    void setup() {
      pinMode(7,OUTPUT); //设置7口为输出口,接蜂鸣器
      pinMode(A0,INPUT);  //电位器接口,调整播放速率
    }
    void loop() {
      for(int i = 0;i<2;i++){  //循环两遍
          for (int x = 0;x<34;x++){
              int y = analogRead(A0);  //读取A0口,调整播放速率
              if (sound[x] != 0)       //0为休止符
                tone(7,yinfu[sound[x]]);  //音高
              delay(spe[x]*y);        //音长
                  noTone(7);      // 停止
            delay(y/100);
          }
      }
      delay(200);   //两遍之后延时
          for (int x = 34;x<68;x++){  //这是后面的部分
              int y = analogRead(A0);
              if (sound[x] != 0)
                tone(7,yinfu[sound[x]]);
            delay(spe[x]*y);
              noTone(7);
            delay(y/100);
          }
      delay(500);
      }


  • TA的每日心情
    无聊
    2019-9-3 11:40
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2019-3-24 09:09 | 显示全部楼层
    arduino 是不是只能教小学生?
    打赏作者鼓励一下!
  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

     楼主| 发表于 2019-3-24 09:28 | 显示全部楼层
    rockze 发表于 2019-3-24 09:09
    arduino 是不是只能教小学生?

    跟年龄没关系吧,只要想学。我这个是给成人基础入门的。
  • TA的每日心情
    无聊
    2019-9-3 11:40
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2019-3-24 15:16 | 显示全部楼层
    zong0001 发表于 2019-3-24 09:28
    跟年龄没关系吧,只要想学。我这个是给成人基础入门的。


    去了几个常见的论坛看了,arduino都是用作测试,做做小玩具,真正工业上用的很少~
    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【Arduino】108种传感器模块系列实验(55)---DHT11温湿度传感器
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【Arduino】108种传感器模块系列实验(40)---旋转编码器模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    基于机器视觉的智能分拣机械臂
    基于机器视觉的智能分拣机
    本作品是一个基于机器视觉的智能机械臂操作平台,其采用atmega32单片机作为主控制系统
    请问HMC5883L的三个数据到底代表什么,如何做成指南针?
    请问HMC5883L的三个数据到
    或者哪位朋友有资料给个连接?网上愣是没找到。都只介绍了如何读取数据。我想做成图
    关于atmega328p-pu 地的问题
    关于atmega328p-pu 地的问
    请问图中ADC的地和VCC的地在单片机内部有连接吗?本人初学者,因为需要控制模拟电路,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表