0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino和LED实现随机性

454398 来源:wv 2019-10-14 15:12 次阅读

步骤1:您需要的内容。

您将需要:

Arduino

6个LED(可能还有更多)。

跳线

面包板和/或原型板

第2步:编程

使用以下代码对Arduino进行编程。

//feel free to make changes

//do not connect led‘s in sequential order

//make sure all led’s are connected to a resistor if applicable

//this project was made and tested using only one wire and arduino‘s pin 13 resistor and LED

//note: pin 5 and 6 act weird in the beginning - an arduino bug

byte led1 = 3;

byte led2 = 5;

byte led3 = 6;

byte led4 = 9;

byte led5 = 10;

byte led6 = 11;

int x = 0;

int y = 0;

int steps = 1; //change if needed, defines the steps between 0 and 255, a lower number is smoother

//make sure the variable “steps” is a factor of 255; any of the below numbers

//factors of 255 are : 1,3,5,15,17,51,85,255

//sorry for a lot of notes, but remember to change variable “delaytime” according to variable “steps”

//delay is in milliseconds for below

int delaytime = 10; //change if needed, delay between increments of PWM

//850 milliseconds is on-off/off-on time, in 17 step increments of brightness

int delaytime2 = 1000; //change if needed, delay between switching of leds

void setup (){

pinMode (led1, OUTPUT);

pinMode (led2, OUTPUT);

pinMode (led3, OUTPUT);

pinMode (led4, OUTPUT);

pinMode (led5, OUTPUT);

pinMode (led6, OUTPUT);

do {

x = x + steps;

analogWrite (led1, x);

analogWrite (led2, x);

delay (delaytime);

}

while (x != 255);

}

void loop (){

y = 0;

x = 255;

delay (delaytime);

do{

y = y + steps;

x = x - steps;

analogWrite (led3, y);

analogWrite (led1, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

y = 0;

x = 255;

do{

y = y + steps;

x = x - steps;

analogWrite (led4, y);

analogWrite (led2, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

y = 0;

x = 255;

do{

y = y + steps;

x = x - steps;

analogWrite (led5, y);

analogWrite (led3, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

y = 0;

x = 255;

do{

y = y + steps;

x = x - steps;

analogWrite (led6, y);

analogWrite (led4, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

y = 0;

x = 255;

do{

y = y + steps;

x = x - steps;

analogWrite (led1, y);

analogWrite (led5, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

y = 0;

x = 255;

do{

y = y + steps;

x = x - steps;

analogWrite (led2, y);

analogWrite (led6, x);

delay (delaytime);

}

while (y != 255 && x != 0);

delay (delaytime2);

}

第3步:电路。

每个LED并将其连接到面包板的接地导轨。将正极引线连接到Arduino的引脚3、5、6、9、10、11。

步骤4:渐隐!

现在,LED应该以伪随机的方式褪色。您已完成,但对于印象深刻的人,请单击“下一步”。

步骤5:下沉和采购。

这是我如何教授下沉和源的方法。

下沉是指从输出引脚到地。所谓采购,是指从正极到输出引脚。

这样想。电源可以从LED流向源极。在下沉时,电源来自引脚。电源始终由引脚提供,因此,当引脚变为高电平时,电流会“通过” LED到达引脚,从而将其关闭。

对于大多数人来说,他们应该说:“这有什么区别? “

对一个随机的人moi来说,它的意思是:“我可以反转信号,从而产生更大的随机性!”

请记住,避免使用电阻器(有生命危险)从3.3伏特为其供电。 p》

第6步:这样做。..

现在取第3针作为源。

取第6针作为源。

取第9针作为源。

然后取第11针作为源。

将其余的留在原处。

第7步:确实完成。

现在,可以实现随机效果(让我恶作剧的时间)(借口) -moi 。.. BWA-HA-HAHA-HA!)点击完成。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23130

    浏览量

    658351
  • Arduino
    +关注

    关注

    187

    文章

    6463

    浏览量

    186621
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino实现CAN总线通信

    CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠、实时和灵活性而受到青睐。Arduino作为一个
    的头像 发表于 11-12 10:09 299次阅读

    闪存随机读写与连续读写哪个重要

    闪存随机读写与连续读写各有其重要,具体取决于应用场景和需求。 随机读写的重要 延迟小,响应快 : 闪存(尤其是SSD)的随机读写性能通常
    的头像 发表于 10-12 11:44 288次阅读

    快速启停!AEM在新能源制绿氢应用中的适配

    的先决条件。第三代AEM(阴离子交换膜)电解水制氢技术,已成为该场景下适配度较高的技术路线之一。 新能源三 以光伏、风电为代表的新能源,由于其运行原理,出力存在随机性、间歇和波动
    的头像 发表于 10-11 17:37 227次阅读
    快速启停!AEM在新能源制绿氢应用中的适配<b class='flag-5'>性</b>。

    arduino(1)--ESP8266配置

    硬件准备 首先需要准备一个开发板,这里我准备的是淘宝购买的兼容arduino的ESP8266模块。 arduino配置 我使用的是arduino来编程实现,故需要下载对应的库文件,打
    发表于 09-06 11:00

    如何在FPGA中实现随机数发生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中实现4位伪随机数发生器(PRNGs)。
    的头像 发表于 08-06 11:20 584次阅读
    如何在FPGA中<b class='flag-5'>实现</b><b class='flag-5'>随机</b>数发生器

    【Vision Board创客营连载体验】利用 OpenMV 实现 AprilTag 跟踪以及通过串口通讯控制 Arduino 驱动 LED 灯带

    Arduino Uno 板子并对两端程序进行补充与修复,成功实现一维 LED 矩阵的跟踪功能,下面附上连线图与效果图: 待办 / TODO 调通上位机与下位机之间的 UART 通讯 当识别
    发表于 05-31 00:01

    STM32H750 LTDC显存开辟在外部SDRAM里面,会出现随机性闪屏为什么?

    板子运行在外部QSPI ,外扩了32MB SDRAM, LTDC显存开辟在外部SDRAM里面,分辨率1024X600 16位色,问题现象是: 程序代码定义了一个全局初始化的400字节的数组, static char TestData[400] ={0}; 这样定义会出现随机性闪屏。
    发表于 05-20 06:40

    什么是随机森林?随机森林的工作原理

    随机森林使用名为“bagging”的技术,通过数据集和特征的随机自助抽样样本并行构建完整的决策树。虽然决策树基于一组固定的特征,而且经常过拟合,但随机性对森林的成功至关重要。
    发表于 03-18 14:27 3385次阅读
    什么是<b class='flag-5'>随机</b>森林?<b class='flag-5'>随机</b>森林的工作原理

    用于Arduino的BLDC-SHIELD_IFX007T,主LED发出耀眼的白色是什么意思?

    我看来是正确的。 打开整个设备(12V POWER_DRILL2GO连接至SHIELD_AUTONOM_BGT60连接至 Arduino),拐角处的 LED 一秒钟后会发出耀眼的白色
    发表于 03-06 07:44

    如何将LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 2049次阅读
    如何将<b class='flag-5'>LED</b>连接到<b class='flag-5'>Arduino</b>板并使其闪烁

    如何使用Arduino控制RGB LED

    在本指南中,您将学习如何使用Arduino控制RGB LED。RGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino RGB
    的头像 发表于 02-11 10:28 4542次阅读
    如何使用<b class='flag-5'>Arduino</b>控制RGB <b class='flag-5'>LED</b>

    如何连接Arduino声音传感器以控制带有声音的LED

    在本教程中,您将学习如何连接Arduino声音传感器以控制带有声音的LED。在本指南结束时,您将拥有一个可以正常工作的声控LED
    的头像 发表于 02-11 10:21 2761次阅读
    如何连接<b class='flag-5'>Arduino</b>声音传感器以控制带有声音的<b class='flag-5'>LED</b>

    如何使用BLDC屏蔽的LED用于Arduino与TLE9879QXA40?

    我买了带有 TLE9879QXA40 的 Arduino 的 BLDC 扩展板,并尝试先检查 LED,但它仍然是红色的,我无法将其更改为另一种颜色或将其关闭。 尽管这是一个基本的内容,但如果程序有
    发表于 01-31 07:18

    上电LDO稳压24V输出异常!!如何解决

    上电的时候7824输出电压随机性的出现只输出2V的情况,出现的频率较高! 尝试了在U1的使能端增加RC延时电路,能够有效减少出现上电输出电压异常的概率,可还是会出现。想知道是什么原因造成的!
    发表于 01-10 17:41

    AD7656采样会随机性出现错误值是什么原因造成的?

    正常运行采样都对,就是AD输出随机地出现0、-1、16384、4095.(对应0X0000、0xFFFF、0x4000、0x0FFF)。 采用AD7656并行。有时候是一个芯片6路都这样,有时候会是一个芯片的部分通道。
    发表于 12-21 07:47