gthrtg 发表于 2015-12-9 21:21:58

关于随机数的问题

下面代码是打开串口监视器 看到产生的随机数 但这个是无限循环的 我想加个按钮 按下时开始给随机数 定个变量 几分钟后自动停止 求大神帮忙加入代码 谢谢了

long randNumber;
void setup(){
Serial.begin(9600);
randomSeed(analogRead(A0));
}

void loop(){
randNumber = random(600);
Serial.println(randNumber);
delay(200);
}

bubing120 发表于 2015-12-9 22:14:46

pinMode(xxx,INPUT);

loop()
{
    if(digitalRead(xxx))flag=1;
    if (flag)
    {
      time=millis();
      if (millis()-time>xxxx)flag=0;
      randNumber = random(600);
      Serial.println(randNumber);
      delay(200);
    }
}

gthrtg 发表于 2015-12-10 09:08:27

bubing120 发表于 2015-12-9 22:14 static/image/common/back.gif
pinMode(xxx,INPUT);

loop()


    if(digitalRead(xxx))flag=1;
   if (flag)
这个语句写入错误啊 怎么改下?

bubing120 发表于 2015-12-10 10:00:50

gthrtg 发表于 2015-12-10 09:08 static/image/common/back.gif
if(digitalRead(xxx))flag=1;
   if (flag)
这个语句写入错误啊 怎么改下?

这是伪代码啊 你要填一下参数啊

gthrtg 发表于 2015-12-10 10:50:53

bubing120 发表于 2015-12-10 10:00 static/image/common/back.gif
这是伪代码啊 你要填一下参数啊

我知道啊 这样不行

pinMode(KEY,INPUT);

loop()
{
   if(digitalRead(KEY))flag=1;
   if (flag)
   {
         time=millis();
         if (millis()-time>KEY)flag=0;
         randNumber = random(600);
         Serial.println(randNumber);
         delay(200);
   }
}

qwer1111 发表于 2015-12-28 11:55:55

long randNumberA1;
long randNumberA2;
long randNumberB1;
long randNumberB2;

void setup(){
   Serial.begin(9600);
}

void loop() {
   int i=0;
   randomSeed(analogRead(A0));
   randNumberA1 = random(1,11);
   Serial.print("A1:");
   Serial.print(randNumberA1);
   Serial.print(",");
   randNumberA2 = random(1,11);
   Serial.print("A2:");
   while(randNumberA1==randNumberA2){
   randNumberA2 = random(1,11);
   i++;
   }
   Serial.println(" " +String(randNumberA2) + "(Repeat:" + i +")" );
   
   randNumberB1 = random(1,11);
   Serial.print("B1:");
   Serial.print(randNumberB1);
   Serial.print(",");
   randNumberB2 = random(1,11);
   Serial.print("B2:");
   while(randNumberB1==randNumberB2){
   randNumberB2 = random(1,11);
   i++;
   }
   
   Serial.println(" " +String(randNumberB2) + "(Repeat:" + i +")" );
   Serial.println(" ");

   delay(1000);
}

qwer1111 发表于 2015-12-31 13:52:49

qwer1111 发表于 2015-12-28 11:55 static/image/common/back.gif
long randNumberA1;
long randNumberA2;
long randNumberB1;


#define KEY 2
#define KEY1 3
#define KEY2 4
#define KEY3 5
#define KEY4 6
#define KEY5 7
#define KEY6 8
#define KEY7 9
#define KEY8 10
#define KEY9 11
#define KEY10 12

unsigned long currentMillis;long randNumberA1;long randNumberA2;
long randNumberB1;long randNumberB2;

int KEY_NUM = 0;int KEY1_NUM = 0;int KEY2_NUM = 0;
int KEY3_NUM = 0;int KEY4_NUM = 0;int KEY5_NUM = 0;
int KEY6_NUM = 0;int KEY7_NUM = 0;int KEY8_NUM = 0;
int KEY9_NUM = 0;int KEY10_NUM = 0;
int a=63;int b=0;int c=0;int interval = 500;
int a1=0;int a2=0;int a3=0;int a4=0;int a5=0;
int b1=0;int b2=0;int b3=0;int b4=0;int b5=0;

void setup()
{
Serial.begin(9600);
pinMode(KEY,INPUT_PULLUP);
pinMode(KEY1,INPUT_PULLUP);
pinMode(KEY2,INPUT_PULLUP);
pinMode(KEY3,INPUT_PULLUP);
pinMode(KEY4,INPUT_PULLUP);
pinMode(KEY5,INPUT_PULLUP);
pinMode(KEY6,INPUT_PULLUP);
pinMode(KEY7,INPUT_PULLUP);
pinMode(KEY8,INPUT_PULLUP);
pinMode(KEY9,INPUT_PULLUP);
pinMode(KEY10,INPUT_PULLUP);
}

void loop()
{
if(digitalRead(2)==LOW){b=1;}
   if(b==1){
unsigned long startMillis = millis();
for(currentMillis = millis();startMillis + interval > currentMillis;)
{currentMillis=millis();
   if(a<=59){
   
    ScanKey1();
if(KEY1_NUM == 1)
{ a1=1;Serial.print("A1close:");digitalWrite(23,LOW);digitalWrite(24,LOW);digitalWrite(25,LOW);digitalWrite(26,LOW);digitalWrite(27,LOW);a1=0;
    digitalWrite(randNumberA1,!digitalRead(randNumberA1));
    randNumberA1 = random(23,28);
    Serial.print("A1open:");
    Serial.println(randNumberA1);}
   ScanKey2();
if(KEY2_NUM == 1)
{ a2=1;Serial.print("A1close:");digitalWrite(23,LOW);digitalWrite(24,LOW);digitalWrite(25,LOW);digitalWrite(26,LOW);digitalWrite(27,LOW);a2=0;
    digitalWrite(randNumberA1,!digitalRead(randNumberA1));
    randNumberA1 = random(23,28);
    Serial.print("A1open:");
    Serial.println(randNumberA1);}
    ScanKey3();
if(KEY3_NUM == 1)
{ a3=1;Serial.print("A1close:");digitalWrite(23,LOW);digitalWrite(24,LOW);digitalWrite(25,LOW);digitalWrite(26,LOW);digitalWrite(27,LOW);a3=0;
    digitalWrite(randNumberA1,!digitalRead(randNumberA1));
    randNumberA1 = random(23,28);
    Serial.print("A1open:");
    Serial.println(randNumberA1);}
    ScanKey4();
if(KEY4_NUM == 1)
{a4=1;Serial.print("A1close:");digitalWrite(23,LOW);digitalWrite(24,LOW);digitalWrite(25,LOW);digitalWrite(26,LOW);digitalWrite(27,LOW);a4=0;
    digitalWrite(randNumberA1,!digitalRead(randNumberA1));
    randNumberA1 = random(23,28);
    Serial.print("A1open:");
    Serial.println(randNumberA1);}
    ScanKey5();
if(KEY5_NUM == 1)
{ a5=1;Serial.print("A1close:");digitalWrite(23,LOW);digitalWrite(24,LOW);digitalWrite(25,LOW);digitalWrite(26,LOW);digitalWrite(27,LOW);a5=0;
    digitalWrite(randNumberA1,!digitalRead(randNumberA1));
    randNumberA1 = random(23,28);
    Serial.print("A1open:");
    Serial.println(randNumberA1);}
   ScanKey6();
if(KEY6_NUM == 1)
{ b1=1;Serial.print("A2close:");digitalWrite(28,LOW);digitalWrite(29,LOW);digitalWrite(30,LOW);digitalWrite(31,LOW);digitalWrite(32,LOW);b1=0;
    digitalWrite(randNumberA2,!digitalRead(randNumberA2));
    randNumberA2 = random(28,33);
    Serial.print("A2open:");
    Serial.println(randNumberA2);}
   ScanKey7();
if(KEY7_NUM == 1)
{ b2=1;Serial.print("A2close:");digitalWrite(28,LOW);digitalWrite(29,LOW);digitalWrite(30,LOW);digitalWrite(31,LOW);digitalWrite(32,LOW);b2=0;
    digitalWrite(randNumberA2,!digitalRead(randNumberA2));
    randNumberA2 = random(28,33);
    Serial.print("A2open:");
    Serial.println(randNumberA2);}
    ScanKey8();
if(KEY8_NUM == 1)
{ b3=1;Serial.print("A2close:");digitalWrite(28,LOW);digitalWrite(29,LOW);digitalWrite(30,LOW);digitalWrite(31,LOW);digitalWrite(32,LOW);b3=0;
    digitalWrite(randNumberA2,!digitalRead(randNumberA2));
    randNumberA2 = random(28,33);
    Serial.print("A2open:");
    Serial.println(randNumberA2);}
    ScanKey9();
if(KEY9_NUM == 1)
{ b4=1;Serial.print("A2close:");digitalWrite(28,LOW);digitalWrite(29,LOW);digitalWrite(30,LOW);digitalWrite(31,LOW);digitalWrite(32,LOW);b4=0;
    digitalWrite(randNumberA2,!digitalRead(randNumberA2));
    randNumberA2 = random(28,33);
    Serial.print("A2open:");
    Serial.println(randNumberA2);}
    ScanKey10();
if(KEY10_NUM == 1)
{ b5=1;Serial.print("A2close:");digitalWrite(28,LOW);digitalWrite(29,LOW);digitalWrite(30,LOW);digitalWrite(31,LOW);digitalWrite(32,LOW);b5=0;
    digitalWrite(randNumberA2,!digitalRead(randNumberA2));
    randNumberA2 = random(28,33);
    Serial.print("A2open:");
    Serial.println(randNumberA2);}
   }
   
   if(a<0){a=63;b=0;}
}
Serial.println(a);
a--;

if(a==59){
randNumberA1 = random(23,28);
Serial.print("A1open:");
Serial.print(randNumberA1);
Serial.print(",");
randNumberA2 = random(28,33);
Serial.print("A2open:");
Serial.print(randNumberA2);
Serial.print(",");
}
   }
}


void ScanKey()
{
KEY_NUM = 0;
if(digitalRead(KEY) == LOW)
{
    delay(20);
    if(digitalRead(KEY) == LOW)
    {
      KEY_NUM = 1;
      while(digitalRead(KEY) == LOW);
    }
}
}
void ScanKey1()
{
KEY1_NUM = 0;
if(digitalRead(KEY1) == LOW)
{
    delay(20);
    if(digitalRead(KEY1) == LOW)
    {
      KEY1_NUM = 1;
      while(digitalRead(KEY1) == LOW);
    }
}
}
void ScanKey2()
{
KEY2_NUM = 0;
if(digitalRead(KEY2) == LOW)
{
    delay(20);
    if(digitalRead(KEY2) == LOW)
    {
      KEY2_NUM = 1;
      while(digitalRead(KEY2) == LOW);
    }
}
}
void ScanKey3()
{
KEY3_NUM = 0;
if(digitalRead(KEY3) == LOW)
{
    delay(20);
    if(digitalRead(KEY3) == LOW)
    {
      KEY3_NUM = 1;
      while(digitalRead(KEY3) == LOW);
    }
}
}
void ScanKey4()
{
KEY4_NUM = 0;
if(digitalRead(KEY4) == LOW)
{
    delay(20);
    if(digitalRead(KEY4) == LOW)
    {
      KEY4_NUM = 1;
      while(digitalRead(KEY4) == LOW);
    }
}
}
void ScanKey5()
{
KEY5_NUM = 0;
if(digitalRead(KEY5) == LOW)
{
    delay(20);
    if(digitalRead(KEY5) == LOW)
    {
      KEY5_NUM = 1;
      while(digitalRead(KEY5) == LOW);
    }
}
}
void ScanKey6()
{
KEY6_NUM = 0;
if(digitalRead(KEY6) == LOW)
{
    delay(20);
    if(digitalRead(KEY6) == LOW)
    {
      KEY6_NUM = 1;
      while(digitalRead(KEY6) == LOW);
    }
}
}
void ScanKey7()
{
KEY7_NUM = 0;
if(digitalRead(KEY7) == LOW)
{
    delay(20);
    if(digitalRead(KEY7) == LOW)
    {
      KEY7_NUM = 1;
      while(digitalRead(KEY7) == LOW);
    }
}
}
void ScanKey8()
{
KEY8_NUM = 0;
if(digitalRead(KEY8) == LOW)
{
    delay(20);
    if(digitalRead(KEY8) == LOW)
    {
      KEY8_NUM = 1;
      while(digitalRead(KEY8) == LOW);
    }
}
}
void ScanKey9()
{
KEY9_NUM = 0;
if(digitalRead(KEY9) == LOW)
{
    delay(20);
    if(digitalRead(KEY9) == LOW)
    {
      KEY9_NUM = 1;
      while(digitalRead(KEY9) == LOW);
    }
}
}
void ScanKey10()
{
KEY10_NUM = 0;
if(digitalRead(KEY10) == LOW)
{
    delay(20);
    if(digitalRead(KEY10) == LOW)
    {
      KEY10_NUM = 1;
      while(digitalRead(KEY10) == LOW);
    }
}
}
页: [1]
查看完整版本: 关于随机数的问题