极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20284|回复: 10

关于random()

[复制链接]
发表于 2012-7-12 14:52:28 | 显示全部楼层 |阅读模式
本帖最后由 ken789258 于 2012-7-13 11:32 编辑

为何我打http://arduino.cc/en/Reference/Random的程式码,我是用下面那一个randNumber = random(10, 20);,我也有加randomSeed(),不管他按几次reset他的数值都是11、19,15......这样按顺序下去,我想要让他随机,请问​​一下各位大大,有什么建​​议



ps我的板子是arduino mega(ATmega1280)
回复

使用道具 举报

发表于 2012-7-12 15:29:42 | 显示全部楼层
伪随机数。你得设置种子randomSeed
就用millis()做种子吧
环境杂波也行
long randNumber;
void setup(){
  Serial.begin(9600);
  randomSeed(analogRead(0));
}
加上就好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-13 11:35:02 | 显示全部楼层
PureGold 发表于 2012-7-12 15:29
伪随机数。你得设置种子randomSeed
就用millis()做种子吧
环境杂波也行

不好意思,我打错了
我有加randomSeed()
回复 支持 反对

使用道具 举报

发表于 2012-7-13 11:48:41 | 显示全部楼层
那应当证明了你的analogRead(0)非常稳定,是个固定的值,试试analogRead(1),analogRead(2),millis()。
回复 支持 反对

使用道具 举报

发表于 2012-7-13 11:50:27 | 显示全部楼层
PureGold 发表于 2012-7-13 11:48
那应当证明了你的analogRead(0)非常稳定,是个固定的值,试试analogRead(1),analogRead(2),millis()。

也可以将A0口的电压改变,如放个放个光敏+热敏分压电路。。
回复 支持 反对

使用道具 举报

发表于 2012-7-13 15:21:45 | 显示全部楼层
  1. switch(random(1,4)
  2. {
  3.     case 1: digitalWrite(2,HIGH);
  4.     case 2: digitalWrite(3,HIGH);
  5.     case 3: digitalWrite(4,HIGH);
  6. }
复制代码
此状态长期有效
回复 支持 反对

使用道具 举报

发表于 2012-7-14 23:32:57 | 显示全部楼层
麽麽茶㊣ 发表于 2012-7-13 15:21
此状态长期有效

什么意思,不太明白,好象也少个)
学习一下。
回复 支持 反对

使用道具 举报

发表于 2012-7-15 13:29:34 | 显示全部楼层
PureGold 发表于 2012-7-14 23:32
什么意思,不太明白,好象也少个)
学习一下。

random(最小数值,最大数值)
最小数值为1 最大数值为case N的 N+1
将random这个函数作为switch的条件,进行随机条件判定,做出相应的状态反馈。
回复 支持 反对

使用道具 举报

发表于 2012-7-15 19:04:10 | 显示全部楼层
你说的我都知道,我不知道的是“此状态长期有效”是什么意思以及它和楼主所问问题的关联之处
回复 支持 反对

使用道具 举报

发表于 2012-7-15 20:30:52 | 显示全部楼层
PureGold 发表于 2012-7-15 19:04
你说的我都知道,我不知道的是“此状态长期有效”是什么意思以及它和楼主所问问题的关联之处

=。= 我只是想说这个写法是对的。。哎。。不要理我了
回复 支持 反对

使用道具 举报

发表于 2012-7-16 12:15:57 | 显示全部楼层
麽麽茶㊣ 发表于 2012-7-15 20:30
=。= 我只是想说这个写法是对的。。哎。。不要理我了

,我说怎么看不明白
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-4 13:45 , Processed in 0.037358 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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