2019-01-18 18:04:17 xiang_123_ 阅读数 1967
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    805 人正在学习 去看看 王全

一、蓝牙模块与Arduino
主要分两步,第一步设置蓝牙模块(AT模式),如,设置成从动任何设备可连接,设置名称及密码等;第二步,编写相应的控制程序;
HC05(ZS-040)蓝牙模块与手机连接参考链接参考1

蓝牙模块AT设置相关参考3

蓝牙模块与手机进行通信参考2

以上几个参考链接,即可完成用手机蓝牙与arduino的通信,并控制对应舵机与led灯; (未在ubuntu上运行,待后续。。)

2011-01-17 21:51:00 cooska 阅读数 4987
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    805 人正在学习 去看看 王全

前段时间把蓝牙透传模块在arduino上的使用弄好了,今天拿我的手机来测试一下。

我手机是多普达S1,因为是行货,没有wifi,想控制arduino只能通过蓝牙了。

还好wm6操作系统能运行.net2.0开发的移动软件,用serialport控件来作为串口通信的主要工具。

首先把arduino接上蓝牙透传模块,方法在前面的文章提到了,这里就不再叙述。

然后开启手机的蓝牙,搜索蓝牙设备,能找到模块名称,选择之后建立com口,我这里建立的是com6

然后就是在手机上弄个小软件来通信了。

用serialport控件,设置好基本的属性,主要是和arduino的波特率要一致,串口号是com6,基本就没什么问题,我这里很快就能正常通信了。

我把我测试的代码发来让大家了解一下

Imports System.Text
Imports System.IO.Ports
Imports System.Threading
Imports Microsoft.WindowsMobile.Forms
Imports System.Runtime.InteropServices

Public Class Form1

    Dim receivedData As String
    Private Delegate Sub settexts()

    Private Sub sp_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles sp.DataReceived
        Try
            Dim bytesRead As Integer = sp.BytesToRead
            Dim bytes As Byte() = New Byte(bytesRead + 1) {}
            sp.Read(bytes, 0, bytes.Length)
            receivedData = System.Text.Encoding.ASCII.GetString(bytes, 0, bytes.Length - 1)
            sp.DiscardOutBuffer()
            sp.DiscardInBuffer()
            Invoke(New settexts(AddressOf settext))
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            sp.Write("sync")
        End Try
    End Sub

    Private Sub settext()
        TextBox2.Text = TextBox2.Text & receivedData
        TextBox2.ScrollToCaret()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox2.Text = ""
        Try
            If sp.IsOpen = False Then
                TextBox2.Text = "串口关闭"
                sp.Open()
            End If
            sp.Write(Encoding.ASCII.GetBytes(TextBox1.Text & vbCrLf), 0, Encoding.ASCII.GetBytes(TextBox1.Text).Length)
            sp.WriteLine("")
            'sp.WriteLine(TextBox1.Text)

        Catch ex As Exception
            TextBox2.Text = ex.Message
            sp.Close()
            sp.Dispose()
        End Try
    End Sub

    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        sp.Close()
        sp.Dispose()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        connport()
    End Sub

    Private Sub portname_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles portname.SelectedIndexChanged
        connport()
    End Sub

    Private Sub connport()
        Try
            sp = New SerialPort(portname.SelectedItem, 9600, Parity.None, 8, StopBits.One)
            sp.RtsEnable = True
            sp.DtrEnable = True
            sp.ReadTimeout = 1000
            sp.Open()
            If sp.IsOpen Then
                TextBox2.Text = "串口连接"
            End If

        Catch ex As Exception
            TextBox2.Text = ex.Message
        End Try

    End Sub


End Class

 

这个代码基本上能实现发送数据和同步接收数据并很好的显示出来。但是因为arduino的数据会发送的很频繁,比如时刻反馈温度传感器发送的温度数据、光线传感器发送的光线数据等,使得该软件在接收数据的时候无法操作其他的功能,甚至会假死,也许通过建立线程能解决这个问题,以后再弄哈

2019-11-10 10:25:16 RiseC 阅读数 49
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    805 人正在学习 去看看 王全

HC-05的接线及使用

单个使用时只需接rx,tx,vcc,gnd四个引脚并将模块的rx与单片机的tx连接(硬串口或软串口),tx与单片机的rx连接(硬串口或软串口)

进入蓝牙的设置模式

在蓝牙模块通电之前按住蓝牙模块上的按键直到通电(慢闪)说明就进入了设置模式接下来就可以通过 以下代码进入AT

进入AT命令模式(设置蓝牙参数)

注意事项

  1. 一定要查看该蓝牙的传输波特率是多少。
  2. 串口的波特率一定要和程序的波特率一致。
  3. 把串口界面调成如下图所示
    在这里插入图片描述

进入AT模式的代码(注意在通电之前让蓝牙模块进入设置模式)

#include <SoftwareSerial.h>

// Pin10为RX,接HC05的TXD
// Pin11为TX,接HC05的RXD
SoftwareSerial BT(10, 11);
char val;

void setup() {
Serial.begin(9600);
Serial.println(“BT is ready!”);
// HC-05用AT命令查一下一般为9600或38400
BT.begin(38400);
}

void loop() {
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}

if (BT.available()) {
val = BT.read();
Serial.print(val);
}

进入AT模式响应

打开arduino的串口监视器把波特率设置为与2,步骤中的波特率一致,输入以下命令,
回复OK说明模块正常工作在AT模式

常用AT命令如下

AT+UART?//查看蓝牙模块的波特率
AT+NAME=名称//设置/查询设备名称
设置/查询—模块角色:
AT+ ROLE?
0——从机(Slave)
1——主机(Master)
2——回环角色(Slave-Loop)
默认值:0

AT+ROLE=0//设置为从机(一般在用手机控制小车的蓝牙设置为从机)

AT+PSWD=配对码//设置
AT+ PSWD?//查询—配对码

AT+UART= //设置波特率
AT+ UART? //查询 串口(波特率)

完整小车蓝牙控制代码

请看资源(可私聊提供技术服务)

2018-12-06 09:30:27 woshi_ziyu 阅读数 2107
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    805 人正在学习 去看看 王全

在本篇文章中,我们将学习如何使用HC-05模块通过蓝牙通信控制Arduino开发板。在文章中,我列举了两个示例,使用智能手机控制Arduino开发板,以及使用笔记本电脑或PC控制Arduino开发板。在我的上一篇文章中,我们已经学习了如何配置HC-05蓝牙模块,并且作为主设备和从设备,在两个独立的Arduino开发板板之间进行蓝牙通信。

在这里插入图片描述

在我们开始使用智能手机控制Arduino开发板的第一个示例之前,先仔细看看HC-05蓝牙模块。将它与只能设置为从机的HC-06模块相比较,HC-05也可以设置为主机,这样可以在两个独立的Arduino开发板之间进行通信。这个模块有几个不同的版本,但我推荐一个分线板的版本,因为以这种方式连接起来要容易得多。 HC-05模块是蓝牙SPP(串行端口协议)模块,这意味着它通过串行通信与Arduino通信。

本示例所需的组件如下:

● HC-05蓝牙模块

● Arduino开发板

● 面包板和跳线

电路原理图

以下是我们将模块连接到Arduino开发板的方法。

在这里插入图片描述

我使用的这个模块可以在3.6到6V的电压下工作,因为它带有一个包含电压调节器的分线板。但是,数据引脚的逻辑电压电平为3.3V。因此,Arduino的TX(具有5V输出的发送引脚)和蓝牙模块RX(仅支持3.3V的接收引脚)之间的线路需要通过分压器连接,以免烧毁模块。另一方面,蓝牙模块TX引脚和Arduino RX引脚之间的线路可以直接连接,因为来自蓝牙模块的3.3V信号足以被Arduino开发板上的高逻辑识别。

更多内容请参考以下链接:https://www.yiboard.com/thread-1005-1-1.html

2014-10-21 19:15:23 wilson1068 阅读数 2528
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    805 人正在学习 去看看 王全

【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

【Arduino】开发入门【十】蓝牙模块

 首先show一下新入手的蓝牙模块 

 

【淘宝】【HC-06蓝牙模块】

【淘宝】【辉盛MG995 55G金属铜齿轮舵机】

【淘宝】【Arduino入门套件  Arduino UNO R3】

【淘宝】【Arduino uno r3官方版】

【淘宝】【意大利原装Arduino云 单片机开发板】

 

 

 

蓝牙参数特点

1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接

2.led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口

3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!

4.可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接

5.未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式

6.体积 3.57cm*1.52cm

7.该蓝牙为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、Android、PDA、PSP等智能终端配对,从机之间不能配对。

Arduino 与蓝牙模块连接方法

VCC:接Arduino的5V。
GND:接Arduino的GND。

TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,

自收自发:顾名思义,就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

线接好后,把Arduino上电后,蓝牙的指示灯是闪烁的,表明没有设备连接上。

如图所示,LED常亮,已经和Android手机连接

  

Arduino 调试源代码

复制代码
void setup()
{
 Serial.begin(9600);
}
 
void loop()
{
  while(Serial.available())
   {
     char c=Serial.read();
      if(c=='A')
        {
          Serial.println("Hello I am amarino");
        }
   }
}
复制代码

将代码复制粘贴到IDE,烧录程序到Arduino

Arduino 蓝牙与Android 通信的实现

  首先下载Android的蓝牙管理软件 Amarino 

  下载地址 http://amarino.googlecode.com/files/Amarino_2_v0_55.apk

 

  支持二维码下载

  

  

  安装上Amarino 后,启动Android的蓝牙,打开Amarino客户端

  

  在右下角Add BT Device中就能找到蓝牙的名字,

  

  在点击connect后,会弹出输入PIN的弹框,蓝牙默认PIN为1234,这里就没有截图说明了

   如图为连接成功后的界面

  

  点击Monitoring 可以看到蓝牙的连接信息如图

  

  

  连接成功之后,就是要看数据发送时候正常。这里直接点击send就可以实现发送

  

  参考Arduino代码,当Arduino接收都A符号时,就会在COM输出对应内容,则表明蓝牙通信正常 如图

  

  

  以上就是Arduino蓝牙模块与Android实现通信,希望对大家有所帮助



相关文章

【淘宝】【HC-06蓝牙模块】

【淘宝】【辉盛MG995 55G金属铜齿轮舵机】

【淘宝】【Arduino入门套件  Arduino UNO R3】

【淘宝】【Arduino uno r3官方版】

【淘宝】【意大利原装Arduino云 单片机开发板】

【Arduino】开发入门教程【一】什么是Arduino
【Ardunio】开发入门教程【二】数据类型
【Arduino】开发入门教程【三】Arduino开发工具
【Arduino】开发入门教程【四】Arduino驱动安装
【Arduino】开发入门教程【五】Hello Arduino
【Arduino】开发入门教程【六】数据类型转换函数
【Arduino】开发入门教程【七】7段显示器实现+源代码
【Arduino】开发入门教程【八】舵机操作+源代码
【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

//////////////////////////////////////////////

原创声明 转载请注明

本文出自 Ray-Ray的博客

文章地址 http://www.cnblogs.com/rayray/p/3157601.html

感谢大家的推荐和收藏

你的支持! 我们的动力!


Arduino蓝牙通信实现

阅读数 1573

没有更多推荐了,返回首页