简体中文
  • 关于 uKit Explore
  • uKit Explore快速上手
    • 如何获取SDK
    • uKit Explore 引脚图
    • 灰度传感器介绍及答疑
    • 灰度传感器记录指引
    • 灰度传感器固件更新
  • uKit Explore 函数库
    • uKit Explore 库文件介绍
    • 传感器
      • 眼灯
        • setEyelightAllPetals(id,red,green,blue)
        • setEyelightPetals(id,petalsnum,petals)
        • setEyelightLook(id,face,times,red,green,blue)
        • setEyelightLookUntil(id,face,times,red,green,blue)
        • setEyelightScene(id,scene,times);
        • setEyelightSceneUntil(id,scene,times)
        • setEyelightOff(id)
      • 超声波传感器
        • setUltrasonicRgbled(id,red,green,blue)
        • setUltrasonicRgbledOff(id)
        • readUltrasonicDistance(id)
      • 红外传感器
        • readInfraredDistance(id)
      • 按压传感器
        • readButtonValue(id)
      • 亮度传感器
        • readLightValue(id)
      • 声音传感器
        • readSoundValue(id)
      • 温湿度传感器
        • readHumitureValue(id,choice)
      • 颜色传感器
        • readColorRgb(id)
        • readColor(id,color)
    • 舵机
      • setServoTurn(id,dir, speed)
      • setServoAngle(id,angle,times)
      • readServoAngleNPD(id)
      • readServoAnglePD(id)
    • 电机
      • setMotorTurnAdj(id, speed,time)
      • setMotorTurn(id,pwmDuty)
      • setMotorStop(id)
      • readMotorSpeed(id)
    • 板载硬件
      • 按键
        • button1.Update();
        • button1.clicks()
      • 蜂鸣器
        • noTone(pin)
        • tone(frequency, duration)
      • setRgbledColor(red,green,blue)
      • readBatteryVoltage()
      • 陀螺仪
        • IMU::init()
        • IMU::read()
        • IMU::getRawAccelX()
        • IMU::getRawAccelY()
        • IMU::getRawAccelZ()
        • IMU::getRawGyroX()
        • IMU::getRawGyroY()
        • IMU::getRawGyroZ()
        • IMU::getRoll()
        • IMU::getPitch()
  • Arduino 函数库
    • 结构部分
      • 主函数
        • setup()
        • loop()
      • 结构控制
        • if
        • if...else
        • for
        • switch...case
        • while
        • do...while
        • break
        • continue
        • return
        • goto
      • 扩展语法
        • ;
        • {}
        • //
        • /* */
        • #define
        • #include
      • 字符
        • isAlphaNumeric(thisChar)
        • isAlpha(thisChar)
        • isAscii(thisChar)
        • isWhitespace(thisChar)
        • isControl(thisChar)
        • isDigit(thisChar)
        • isGraph(thisChar)
        • isLowerCase(thisChar)
        • isUpperCase(thisChar)
        • isHexadecimalDigit(thisChar)
    • 函数部分
      • 模拟I/O
        • analogWrite(pin,value)
        • analogRead(pin)
      • 数字I/O
        • digitalWrite(pin, value)
        • digitalRead(pin)
        • digitalToggle(pin)
        • pinMode(pin, mode)
      • 高级I/O
        • pulseIn(pin, value, timeout)
        • shiftIn(dataPin,clockPin,bitOrder)
        • shiftOut(dataPin, clockPin, bitOrder, value)
      • 时间
        • millis()
        • micros()
        • delay(ms)
        • delayMicroseconds(us)
      • 随机数
        • randomSeed(seed)
        • random(min, max)
      • 位操作
        • lowByte(x)
        • highByte(x)
        • bitRead(x,n)
        • bitWrite(x,n,b)
        • bitSet(x,n)
        • bitClear(x,n)
        • bit(n)
      • 外部中断
        • attachInterrupt(interrupt, function, mode)
        • detachInterrupt(interrupt)
      • 中断函数
        • interrupts()
        • noInterrupts()
      • 通讯
        • Serial.available()
        • Serial.begin(speed)
        • Serial.end()
        • Serial.find(target)
        • Serial.findUntil(target, terminal)
        • Serial.flush()
        • Serial.parseFloat()
        • Serial.parseInt()
        • Serial.peek()
        • Serial.print(val,format)
        • Serial.println(val,format)
        • serial.read()
        • Serial.readBytes(buffer, length)
        • Serial.readBytesUntil(character, buffer, length)
        • Serial.setTimeout(time)
        • Serial.write()
        • serialEvent
由 GitBook 提供支持
在本页
  • 参数
  • 返回
  • 注意
  • 例子

这有帮助吗?

  1. Arduino 函数库
  2. 函数部分
  3. 随机数

random(min, max)

生成伪随机数。

参数

参数名

描述

min(可选)

随机数的最小值,随机数将包含此值

max

随机数的最大值,随机数不包含此值

返回

参数名

描述

number

min和max-1之间的随机数( 数据类型为long )

注意

如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用randomSeed()函数预设一个绝对的随机输入,例如在一个断开引脚上的analogRead()函数的返回值。

反之,有些时候伪随机数的精确重复也是有用的。这可以在一个随机系列开始前,通过调用一个使用固定数值的randomSeed()函数来完成。

例子

long randNumber;
 
void setup(){
  Serial.begin(9600);
 
//如果模拟输入引脚0为断开,随机的模拟噪声
//将会调用randomSeed()函数在每次代码运行时生成
//不同的种子数值。
//randomSeed()将随机打乱random函数。
  randomSeed(analogRead(0));
}
 
void loop() {
//打印一个0到299之间的随机数
  randNumber = random(300);
  Serial.println(randNumber);  
 
//打印一个10到19之间的随机数
  randNumber = random(10, 20);
  Serial.println(randNumber);
 
  delay(50);
}
上一页randomSeed(seed)下一页位操作

最后更新于5年前

这有帮助吗?