小安派BW21-CBV-Kit入门教程之主机模式对Arduino UNO发送数据

描述

作为一款本地AI图象识别开发板,BW21-CBV-Kit它能够独自运行目标识别模型。2.4GHz+5GHz的双频Wi-Fi,提供高性能的无线传输能力,让图象传输更加流畅。丰富的接口,搭配着AI识别,可以扩展出无限可能。

BW21-CBV-Kit支持Arduino的开发方式,可以简单实现一些DIY想法,例如:人脸识别、手势识别、物品识别等。

这次小安给大家带来的是主机模式对 Arduino UNO 发送数据:

用料

BW21-CBV-Kit x 1

Arduino UNO x 1

示例

示例

I2C 简介

在 I2C 的运行中有两种角色,一种是 "主站",另一种是 "从站"。只允许一个主站连接多个从站。每个从站都有自己的唯一地址,用于主站和从站之间的通信。I2C 使用两个引脚,一个用于数据传输(SDA),另一个用于时钟(SCL)。主站使用 SCL 通知从站即将进行数据传输,数据则通过 SDA 传输。I2C 示例在 Arduino 示例中被命名为 "Wire"。

前言

在本例中,我们使用 BW21-CBV-Kit 作为 I2C 主机,使用 Arduino 作为 I2C 从机。

当 I2C 从机接收到 I2C 主机发送的字符串时,它会打印接收到的字符串。

设置 Arduino UNO 为 I2C 从机

首先,在 Arduino IDE 的 "工具"->"开发板"->"Arduino Uno "中选择 Arduino:

打开 "文件"->"示例"-> "Wire"-> "slave_sender"。

安信可

然后点击 "项目"->"上传",编译并上传示例到 Arduino Uno。

设置 BW21-CBV-Kit 为 I2C 主机

接下来,打开 Arduino IDE 的另一个窗口,确保在 IDE 中选择 BW21-CBV-Kit 开发板:"工具"->"开发板"。

打开 "文件"->"示例"->"AmebaWire"->"MasterReceiveData"。

安信可

点击 "项目"->"上传",编译并上传示例到 BW21-CBV-Kit 。

接线

Arduino 示例将 A4 用作 I2C SDA,将 A5 用作 I2C SCL。

另一件重要的事情是,Arduino 和 BW21-CBV-Kit 的 GND 引脚应相互连接。

安信可

打开 Arduino Uno 的 Arduino IDE,然后打开串行监视器("工具"->"串行监视器")。在串行监视器中,可以看到 Arduino Uno 打印的信息。

接下来,按下 Arduino Uno 上的复位按钮。现在,Arduino Uno 正在等待来自 I2C Master 的连接。

按下 BW21-CBV-Kit 上的重置按钮,开始发送信息。然后观察串行监视器,可以看到信息每半秒显示一次。

安信可

代码参考

有关此示例的详细信息,请参阅 Arduino 文档:https://www.arduino.cc/en/Tutorial/MasterReader。

首先使用 Wire.begin() / Wire.begin(address),以主站或从站身份加入 I2C 总线:https://www.arduino.cc/en/Reference/WireBegin。

接下来,主站使用 Wire.beginTransmission(address) 开始向给定地址的 I2C 从站传输数据:https://www.arduino.cc/en/Reference/WireBeginTransmission。

使用 Wire.write() 发送数据,最后使用 Wire.endTransmission() 结束对从属设备的传输,并传输排队的字节:https://www.arduino.cc/en/Reference/WireEndTransmission。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分