Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код |
229777 |
Дата создания |
04 июля 2016 |
Страниц |
57
|
Покупка готовых работ временно недоступна.
|
Описание
Разработка программно-аппаратного комплекса для голосового управления электрооборудованием в автомобиле. Требуется небольшая доработка. Писалась на заказ, но не пригодилась. ...
Содержание
ВВЕДЕНИЕ 8
ГЛАВА 1. АНАЛИЗ СИСТЕМ ГОЛОСОВОГО УПРАВЛЕНИЯ ЭЛЕКТРООБОРУДОВАНИЕМ АВТОМОБИЛЯ 10
1.1 Аналитический обзор 10
1.1.1 История голосового управления автомобилем. 10
1.1.2. Современные системы голосового управления 10
1.1.3. Синтез речи 15
ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ ГОЛОСОВОГО УПРАВЛЕНИЯ ЭЛЕКТРОБОРУДОВАНИЕМ. 18
2.1. Проектирование коммутирующего устройства 18
2.2. Проектирования программного обеспечения для системы голосового управления электрооборудованием. 23
ГЛАВА 3. РЕАЛИЗАЦИЯ СИСТЕМЫ ГОЛОСОВОГО УПРАВЛЕНИЯ ЭЛЕКТРООБОРУДОВАНИЕМ. 25
3.1. Описание технологии и языка программирования. 25
3.1.1. Microsoft Speech API 25
3.2. Разработка управляющей программы. 27
3.3. Разработка программы для настройки управления. 29
ЗАКЛЮЧЕНИЕ 30
Список используемой литературы 31
Приложение А. Код программы управления. 32
Приложение Б. Код программы настройки 43
Введение
Актуальность дипломной работы «Голосовое управление электрооборудованием в автомобиле» связана с возможностью управления всеми имеющимися электроприборами в транспорте: освещение, мультимедиа-системы, кондиционер и пр. Голосовому управлению можно подчинить почти каждый электронный прибор, любую электронную систему и любые функции, сценарии и сюжеты в автомобиле.
Фрагмент работы для ознакомления
[5]ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ ГОЛОСОВОГО УПРАВЛЕНИЯ ЭЛЕКТРОБОРУДОВАНИЕМ.2.1. Проектирование коммутирующего устройстваРегистр сдвига hc595 представляет интерес для тех, кому необходимо управлять внешними устройствами, получать внешнюю дискретную информацию и организовывать автоматическую обратную связь через COM-порт. Перечисленные функции реализуются из программы, гибкие настройки которой могут быть применимы в следующих сферах: автоматика, роботизированные механизмы, механические модели, двигатели (в т.ч. шаговые), семи сегментные индикаторы, реклама и пр. Рисунок 3 - Схема сопряжения драйвера hc595 с компьютером. В устройстве сопряжения могут быть использованы сопротивления и конденсаторы любых типов, подходящих по габаритам. Стабилитроны могут быть, например, типа BZX55C 5V1 или более мощные 1N4733A, или отечественные из серий КС147, КС156. Микросхемный стабилизатор 78L05 может быть заменен на более мощный 7805 (отечественный аналог КР142ЕН5А). Рисунок 4 - Основные элементы Схема содержит минимум деталей и при правильной сборке начинает работать сразу, не требуя дополнительных настроек.Для управления нагрузкой в схемах с постоянным напряжением, например 24В, можно использовать любые мощные составные транзисторы – в нашем случае КТ829.Рисунок 5 - Схема управления постоянным напряжениемДля коммутации переменного тока 220В проще всего использовать так называемый полупроводниковый ключ переменного тока, который имеет на входе оптодрайвер с детектором нуля фазы, что обеспечивает гальваническую развязку.Рисунок 6 - Схема управления напряжением 220 В Для увеличения коммутируемого тока симистор устанавливается на радиатор. Обратите внимание – в высоковольтной части использованы сопротивления мощностью 0,5 Вт.Не забывайте о технике безопасности – во время работы коммутатора не касайтесь оголенных элементов, а при перепайке деталей и проводов отключите коммутатор от сети.Плата выполнена из одностороннего фольгированного текстолита. Размер платы 30х25мм. На плате под корпусом микросхемы впаяна перемычка. В целях защиты от перегрева микросхемы во время пайки использована 16-контактная панель под микросхему.Рисунок 7 - Макет печатной платыДля управления выходами (светодиодами), устройство достаточно соединить с ПК 4х проводным шнуром. Шнур распаивается на стандартный разъем к COM-порту – розетку DB9.Сигнал +5В для общего провода цифровых входов берётся из схемы устройства. Сопротивления в линиях цифровых входов можно распаять в корпусе розетки DB9.К цифровым входам можно подключить кнопки, тумблера, микропереключатели.Основой устройства является доступная микросхема 74hc595, представляющая собой последовательный регистр сдвига с выходной блокировкой. Для управления этой микросхемой достаточно трёх сигнальных линий. В нашем случае сигналы инициируются в программе управления UniCOM и выдаются через интерфейс RS-232 (COM-порт). В качестве сигнальных линий в этом интерфейсе использованы линии 9-контактного разъема: RTS – 7 контакт, DTR – 4 контакт и TxD – 3 контакт.Принцип работы микросхемы 74hc595 заключается в последовательной записи логических сигналов высокого и низкого уровней, подаваемых на вход DS (14 ножка). Запись осуществляется задним фронтом (переход из лог. 1 в лог. 0) на входе SH_CP (11 ножка). Вывод записанных данных происходит также задним фронтом, но на входе ST_CP (12 ножка). Таким образом, на ножках 1-7 и 15 появляются уровни последних восьми записанных сигналов.Высокому уровню сигнала на выходах (ножки 1-7 и 15) соответствует напряжение питания микросхемы – в нашем случае +5 Вольт, а низкому уровню соответствует 0 Вольт. Сигналы на выходах являются статическими, т.е. неизменными до тех пор, пока не придёт очередной импульс на вход ST_CP (12 ножка). Необходимо отметить, что снижение напряжения питания ниже минимального уровня ведет к сбросу сигналов на выходах. Согласно документации на микросхему, минимальное напряжение питания составляет 2 вольта.Сопряжение интерфейса RS-232 с микросхемой 74hc595 сделано посредством стабилитронов на 5,1В. Согласно спецификации на RS-232 высокий уровень сигнала лежит в диапазоне от +3 до +25В.2.2. Проектирования программного обеспечения для системы голосового управления электрооборудованием.Разрабатываемая система должна выполнять функции управления электрооборудованием. Приведем возможную диаграмму вариантов использования:Рисунок SEQ Рисунок \* ARABIC 8 - Диаграмма вариантов использованияТаким образом программу можно разделить на следующие компоненты:Рисунок SEQ Рисунок \* ARABIC 9 - Диаграмма компонентов системыСистема, при отсутствии команд, должна быть в ожидании. В случае, если появилась команда, то полученная команда переводится в систему распознавания, которая, через модуль формирования команд, пересылает команду устройству коммутации, которое включает или выключает выбранное устройство.Рисунок SEQ Рисунок \* ARABIC 10 - Диаграмма активности системыГЛАВА 3. РЕАЛИЗАЦИЯ СИСТЕМЫ ГОЛОСОВОГО УПРАВЛЕНИЯ ЭЛЕКТРООБОРУДОВАНИЕМ.3.1. Описание технологии и языка программирования.3.1.1. Microsoft Speech APISpeech Application Programming Interface (SAPI) — интерфейс программирования приложений, основанный на технологии COM, предназначенный для распознавания и синтеза речи.Распознавание речи — процесс преобразования произнесённых слов в печатный текст. Распознавание речи включает в себя:захват и оцифровку звука, произнесённого в микрофон;преобразование оцифрованного звука в фонемы;конструирование из фонем слов;анализ контекста, в котором было произнесено слово, и, при необходимости, замена слов на похожие по звучанию.Распознающая программа (движок распознавания текста) итерационно сравнивает распознанный текст с правилами грамматики приложения и при совпадении текста с серией правил формирует выходной поток XML с использованием языка разметки семантики (англ. Semantic Markup Language, SML). Выходной поток содержит распознанный текст, значения вероятностей правильного распознания и может содержать семантические значения, присвоенные при помощи разметки интерпретации семантики. Распознанный текст обычно используется для ввода данных при помощи диктовки и для управления приложениями при помощи речевых команд.Размер правил грамматики ограничивает возможности распознавания текста. Большинство программ, поддерживающих диктовку, для обеспечения наиболее точного распознавания настраиваются на речевые обороты конкретного пользователя. Режим управления речевыми командами более прост для реализации, поскольку содержание правил грамматики ограничено имеющимися командами.Синтез речи — процесс преобразования текста в произносимые слова. Синтез речи включает в себя:разделение слов на фонемы;нахождение текста, требующего преобразование в символы, такого как числа, количество валюты и пунктуация;генерация цифрового звука для воспроизведения.Движки преобразования текста в речь могут использовать один из двух способов синтеза голоса:генерировать звуки, подобные издаваемым голосовыми связками и использовать различные фильтры для моделирования длины горла, форму ротовой полости, расположение губ и языка;собирать его из многочисленных кусков речи, записанных диктором.3.2. Разработка управляющей программы.Исходя из схемы управления, можно определить:управляющая программа должна посылать сигналы по COM-порту компьютера;управляющая программа должна распознавать произнесенную фразу и выполнять соответствующую ей команду.Команды управляющей программы должны содержать номер канала, который необходимо включить (от 0 до 7) в двоичной форме, при этом посылать на COM-порт будет 1 байт данных.Интерфейс управляющей команды можно представить в следующем виде:Рисунок SEQ Рисунок \* ARABIC 11 - Интерфейс управляющей программыОсновной принцип работы программы в следующем: программа, при загрузке, считывает команды из файла, который создается редактором команд (настройщиком). После успешной загрузки данных, программа переходит в режим ожидания и каждое произнесенное слово проверяет на соответствие записанным командам. Если произнесенная фраза соответствует команде, то команда выполняется – соответствующие данные отправляются на нужный COM-порт.Исходный код программы управления представлен в Приложении А.3.3. Разработка программы для настройки управления.Интерфейс программы настройки представлен на рисунке 13.Рисунок SEQ Рисунок \* ARABIC 12 - Интерфейс программы настройкиНастройщик задает список команд системы, которые сохраняются в файл. Данный файл управляющая программа считывает при инициализации. Система содержит ограниченный список команд, которые отвечают за включение/отключение питания в определенной линии. Для одного COM-порта может быть определено 8 линий связи.Исходный код программы управления представлен в Приложении Б.ЗАКЛЮЧЕНИЕЦелью данной работы было подробно изучить настройку голосового управления в автоматизированной системе управления электрооборудованием.Для достижения поставленной цели необходимо было проанализировать имеющиеся системы, а также определить технические возможности реализации проекта, определить программные технические средства, элементную базу.В первой главе рассмотрены классификации системы голосового интерфейса в автоматизированной системе «Умный дом», их достоинства и недостатки, инженерные системы, системы управления освещением. Так же были подробно изучены синтез и распознавание речи. Разработана принципиальная и функциональная схема устройства.Во второй главе описано разработанное аппаратное решение управления электропитанием и проведено проектирование программы управления. В третьей главе описано разработанное программное обеспечение, предназначенное для голосового управления электрооборудования.Реализованный проект можно модернизировать и использовать в коммерческих целях.Список используемой литературы1. Белов А. В. Микроконтроллеры AVR в радиолюбительской практике. — СПб.: Наука и Техника, 2007. — 352 е.: ил.2. Белов А. В. Самоучитель разработчика устройств на микроконтроллерах AVRНаука и Техника, 2008. — 544 с: ил.3. Белов А. В. Создаем устройства на микроконтроллерах. — СПб.: Наука и Техника, 2007. — 304 с: ил.4. Голубцов М. С. Микроконтроллеры AVR: от простого к сложному / М. С. Голубцов — М.: СОЛОН-Пресс, 2003. 288 с. — (Серия «Библиотека инженера»).5. Гребнев В. В. Микроконтроллеры семейства AVR фирмы Atmel. — М.: ИП РадиоСофт 2002— 176 с: ил.6. Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы ATMEL - 3е изд., стер. — М.: Издательский дом «Додэка_XXI», 2006. - 288 с.: ил. (Серия «Мировая электроника»).7. Система команд 8-розрядных RISK микроконтроллеров семейства AVR8. Трамперт В. AVR-RISC микроконтроллеры.: Пер, с нем, — К,; "МК-Пресс", 2006,— 464 с, ил.9. ATtiny2313 Datasheet: 8-bit Microcontroller with 2K Bytes In-System Programmable Flash ATtiny2313/V PreliminaryПриложение А. Код программы управления.namespace VoiceControl{ partial class Form1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.SuspendLayout(); // // richTextBox1 // this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.richTextBox1.Location = new System.Drawing.Point(0, 0); this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.Size = new System.Drawing.Size(284, 261); this.richTextBox1.TabIndex = 0; this.richTextBox1.Text = ""; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(284, 261); this.Controls.Add(this.richTextBox1); this.Name = "Form1"; this.Text = "Управление"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion private System.Windows.Forms.RichTextBox richTextBox1; }}using System;using System.Diagnostics;using System.Globalization;using System.Linq;using System.Runtime.InteropServices;using System.Windows.Forms;using Microsoft.Speech;using Microsoft.Speech.Recognition;namespace VoiceControl{ public partial class Form1 : Form { private CultureInfo _culture; private SpeechRecognitionEngine _sre; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { try { _culture = new CultureInfo("ru-RU"); _sre = new SpeechRecognitionEngine( _culture);//_culture); // Setup event handlers _sre.SpeechDetected += new EventHandler<SpeechDetectedEventArgs>(sr_SpeechDetected); _sre.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(sr_RecognizeCompleted); _sre.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(sr_SpeechHypothesized); _sre.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(sr_SpeechRecognitionRejected); _sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr_SpeechRecognized); // select input source _sre.SetInputToDefaultAudioDevice(); // load grammar _sre.LoadGrammar(CreateSampleGrammar1()); _sre.LoadGrammar(CreateSampleGrammar2()); // start recognition _sre.RecognizeAsync(RecognizeMode.Multiple); } catch (Exception exc) { MessageBox.Show(exc.Message); } } private Choices CreateSampleChoices() { var val1 = new SemanticResultValue("свет в спальной", "calc"); var val2 = new SemanticResultValue("свет в зале", "explorer"); return new Choices(val1, val2); } private Grammar CreateSampleGrammar1() { var programs = CreateSampleChoices(); var grammarBuilder = new GrammarBuilder("Включить", SubsetMatchingMode.SubsequenceContentRequired); grammarBuilder.Culture = _culture; grammarBuilder.Append(new SemanticResultKey("start", programs)); return new Grammar(grammarBuilder); } private Grammar CreateSampleGrammar2() { var programs = CreateSampleChoices(); var grammarBuilder = new GrammarBuilder("Выключить", SubsetMatchingMode.SubsequenceContentRequired); grammarBuilder.Culture = _culture; grammarBuilder.Append(new SemanticResultKey("close", programs)); return new Grammar(grammarBuilder); } private void sr_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e) { AppendLine("Speech Recognition Rejected: " + e.Result.Text); } private void sr_SpeechHypothesized(object sender, SpeechHypothesizedEventArgs e) { AppendLine("Speech Hypothesized: " + e.Result.Text + " (" + e.Result.Confidence + ")"); } private void sr_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e) { AppendLine("Recognize Completed: " + e.Result.Text); } private void sr_SpeechDetected(object sender, SpeechDetectedEventArgs e) { AppendLine("Speech Detected: audio pos " + e.AudioPosition); } private void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { AppendLine("\t" + "Speech Recognized:"); AppendLine(e.Result.Text + " (" + e.Result.Confidence + ")"); if (e.Result.Confidence < 0.
Список литературы
1. Белов А. В. Микроконтроллеры AVR в радиолюбительской практике. — СПб.: Наука и Техника, 2007. — 352 е.: ил.
2. Белов А. В. Самоучитель разработчика устройств на микроконтроллерах AVR
Наука и Техника, 2008. — 544 с: ил.
3. Белов А. В. Создаем устройства на микроконтроллерах. — СПб.: Наука и Техника, 2007. — 304 с: ил.
4. Голубцов М. С. Микроконтроллеры AVR: от простого к сложному / М. С. Голуб¬цов — М.: СОЛОН-Пресс, 2003. 288 с. — (Серия «Библиотека инженера»).
5. Гребнев В. В. Микроконтроллеры семейства AVR фирмы Atmel. — М.: ИП РадиоСофт 2002— 176 с: ил.
6. Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы ATMEL - 3е изд., стер. — М.: Издательский дом «Додэка_XXI», 2006. - 288 с.: ил. (Серия «Мировая электроника»).
7. Система команд 8-розрядных RISK микроконтроллеров семейства AVR
8. Трамперт В. AVR-RISC микроконтроллеры.: Пер, с нем, — К,; "МК-Пресс", 2006,— 464 с, ил.
9. ATtiny2313 Datasheet: 8-bit Microcontroller with 2K Bytes In-System Programmable Flash ATtiny2313/V Preliminary
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00491