CraftDuino v2.0
  • - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!

Программирование Arduino - Псевдослучайные числа

1. Программирование Arduino — введение
2. Структура программы, константы
3. Цифровой ввод/вывод
4. Аналоговый ввод/вывод
5. Дополнительные функции ввода/вывода
6. Работа со временем
7. Математические функции

8. Псевдослучайные числа

рассмотрим специфичные функции Arduino для работы с псевдослучайными числами

void randomSeed(unsigned int seed)

Описание:
randomSeed () инициализирует генератор псевдослучайных чисел, в результате чего генерация начинается с произвольного числа псевдослучайной последовательности.

Если важно, чтобы последовательность значений сгенерированной функцией random() отличались друг от друга при разных запусках скетча – можно вызывать randomSeed () для инициализации генератора псевдослучайных чисел с параметром, считываемым с помощью analogRead () из незадействованного порта.

Наоборот, иногда может быть полезно использовать псевдослучайную последовательность, которые точно повторяются. Это можно сделать, вызывая randomSeed () с фиксированным числом.

Параметры:
unsigned int seed – число для инициализации генератора псевдослучайных чисел

Пример:
long randNumber;

void setup(){
  Serial.begin(9600);
  randomSeed(analogRead(0));
}

void loop(){
  randNumber = random(300);
  Serial.println(randNumber);
  delay(50);
}

long random(long howbig)
long random(long howsmall, long howbig)


Описание:
Генерирует псевдослучайное число

Параметры:
min – нижняя граница случайных чисел, (включая)
max — верхняя граница случайных чисел, (не включая)

Возвращаемое значение:
случайное число(тип long) между min и max–1

Пример:

long randNumber;

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

  // если аналоговый порт 0 не подключён, случайный аналоговый
  // шум будет заставлять randomSeed() генерировать
  // разные псевдослучайные числа при каждом запуске скетча
  randomSeed(analogRead(0));
}

void loop() {
  // печать случайного числа от 0 до 299
  randNumber = random(300);
  Serial.println(randNumber);  

  // печать случайного чмсла от 10 до 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}


читать далее: 9. Последовательная передача данных

Ссылки:
http://arduino.cc/en/Reference/HomePage (или же в каталоге ArduinoIDE \reference\HomePage.html )
  • 0
  • 6 июля 2009, 17:23
  • admin

Комментарии (1)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.