Как воспроизвести голосом большую переменную
- Войдите на сайт для отправки комментариев
Чт, 19/01/2017 - 12:12
Здравствуйте. Не могу решить возникшую проблему.
Задача стоит в том, чтобы ардуино воспроизвела значение переменной *допустим 1022, как отдельные файлы с записями "тысяча" "двадцать" " два". Файлы в формате wav имеются, но как заставить ардуину составить последовательность?
Мне путь решения видится так:
в цикле loop()
проверяем воспроизводится ли файл и нужно ли начать воспроизведение.
если чило больше или равно100 то находим его цифру сотен, отнимаем от числа его сотни тоесть из 235 вычитаем 200 (var*100), формируем имя файла функцией sprintf(buf, "%d00.wav", var);
если число больше или равно 20 то находим его цифру десятков, вычитаем десятки из 35 надо вычесть 30(var*10) ,формируем имя файла sprintf(buf, "%d0.wav", var);
иначе (от 0 до 19) - формируем имя файла sprintf(buf, "%d.wav", var);
Запускаем воспроизведение и идем далее по циклу loop()
в итоге постепенно уменьшая число мы знаем что еще осталось воспроизвести.
Но как это все выразить в коде, запутался!
Переусложнили, потому и запутались. Думайте над упрощением.
====================
функции тысяч, сотен, десятков, единиц - задают правильное произношение числительных, например
9 - девятьсот, а 4 - четыреста. Единицы - произносят все от 1 до 19.
Функция Произнести () - символическая, при кодировании вся конструкция из "Произнести (сотен(сотни))" и т.п., должна определяться программистом.