На прошлом уроке мы научились создавать различные звуки. Также мы научились
создавать ноты генерируя звук определенной частоты. Какая частота какой
ноте соответвует можно посмотреть здесь:
Таблица соотношения нот и частот
Для экспериментов будем использовать схему из прошлого урока:
void setup() { pinMode(13, OUTPUT); } void loop() { tone(13, 294, 300); delay(300); tone(13, 349, 300); delay(300); tone(13, 440, 300); delay(300); tone(13, 349, 300); delay(300); tone(13, 392, 600); delay(600); tone(13, 349, 300); delay(300); tone(13, 329, 300); delay(300); tone(13, 440, 600); delay(600); tone(13, 392, 600); delay(600); tone(13, 294, 1200); delay(1200); tone(13, 349, 300); delay(300); tone(13, 440, 300); delay(300); tone(13, 523, 300); delay(300); tone(13, 523, 300); delay(300); tone(13, 587, 600); delay(600); tone(13, 523, 300); delay(300); tone(13, 466, 300); delay(300); tone(13, 440, 1200); delay(60000); }После нажатия на кнопку "начать моделирование" вы услишите мелодию "Подмосковные вечера". Попробуйте запрограммиоровать какую-нибудь другую мелодию.
random(max) random(min, max)где параметр min - это нижняя граница случайных значений, включительно, параметр max = верхняя граница случайных значений, не включительно. Таким образом функция random возвращает псевдослучайное число из диапазона от min до max-1. Если минимальное значение не указано, то выводится число из диапазона от 0 до max-1.
void setup() { pinMode(13, OUTPUT); } void loop() { tone(13, random(100,1000), 500); delay(600); }
long randNumber; void setup(){ Serial.begin(9600); // если порт 0 неподключен, то генератор псевдослучайных чисел // будет инициализироваться функцией randomSeed() со случайного // значения при каждом запуске программы из-за "шума" на порту randomSeed(analogRead(0)); } void loop() { // выводим случайное число из диапазона 0..299 randNumber = random(300); Serial.println(randNumber); delay(500); }