两块arduino之间的串口通信问题
前些天,搞了一个64x32的点阵时钟,由于温湿度读取时导致闪屏,所以就用了一块nano作为农历运算和温湿度采集,两块anrudino采用串口通信,时钟的2560发送数据请求给nano,nano返回农历数据和温湿度数据,但目前的通讯研究很不稳定,而苦于2560上的I2C口被时钟芯片占用无法使用,所以无法按照网上的I2C方式通讯。所以请搞过类似通讯的给与指点。另发一个目前做的时钟效果图。这种方块点阵在哪儿能买到? 新手来学习的,这个点阵屏漂亮
兩片 arduino 通訊, 以我所知, 比較簡單的通訊方式有幾種:
1) 串口 : 一般情況下, 串口是最簡單的了.
2) NRF24L01 : 這裡有不少教學, 可以試試 (我自己沒試過, 但早前有不少人使用, 相信不錯的)
3) 藍牙 : 基本上可以看成是無線的串口吧
4) I2C : 如果要連接多片, I2C 也可以, 但 arduino 板子就可能不可以再接其他 i2c 了.
5) SPI : SPI 可接受多片 arduino, 有 master, 佔用的 IO 比 其他的多 (這個我沒試過, 不知是否容易).
6) Network : 可以實現多片 arduino 的連接, 要加上 網路模塊, 程式亦相對複雜得多了.
如有其他好方法, 請提供研究一下 字体不错 I2C可以多片连接啊,为什么不可以?我就是用一个328做主控,连接6片328做分控,中间通过I2C总线连接的。 IIC通讯如果使用率不是很高的情况,可以连接多片,你看看具体的情况。SPI有点麻烦,用的针脚比较多,我个人认为IIC比较方便,用的线少。 直接串口转发就可以了, 简单实用。温湿度读取应该不会闪屏的吧? Super169 发表于 2014-12-5 22:22 static/image/common/back.gif
兩片 arduino 通訊, 以我所知, 比較簡單的通訊方式有幾種:
1) 串口 : 一般情況下, 串口是最簡單的了.
2)...
多谢指点,因为只传输很少的数据量,不超过20byte,所以,应该串口没问题,可能是我的程序有问题,明天再研究一下。 szpapas 发表于 2014-12-7 14:10 static/image/common/back.gif
直接串口转发就可以了, 简单实用。温湿度读取应该不会闪屏的吧?
因为温湿度探头没次读取需要大概200ms左右吧,我尝试修改库文件,但是如果延迟时间短的话无法读取数据。我不会修改我的显示程式,所以只能在读取期间等,会导致屏幕闪烁 rick_hou 发表于 2014-12-6 21:41 static/image/common/back.gif
IIC通讯如果使用率不是很高的情况,可以连接多片,你看看具体的情况。SPI有点麻烦,用的针脚比较多,我个人 ...
多谢指点,我看网上的教程I2C需要使用SCL,SDL口,而我的主控板上的口被时钟占用了,不知道您的硬件连接如何实现,望指点 rick_hou 发表于 2014-12-6 21:40 static/image/common/back.gif
I2C可以多片连接啊,为什么不可以?我就是用一个328做主控,连接6片328做分控,中间通过I2C总线连接的。
如果 i2c 只用作通訊, 當然沒問題, 但樓主還有別的用途:
而苦于2560上的I2C口被时钟芯片占用无法使用
用 i2c 作 arduino 之間通訊的話, 還可以有其他 i2c 模塊嗎?
我之前也研究過用 i2c 作 多片 arduino 之間的通訊, 但就是因為這個原因, 而放棄了 i2c 通訊.
本帖最后由 szpapas 于 2014-12-8 15:27 编辑
看起来是单色的屏,不知道双色的怎么搞。双色的闪得太厉害了。 本帖最后由 szpapas 于 2014-12-8 13:57 编辑
windseeker 发表于 2014-12-7 23:13 static/image/common/back.gif
因为温湿度探头没次读取需要大概200ms左右吧,我尝试修改库文件,但是如果延迟时间短的话无法读取数据。我 ...
如果用Timer函数去更新呢?
定义一个Timer, 定时去刷新,这样就会好一点吧。
void timer_isr() {
// scan 的代码
}
void setup() {
Timer1.initialize(1360);
Timer1.attachInterrupt(timer_isr);
}
字体设计不错,请问是什么体? 粗细两种都很赞
页:
[1]
2