查看: 1464|回复: 4

[教程] arduino程序无线下载(蓝牙模块)

[复制链接]
  • TA的每日心情
    难过
    2018-5-29 16:09
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2018-5-29 17:14 | 显示全部楼层 |阅读模式
    本帖最后由 郝小白 于 2018-5-29 17:16 编辑

    这段时间看到arduino的无线下载感觉很有兴趣就开始找资料,但是现在网上流传的大部分需要手动复位才能下载程序,经过不懈努力在加上借鉴他人的经验终于搞定了。材料
    1、HC-05蓝牙模块一块
    2、1KΩ或4.7KΩ电阻一个
    3、1μF或10μF电容一个
    4、Arduino开发板一块
    第一步
    调试蓝牙模块(这里需要一个USB-TTL的转换器或者用arduino也可以)
    1、接线方式

    接线方式

    接线方式
    2、打开蓝牙模块AT调试软件,进行蓝牙模块的测试
    先按住HC05蓝牙模块上面的按键,再给蓝牙模块通电。蓝牙模块上面的LED进入慢闪模式(约1秒钟闪烁一次),即可进行AT命令测试  
    AT命令格式为:波特率38400,8个数据位,1个停止位,无校验。每条指令输入完成后,必须按一下回车键再发送!  
    AT+ORGL  将蓝牙模块恢复出厂设置(此步驟可省略)  
    AT+ROLE=0 将蓝牙模块设置为从机
    AT+POLAR=1,0  蓝牙连接成功时,在PIO 9输出低电平
      AT+UART=115200,0,0 设置传输速率为115200、
    AT+INIT        初始化蓝牙模块(此步驟可省略)
      (如果有兴趣还可以更改蓝牙名称、密码等。具体搜索蓝牙莫模块AT指令)
    第二步
    经过上面的步骤已经成功了一大半,剩下的就是接线示意图如下        
    }10ZV]~ZCXJJYH4_B6I2~)U.png
    第三步
    将蓝牙模块与电脑配对在连接成功后,打开arduinoIDE
    然后写入
    const byte LED = 13;
    char val;     // 儲存接收資料的變數,採字元類型
    void setup() {
      pinMode(LED, OUTPUT);

      // 序列傳輸速率依照藍牙模組的設定
      // 115200bps或57600bps
      Serial.begin(57600);
      Serial.println("Welcome to Arduino!");
    }

    void loop() {
      if( Serial.available() ) {
        val = Serial.read();
        switch (val) {
        case '0' :
          digitalWrite(LED, LOW);
          Serial.println("LED OFF");
          break;
        case '1' :
          digitalWrite(LED, HIGH);
          Serial.println("LED ON");
          break;
        }
      }
    }
    然后选择串口,下载就好了(如果电脑上串口比较多可以进入设备管理器查看,如果比较少可以一个个试)
    若出现以下{就换串口}
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x74
    待下载完成就可以进行测试了
    打开串口监视器你将看到Welcome to Arduino!
    输入1灯会亮,输入0关闭
    成品图
    QQ图片20180529171356.png



  • TA的每日心情
    难过
    2018-5-29 16:09
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2018-5-29 17:15 | 显示全部楼层
    const byte LED = 13;
    char val;     // 儲存接收資料的變數,採字元類型
    void setup() {
      pinMode(LED, OUTPUT);

      // 序列傳輸速率依照藍牙模組的設定
      // 115200bps或57600bps
      Serial.begin(57600);
      Serial.println("Welcome to Arduino!");
    }

    void loop() {
      if( Serial.available() ) {
        val = Serial.read();
        switch (val) {
        case '0' :
          digitalWrite(LED, LOW);
          Serial.println("LED OFF");
          break;
        case '1' :
          digitalWrite(LED, HIGH);
          Serial.println("LED ON");
          break;
        }
      }
    }

    该用户从未签到

    发表于 2018-7-12 17:08 | 显示全部楼层
    请问下Reset接到蓝牙模块的哪个引脚?
  • TA的每日心情
    开心
    2018-8-9 14:12
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2018-7-13 20:44 | 显示全部楼层
    libra5720 发表于 2018-7-12 17:08
    请问下Reset接到蓝牙模块的哪个引脚?

    同问,不知道电容和Reset怎么接,求楼主回复
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    IDE 用arbuBlok下载不了程序。
    IDE 用arbuBlok下载不了程
    点击下载到板子就出现红字体 版本是1.8.7
    初学arduino求助
    初学arduino求助
    大佬们,我想问一下,我现在想做一个程序:按下开关持续时间t,延迟7.77t后点亮led0.
    吸顶灯接入物联网(基于Blinker与wifi开发板)
    吸顶灯接入物联网(基于Bli
    暑假开始接触Blinker和esp8266开发板,一直在捣鼓。。开学是肯定没空碰了,于是趁现在
    原创 drawbot平面关节机械臂 教程直播贴
    原创 drawbot平面关节机械
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太懒,一直没来得及
    创客集结号之光控LED实验
    创客集结号之光控LED实验
    本次实验是在创客集结号上分享出来的,是做一个光控LED实验。 1.实验器件: Arduino
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表