找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1590|回复: 2
打印 上一主题 下一主题
收起左侧

Arduino+tm1637数码管不能亮完全为什么?附代码

[复制链接]
跳转到指定楼层
楼主
ID:1039199 发表于 2022-7-11 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <Wire.h>
#include <HMC5883L.h>
#include "TM1637.h"   

#define CLK 3
#define DIO 2

TM1637 tm1637(CLK, DIO);

HMC5883L compass;
int vol[18];  

// 初始化函数
void setup(){
    tm1637.set(BRIGHT_TYPICAL);              // 配置数码管亮度
        tm1637.init(D4056A);                     // 配置数码管类型
    tm1637.display(0, "P");              
    tm1637.display(1, 10);
    tm1637.display(2, 15);

        compass.setRange(HMC5883L_RANGE_0_88GA);
        compass.setMeasurementMode(HMC5883L_CONTINOUS);
        compass.setDataRate(HMC5883L_DATARATE_30HZ);
        compass.setSamples(HMC5883L_SAMPLES_1);
    delay(3000);
}

// 主函数
void loop()
{
        label1:                    
    for (int i = 0; i <= 14; i++) {
                Vector raw = compass.readRaw();
                vol[ i] = (raw.XAxis);
                vol[15] = (raw.XAxis);
                delay(66);

                if ( vol[15] > 1900 || vol[15] < -950 ){   
                        tm1637.display(0, 15);
                        tm1637.display(1, ">");
                        tm1637.display(2, ">");
                        tm1637.display(3, "8");
                        delay(3000);
                        goto label1;
                }
    }

    vol[16] = (vol[0]+vol[1]+vol[2]+vol[3]+vol[4]+vol[5]+vol[6]+vol[7])/8;
    vol[17] = (vol[8]+vol[9]+vol[10]+vol[11]+vol[12]+vol[13]+vol[14])/7;
    vol[18] = max(vol[16],vol[17]);

    tm1637.display(vol[18]);
}

TM1637.zip

8.36 KB, 下载次数: 6

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1039199 发表于 2022-7-11 23:22 | 只看该作者
用的这个驱动
回复

使用道具 举报

板凳
ID:158588 发表于 2022-7-12 05:22 | 只看该作者

1637需要的库有先导入吗?编译有报错吗?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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