中文乐高

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 7893|回复: 8

nxt与ARDUINO通过I2C通讯

[复制链接]
发表于 2013-4-12 21:07:10 | 显示全部楼层 |阅读模式
前几天做巡线模块,对I2C设备地址定义一直搞不明白!于是上网找东西看,发现台湾一位高手写的博文,于是转过来给想折腾的看看......

其实这则实验的本身意义并不大,但可以借此找到一种NXT硬件扩展的方法,台湾博主的其他博文也做过实验,不I2C需要主从方式通讯,ARDUINO除了担任从设备,也可以同时担任连接在它上面的其他设备的主设备,所以我倒认为这也是一种硬件扩展的可行方法!当然,这种方式的致命缺点是如果连接ARDUINO的传感器的话,可能会较慢!

其实,NXT与ARDUINO的有线方式的连接,有更快的RS485接口,还有兰牙无线方式等。

按附件中的方法,我试做了一下,是可行的!

Mindstorms NXT&Arduino的I2C通訊.pdf

456.24 KB, 下载次数: 566

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-9-14 22:56:44 | 显示全部楼层
技术贴,必须得顶,虽然还不懂。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2013-10-4 16:24:24 | 显示全部楼层
谢谢楼主,按照楼主位的思路程序调试通过,只有一个问题:
貌似使用ByteArrayToStr会引起较大延时,原因不明。
对程序进行了适当简化和改写,供大家参考。

通过i2c通讯测试.rar

6.2 KB, 下载次数: 86

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-1-23 10:08:29 | 显示全部楼层
我来提供一些arduinoI2C的一些信息.据国外网友说, nxt的sensor I2C通信速率很低, 只有9.6KHZ, arduino的I2C默认是100KHZ, 但是我实际上在用arduino替代NXT控制sensor的时候发现, I2C速度在30多KHZ的时候也能正常读取sensor数据. 另外, ultrasonic sensor的i2c是和标准I2C有些不同. 想开发的话去lego官网, NXT 的下载资源中有 hardware develop kit . 里面有介绍lego 的I2C sensor的协议. (其实就是在sensor内部内置一个IC或者MCU, 去读取对应地址内的固定几个寄存器的值.)
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2014-1-25 15:08:17 | 显示全部楼层
wkong501 发表于 2014-1-23 10:08
我来提供一些arduinoI2C的一些信息.据国外网友说, nxt的sensor I2C通信速率很低, 只有9.6KHZ, arduino的I2C ...

据说现在的新版本NXC扩展固件,已经支持高速I2C了,不过我还没有试过........
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-6-29 14:50:56 | 显示全部楼层
不懂但也要鼓励
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-7-13 23:25:52 | 显示全部楼层
支持分享,感谢楼主!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2020-2-23 13:38:20 | 显示全部楼层
支持一下!虽然不太懂,但也要学习学习!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2020-12-21 12:56:32 | 显示全部楼层
2020年来看看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|中文乐高 ( 桂ICP备11003955号-1 )

GMT+8, 2022-1-27 04:02 , Processed in 0.028647 second(s), 26 queries .

快速回复 返回顶部 返回列表