Может ли Arduino определять температуру в помещении с помощью голосового вызова с использованием sim900?

Я строю блок контроля температуры с Arduino, LM35 и 16*2 ЖК-дисплеем. Теперь я собираюсь интегрировать это устройство с помощью GSM/GPRS-модуля SIM900A, и я получаю показания температуры по SMS.

Теперь мой вопрос, могу ли я получить эти значения с помощью голосового вызова. Если я позвонил в модем GSM, он может сказать показания температуры.

2 ответа

Помимо наличия всех сообщений в файлах PCM, есть также возможность использовать TTS (текст в речь). Существуют небольшие и компактные механизмы TTS, подходящие для порта Arduino. Вот два, которые я использую (с AVR32):

  1. Tiny Speech Synth от Стэн 1901

    просто перенесите его на свой Arduino (удаляя волны и просто используйте буфер в качестве PCM). Единственная библиотека, в которой она действительно нуждается, math.h за sin,cos, Возможно, потребуется немного больше работы, чтобы сделать его более понятным, но это не так уж плохо при настройке частот... его использование floats в большой степени, но я думаю, что порт в целочисленную математику также возможно...

  2. KECAL 1.0 порты для ATMEGA

    это гораздо более старый движок TTS, первоначально разработанный ZX Spectrum, но он немного менее понятен, особенно с низкокачественными репродукторами (например, зуммером) ... Но для id не требуется ШИМ или ЦАП...

Я не знаю ни одного более свежего движка OpenSource TTS, достаточно компактного для платформы MCU. Все, что я знаю, слишком велики или работают на SAPI,.NET или других интегрированных в ОС вещах, что делает их бесполезными.

№ 1 прост и достаточно прокомментирован, чтобы внести изменения, улучшающие фонемы. № 2 был сильно оптимизирован по скорости и размеру (он работает на ~4 МГц Z80), поэтому нет никакого способа улучшить качество там.

Кстати, есть также IC для TTS, так что это может быть еще лучший выбор...

Вам необходимо добавить все возможные значения в виде файлов.amr или вы можете разбить их и воспроизвести соответствующие файлы, используя команды at. Например, за 35 вы можете воспроизвести звук "тридцать", а затем "пять".

Следуйте примечанию приложения для воспроизведения AMR, доступному здесь

Другие вопросы по тегам