Arduino实验二十 数码管实验

学习任务:

学会使用数码管


关注微信公众号:爱享生活科技 \color{#FF0000}{关注微信公众号:爱享生活科技} 关注微信公众号:爱享生活科技

组件:

  • Arduion主板
  • 数码管
  • 杜邦线
  • 面包板
  • USB数据线

下图是数码管

在这里插入图片描述

实验步骤:

1.建立电路

Arduion数码管
2CLK
3DIO
3.3v+
GND-

2.烧录代码

#include <Arduino.h>
 
#include <TM1637Display.h>
 
#define CLK 2
 
#define DIO 3
 
#define TEST_DELAY  2000
 
const uint8_t SEG_DONE[] = {
 
    SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,      // d
 
    SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,  // O
 
    SEG_C | SEG_E | SEG_G,              // n
 
    SEG_A | SEG_D | SEG_E | SEG_F | SEG_G      // E
 
    };
 
TM1637Display display(CLK, DIO);
 
void setup()
 
{
 
}
 
void loop()
 
{
 
 int k;
 
 uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
 
 uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
 
 display.setBrightness(0x0f);
 
 display.setSegments(data);
 
 delay(TEST_DELAY);
 
 data[0] = display.encodeDigit(0);
 
 data[1] = display.encodeDigit(1);
 
 data[2] = display.encodeDigit(2);
 
 data[3] = display.encodeDigit(3);
 
 display.setSegments(data);
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.setSegments(data+2, 2, 2);
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.setSegments(data+2, 2, 1);
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.setSegments(data+1, 3, 1);
 
 delay(TEST_DELAY);
 
 display.showNumberDec(0, false); // Expect: ___0
 
 delay(TEST_DELAY);
 
 display.showNumberDec(0, true); // Expect: 0000
 
 delay(TEST_DELAY);
 
    display.showNumberDec(9999, false); // Expect: 9999
 
    delay(TEST_DELAY);
 
 display.showNumberDec(1, true); // Expect: 0001
 
 delay(TEST_DELAY);
 
 display.showNumberDec(301, false); // Expect: _301
 
 delay(TEST_DELAY);
 
 display.showNumberDec(301, true); // Expect: 0301
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.showNumberDec(14, false, 2, 1); // Expect: _14_
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.showNumberDec(4, true, 2, 2); // Expect: 04__
 
 delay(TEST_DELAY);
 
 display.showNumberDec(-1, false); // Expect: __-1
 
 delay(TEST_DELAY);
 
 display.showNumberDec(-12);    // Expect: _-12
 
 delay(TEST_DELAY);
 
 display.showNumberDec(-999);    // Expect: -999
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.showNumberDec(-5, false, 3, 0); // Expect: _-5_
 
 delay(TEST_DELAY);
 
 display.showNumberHexEx(0xf1af);    // Expect: f1Af
 
 delay(TEST_DELAY);
 
 display.showNumberHexEx(0x2c);     // Expect: __2C
 
 delay(TEST_DELAY);
 
 display.showNumberHexEx(0xd1, 0, true); // Expect: 00d1
 
 delay(TEST_DELAY);
 
 display.clear();
 
 display.showNumberHexEx(0xd1, 0, true, 2); // Expect: d1__
 
 delay(TEST_DELAY);
 
   
 
    for(k=0; k <= 4; k++) {
 
        display.showNumberDecEx(0, (0x80 >> k), true);
 
        delay(TEST_DELAY);
 
    }
 
 for(k = 0; k < 4; k++)
 
    data[k] = 0xff;
 
 for(k = 0; k < 7; k++) {
 
  display.setBrightness(k);
 
  display.setSegments(data);
 
  delay(TEST_DELAY);
 
 }
 
   
 
 for(k = 0; k < 4; k++) {
 
  display.setBrightness(7, false); 
 
  display.setSegments(data);
 
  delay(TEST_DELAY);
 
  display.setBrightness(7, true);
 
  display.setSegments(data);
 
  delay(TEST_DELAY); 
 
 }
 
 display.setSegments(SEG_DONE);
 
 while(1);
 
}

3.实验现象

数码管显示出数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EOPG

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值