Arduino LED灯随机亮起(记录过程)

博主分享了自己初次尝试Arduino制作LED灯随机亮起作品的经历。遇到的问题包括LED极性错误和面包板使用不当,通过解决这些问题成功实现3个LED灯的随机亮起。代码中使用了随机数和switch语句控制LED状态。作品虽简单,但博主强调实践中会遇到意料之外的问题,鼓励大家动手实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本人这一段时间边工作同时边学习Arduino的学习,目前只是简单粗略的学习了基本的编程语言,其实在编程语言上使用的基本和C语言出入不大所以容易上手,于是就决定自己试着做一些简单地作品(非常简单)。

作品

其实作品原理很简单,就是几个LED灯通过使用程序中的随机数然后随机亮起(我使用了3个LED灯)
随机数LED灯
在这一连接中就是2.3.4接口通过电阻分别连接一个LED灯,最后一个线连接“接地”。

遇到的问题

因为之前没有做过作品所以第一次这个作品做的部分有一些问题问题如下:

  • 错误1:连接的LED灯一直不亮:
  • 问题原因:LED它的针脚是一个长一个短,发光二极管由一个PN结组成,只能一个方向加上正向偏压导通,当电流流过时,电子与空穴在其内复合而发出单色光。正是因为具有这种单向导电性,发光二极管具有极性,其引脚一长一短,长的针脚是正极
  • 错误2:面包板的使用不正确
  • 问题原因:因为对面包板不是很熟悉导致,面包板最上方的那个区域也是要分成两块的。

随机亮起代码

void setup() {
  // put your setup code here, to run once:
  int a=2;//利用循环将2-4引脚改为输出引脚
  while(a<=4)
  {
    pinMode(a,OUTPUT);
    a=a+1;
    }
}

void loop() {
  // put your main code here, to run repeatedly:
  int Number=random(2,5);//获取随机数2到5之间
  displaycler(Number);//自己试着写的调用函数

}
void displaycler(int Number)
{
  switch(Number){       //利用Switch语句判断谁亮谁不亮
  case 2:
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  delay(500);
  break;
  case 3:
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4,LOW);
  delay(500);
  break;
  case 4:
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);
  delay(500);
  break;
  }
  return Number;//返回值
}

作品难度

其实这个作品我只能说是非常简单,但是自己还是花了两天空余时间才弄好,不过自己会慢慢的继续学习的加油,对于这种类型的如果想学习的朋友一定要多做,只有当自己做的时候才会发现,原来想的很简单,但是做起来总会出现一些意想不到的问题,Arduino还真的是挺有意思的。

闲言

最近顺便将罗老师的“圆圈正义”看了,还挺不错的,个人比较喜欢,里面有很多哲学的思考,同时我还可以推荐大家可以看看《遥远的救世主》这也是一本很不错的小说。
自己去了一趟巴中有一丝丝感悟:我以前认为一个人去爬山,去感受,去触摸,去走进这个世界才叫做“修行”,但我现在认为只要自己愿意去做,并且自己已经再去的路上,无论任何事,任何地点和任何人,这都叫“修行”。

江客:时荒

自由而不放纵,独立而不狂妄,尽责而不懈怠。——————《圆圈正义》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值