Arduino MEGA2560 R3与TM1650四位数码管-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6827|回复: 4

[未解决] Arduino MEGA2560 R3与TM1650四位数码管

[复制链接]
发表于 2017-8-7 11:13 | 显示全部楼层 |阅读模式
求助各位大神,I2C通信4线连接TM1650四位数码管3按键扫描需要什么驱动以及函数库。那位大神有做过可以给个范例吗?
发表于 2017-8-7 19:42 | 显示全部楼层
      我做过,有偿支援
 楼主| 发表于 2017-8-9 21:14 | 显示全部楼层
suoma 发表于 2017-8-7 19:42
我做过,有偿支援

能给视频演示吗?酬劳多少?
发表于 2021-8-3 23:41 | 显示全部楼层
2021年前来考古,以下是用搭载TM1650的4位数码管,显示电位器所代表0到1023的模拟信号数值
如果需要映射1到50,可以考虑用map函数:

示意图:
  
接线:
电位器:数据线接A0;
数码管:SCL接A5, SDA接A4;

代码:
#include <Wire.h>;  
//Wire库可以让Arduino与IIC / TWI设备进行通信;
//在UNO上默认A4(SDA)数据线,A5(SCL)时钟线为引脚;
//详细见http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/wire-library/

#include <TM1650.h>;
//在“项目”-->“管理库”-->搜索“TM1650”,即可下载;

TM1650 d;  //自定义TM1650命名为“d”

char line[4];  //一个4位字符组;
int RP;  //电位器模拟信号

void setup() {
  Serial.begin(9600);  //串口通信,方便检查
  Wire.begin();  //Wire库初始化
  d.init();  //TM1650库初始化
}

void loop() {
  RP = analogRead(A0);  //读取接A0的电位器模拟信号,数值(0,1023)
  Serial.println(RP);  //串口输出A0模拟信号

  itoa(RP, line, 10);  //把A0模拟信号转成字符分别储存在line字符组,进制为10
  d.displayOn();  //打开数码管所有信号
  d.displayString(line);  //输出line内容
  d.setBrightness(2);  //亮度为2档, TM1650库的亮度档位(0, 7)
  delay(300);  //停留300毫秒
  d.clear();  //清屏
}

发表于 2021-8-4 00:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 01:54 , Processed in 0.091794 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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