Arduino 卡片15红外遥控数码管

1、硬件部分

        数码管,常见的用来显示数字的,比如像计算器。这回我们就要来好好研究一下数码管,看看它是如何工作的。数码管,其实也算是LED中的一种。数码管的每一段,都是一个独立的LED,通过数字引脚来控制相应段的亮灭就能达到显示数字的效果。这个项目要实现的是循环显示数字0~9。

按下图连线图连接,注意数码管各段所对应的引脚。右边引脚说明图上为什么画这么几个箭头呢?个人觉得,这样看起来更方便。可以给你作为参考。我们从上面一排看,红色箭头的方向,从右往左,b  a  f  g的顺序正好对应,下面红色箭头逆时针顺序b --> a --> f --> g。蓝色箭头也是表达的同样的意思。
我还特意在连接图上,对数码管所连接的引脚做了标示。这样就能更清楚的知道哪个引脚控制哪一段了。这8个电阻同样是起限流的作用。

重点:弄明白数码管的原理可以随便接(代码中我未按这个图接线,注意针脚就行)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个项目需要用到 Arduino 开发板、红外遥控模块、数码管、风扇以及一些其他的电子元件。整个项目可以分为三个部分来实现:红外遥控数码管显示和风扇控制。 首先,我们需要将红外遥控模块与 Arduino 开发板连接起来。这个步骤需要根据具体的红外遥控模块来连接。一般来说,红外遥控模块有三个引脚:VCC、GND 和 OUT,我们需要将 VCC 连接到 Arduino 开发板的 5V 引脚,GND 连接到 GND 引脚,OUT 连接到 Arduino 开发板的一个数字输入引脚(比如 D2 引脚)。 然后,我们需要将数码管Arduino 开发板连接起来。数码管一般有四个引脚,分别是 VCC、GND、DIN 和 CS。我们需要将 VCC 连接到 Arduino 开发板的 5V 引脚,GND 连接到 GND 引脚,DIN 连接到一个数字输出引脚(比如 D3 引脚),CS 连接到另一个数字输出引脚(比如 D4 引脚)。 最后,我们需要将风扇与 Arduino 开发板连接起来。风扇一般有两个引脚,分别是 VCC 和 GND。我们需要将 VCC 连接到 Arduino 开发板的 5V 引脚,GND 连接到 GND 引脚。 接下来,我们需要编写代码来实现这个项目。代码中需要实现三个功能:红外遥控数码管显示和风扇控制。 首先是红外遥控功能。我们可以使用 Arduino 自带的红外遥控库来实现这个功能。代码如下: ```c #include <IRremote.h> #define IR_PIN 2 IRrecv irrecv(IR_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); } } ``` 这段代码中,我们首先定义了红外遥控模块的输入引脚为 D2。然后在 setup 函数中初始化了红外遥控模块,并启动了串口通信。在 loop 函数中,我们使用 irrecv.decode 函数来读取红外遥控模块接收到的信号,并使用 Serial.println 函数将信号以十六进制的形式输出到串口上。 接下来是数码管显示功能。我们可以使用 MAX7219 芯片来控制数码管的显示。代码如下: ```c #include <LedControl.h> #define DIN_PIN 3 #define CS_PIN 4 #define CLK_PIN 5 LedControl lc = LedControl(DIN_PIN, CLK_PIN, CS_PIN, 1); void setup() { lc.shutdown(0, false); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop() { lc.setDigit(0, 0, 1, false); lc.setDigit(0, 1, 2, false); lc.setDigit(0, 2, 3, false); lc.setDigit(0, 3, 4, false); delay(1000); } ``` 这段代码中,我们首先定义了 MAX7219 芯片的三个引脚分别为 D3、D4 和 D5。然后在 setup 函数中初始化了 MAX7219 芯片,并设置了亮度和显示模式。在 loop 函数中,我们使用 lc.setDigit 函数来设置数码管的显示内容,并使用 delay 函数来实现定时功能。 最后是风扇控制功能。我们可以使用 Arduino 的 PWM 功能来控制风扇的转速。代码如下: ```c #define FAN_PIN 9 void setup() { pinMode(FAN_PIN, OUTPUT); analogWrite(FAN_PIN, 0); } void loop() { for (int i = 0; i <= 255; i++) { analogWrite(FAN_PIN, i); delay(10); } for (int i = 255; i >= 0; i--) { analogWrite(FAN_PIN, i); delay(10); } } ``` 这段代码中,我们首先定义了风扇的控制引脚为 D9。然后在 setup 函数中将这个引脚设置为输出模式,并将风扇的转速初始化为 0。在 loop 函数中,我们使用 for 循环来逐渐增加和降低风扇的转速,并使用 delay 函数来控制转速变化的速率。 将这三个部分的代码整合起来,就可以实现 Arduino 红外遥控数码管定时风扇的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值