极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14052|回复: 1

OCROBOT入门教程029--IIC四位数码管显示数字

[复制链接]
发表于 2016-1-27 14:44:36 | 显示全部楼层 |阅读模式
本帖最后由 Soul110 于 2016-1-27 14:46 编辑

IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线。

IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

IIC总线是各种总线中使用信号线最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。使用I2C总线连接各种模块十分方便灵活,我们未来介绍各种模块时会遇到大量的IIC模块。

这次我用是OCROBOT的IIC四位数码管,配合OCROBOT的ALPHA的MEGA328-U,来实现数码管的数字显现。
ALPHA MEGA328-U:


IIC四位数码管:


用四根公对母的杜邦线将数码管与ALPHA MEGA328-U模块连接起来,VCC对5V,GND对GND,C对SCL,D对SDA。
接着,用数据线把ALPHA MEGA328-U模块连接上电脑,并查看端口号。
然后,打开IDE,添加一个驱动库,一个描绘库,编写arduino代码。
上传成功后,则显示数字,也可作为时间计时器。

代码:
  1. #include <Wire.h>
  2. #include "Adafruit_LEDBackpack.h"
  3. #include "Adafruit_GFX.h"

  4. Adafruit_7segment matrix = Adafruit_7segment();

  5. void setup() {
  6. #ifndef __AVR_ATtiny85__
  7.   Serial.begin(9600);
  8.   Serial.println("7 Segment Backpack Test");
  9. #endif
  10.   matrix.begin(0x70);
  11. }

  12. void loop() {
  13. matrix.print(12.34);
  14.   matrix.writeDisplay();
  15.   delay(500);
  16. }
复制代码


效果图:



注意:
如果使用的IDE编译是提示Robot_Control什么什么编译报错,进入libraries文件夹找到Robot_Control与Robot_Motor两个文件夹,删除。就可以正常编译了。

这是因为与Robot_Control的函数名冲突了。。。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-2-1 08:01:56 | 显示全部楼层
这个库真够浓缩,“matrix.print(12.34);”就完事儿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 08:02 , Processed in 0.038201 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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