Голосовое управление на Voice Recognition Module
Вид для печати
Голосовое управление на Voice Recognition Module
винда у меня 7, запустить так и не получилось...(((
сам помню маялся)))не мог подключить. сейчас нашел модуль опять подзабыл)))
первое: с пролифика рх тх подключаем рх к тх и тх к рх и скорость надо выбрать 9600
второе: отправлять надо не 0xaa11 ,а aa 11 через HEX
а дальше все по инструкции, как закончили писать отправляем aa 21 или aa 22 или aa 23 смотря в какую группу надо
http://youtu.be/6bVTCpYFJeM
Здравствуйте, а если нету USB TTL конвертера? вроде я слышал где-то, что можно саму ардуину использовать как USB TTL, загрузив какойто скетч . Может кто подскажет как это сделать?
Попытался подключать! Были ответы от ардуины Start но после записи - всегда выдавало No voice/
И вообще возможно ли это?
Я через ардуину подключался, скетч в шапке темы
Или в теме про Arduino USB UART мост
Ребят сделал все по вашей инструкции а Rx у меня не приходят что делать(((
все отлично разобрался опять путаница с ком портами как только я воткнул в др порт винда автомотически поставила на него драйвера с интернета и все в одночасье заработало уже записал 5 команд а по поводу групп пока что не понял мож кто пояснит)))
а вот еще человеконезависымый пример (вкл при left right, выключает down ) на ATMEGA8 без ардин для CodeVision видео нет , но работает
кварц на 7.37МГц прерывания по приему и передаче по rs232.
биты порта С.3 С.4 управляют нагрузками ,а D5,D6,D7 для информации (нужны а процессе настройки)
==================
#include <mega8.h>
#include <delay.h>
#ifndef RXB8
#define RXB8 1
#endif
#ifndef TXB8
#define TXB8 0
#endif
#ifndef UPE
#define UPE 2
#endif
#ifndef DOR
#define DOR 3
#endif
#ifndef FE
#define FE 4
#endif
#ifndef UDRE
#define UDRE 5
#endif
#ifndef RXC
#define RXC 7
#endif
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
char m=3;
char t=1;
char Q=0;
// USART Receiver buffer
#define RX_BUFFER_SIZE 8
char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE <= 256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif
// This flag is set on USART Receiver buffer overflow
//bit rx_buffer_overflow;
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
// rx_buffer[0]=data;
if(data=='t') {m=1;t=1;return; }
if(data=='e') { PORTD.5=1; m=1;t=1;return; }
if ((data=='o')&&(m==3)&&(t==0)){m=1;t=1;return;}
if((data=='s')&&(t==0)&&(m==1)) {m=2;t=1;return; } //r //s
PORTD.6=1;
if(m==2)
{
if(data=='D'){PORTC.4=1;PORTC.3=0;m=1;t=1;return; }
if(data=='B'){ PORTC.3=0;PORTC.4=0;m=1;t=1;return; }
if(data=='E'){ PORTC.3=1;PORTC.4=1;m=1;t=1;return; }
PORTD.5=1;
} // else {m=1;t=1; }
}
t=1; data=0;
}
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index++];
#if RX_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#endif
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif
// USART Transmitter buffer
#define TX_BUFFER_SIZE 8
char tx_buffer[TX_BUFFER_SIZE];
#if TX_BUFFER_SIZE <= 256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif
// USART Transmitter interrupt service routine
interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index++];
#if TX_BUFFER_SIZE != 256
if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
#endif
}
}
#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index++]=c;
#if TX_BUFFER_SIZE != 256
if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
#endif
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif
// Standard Input/Output functions
#include <stdio.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x1F;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=0 State6=0 State5=0 State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0xE0;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x2F;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
// Global enable interrupts
#asm("sei")
putchar('b'); putchar('b');
while (1)
{
PORTD.7=1;delay_ms(300);PORTD.7=0; PORTD.5=0; PORTD.6=0; delay_ms(100);
if(t==1)
{
if(m==1){ putchar('i'); putchar('B');t=0;Q=0; } //d //i
if(m==2){ putchar(' ');t=0;Q=0;}
if(m==3){ putchar('b');t=0;Q=0;}
}
Q=Q+1;
if (Q>10){t=1;m=3;}
}
// PORTC.0=0;
}
Возникли проблемы с приобретением VRBot. На складах нигде нет а под заказ меньше 10шт связываться не хотят может кто что подскажет.
VRBot уже не производят, а на замену ему пришел EasyVR
спасибо вопрос решен нашёл EasyVR на 4роботс ру по приемлемой цене возможностей больше чем у VRbot а цена меньше и это радует
прикупил себе EasyVR
Подключил пока к компу через преобразователь интерфейса, чтобы видеть диалог...
Вроде немного разобрался в протоколе. осталось неясность как работает распознавание команд SD. Нужно самому опрашивать состояние была какая-то команда или нет. Или модуль должен сам отправить определенный параметр на UART с указанием группы и номера команды?
ps. работать модуль будет без всяких дуино, напрямую на МК Atmega.
Заранее благодарю за ответы!
Pavel,как решили проблему?
У меня тоже выдаёт : could not detect a device attached to the port 12
Здравствуйте господа!
Никто не сталкивался с данными девайсами ?
http://ru.aliexpress.com/item/Free-s...7-17bdb1a15a30
http://ru.aliexpress.com/item/Free-s...0-49cbd0773a2c
Именно с такими модулями не сталкивался, но как показала практика, китайские распознавалки распознают хуже
Добрый день! Подскажите, на Али продают вот такие модули Voice Recognition Module V3. идентичны ли они EasyVR. может кто сталкивался? Не могу понять можно ли средствами модуля установить триггер.
это другой модуль, распознает хуже чем EASYVR
Триггеры у него имеются
Здравствуйте, я смогла бы собрать сама такой модуль управления голосом как на видео , и что мне надо? Опыт программирования есть.
Если помощь с Вашей стороны будет то хотела бы начать работу. Боюсь самой будет сложновато.
Задавайте вопросы, я постараюсь на них ответить
Заказала модули, а вот программу саму найти чёт не могу у Вас тут на сайту?
EASYVR и Arduino
Какую программу? Ее название напишите
Вот та что у Вас на видео на 1 странице.
Ну судя по всей ситуации помощь образная. С моей точки всё выглядит совсем не так. Я собрала все платы в кучу соответственно схеме, а прошивку какую туда залить я так и не поняла с той всей кучи (http://www.veear.eu/downloads/). Я так понимаю Нужно скачать библиотеку и установить, потом взять прошивку открыть и записать контролер, и о чудо всё работает как на видео!!! А потом уже интересно разбираться что и как. Если не хотите давать прошивку так и напишите я не буду тратить Ваше время.
Вот к примеру для начала, какие библиотеки мне нужно установить и где их взять, конкретно и как называются. В прошивке они я так понимаю должны быть прописаны.
У Вас 3-я версия EasyVR, я максимум со 2-й только работал, почитайте еще здесь
Добрый день.
Сломал всю голову уже.
Хочу загрузить на плату EasyVR (не шилд) голосовые ответы. Не получается ни как, выдает ошибки в процессе загрузки.
Коммутируется плата только с версией командера 3.14.
На остальных версиях не подключается к ком порту.
Не пойму куда копать. Весь нет перекопал уже.
Чувствую, что ответ где-то на поверхности, а завершить не получается.
Возможно у Вас более современная версия платы и они внесли изменения?
Намного продвинулся.
Подключил платку к программатору через rx и tx, чтобы миновать ардуинку.
Теперь работает со всеми версиями коммандера.
Но записать на плату ответы так и не получается :(
Плата, скорее устаревшая ) Вы помогли ее приобрести лет 10 назад ) Такая же как в начале темы.
Добрый вечер.
Сможете выложить код по включению освещения через триггер?
В моем коде он сразу перескакивает на первую группу и с нее не выходит.
Очень мало информации в сети
За ранее бланодарен