Генератор случайных чисел
- Войдите на сайт для отправки комментариев
Втр, 22/09/2015 - 20:46
Помогите с генератором. Простейший пример из туториала
[code]
long randNumber;
void setup()
{
Serial.begin(9600);
// если порт 0 неподключен, то генератор псевдослучайных чисел
// будет инициализироваться функцией randomSeed() со случайного
// значения при каждом запуске программы из-за "шума" на порту
randomSeed(analogRead(0));
}
void loop()
{
// выводим случайное число из диапазона 0..29
randNumber = random(30);
Serial.println(randNumber);
delay(500);
if (randNumber = 21)
{Serial.println("BUX");}
}
[/code]
Как поймать число в "числоизлиянии" генератора? А в сериале после каждого числа пишет "BUX"
Что такое "числоизлияние" не понял.
Операнд "=" - это присваивание, любая операция присваивания возвращает true, поэтому и срабатывает после каждого "сравнения".
Для сравнения используйти операнд "==", как верно подметил andriano
Да уж. . . невнимательность.
Спасибо!
Числоизлияния -генерация :)
еще проблема с выводом на LCD.
[code] // ПРОГРАММА Бомбочка для игры long randNumber; #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F,20,4); // установка LCD void setup() { lcd.init(); // Инициализируем lcd pinMode(13, OUTPUT); // Печать приветствия на LCD. lcd.backlight(); lcd.setCursor(8, 0); lcd.print("BOMB"); lcd.setCursor(5, 1); lcd.print("PLAY GAME"); delay(1000); lcd.clear(); randomSeed(analogRead(0)); } void loop() { // выводим случайное число из диапазона 10-29 randNumber = random(10,30); lcd.setCursor(0, 0); Lcd.print(randNumber); //выводим генерируемые числа на экран delay(1000); if (randNumber == 21) {digitalWrite(13, HIGH); delay(2000); digitalWrite(13, LOW);} } [/code]Выдает ошибку
BOMB.ino: In function 'void loop()':
BOMB.ino:32:3: error: 'Lcd' was not declared in this scope
Как я его должен представить в этой области?
Опять невнимательность)33
33 строчка в Вашем коде - объект lcd с большой буквы, а надо с маленькой)
Тяжело переходить с Паскаля... :)
Да, в этом проблема. Еще вопрос - в разных версиях Arduino IDE разными операторами инициализируеся LCD. в одних init в других begin Почему?
Да, в этом проблема. Еще вопрос - в разных версиях Arduino IDE разными операторами инициализируеся LCD. в одних init в других begin Почему?
любая операция присваивания возвращает true
Да, в этом проблема. Еще вопрос - в разных версиях Arduino IDE разными операторами инициализируеся LCD. в одних init в других begin Почему?
Да в том то и дело, что библиотека одна
Прошу прощения, конечно не совсем любая) Но абсолютное большинство при аккуратности с типами
Да, в этом проблема. Еще вопрос - в разных версиях Arduino IDE разными операторами инициализируеся LCD. в одних init в других begin Почему?
Да в том то и дело, что библиотека одна