вот рабочий скетч чип теперь такой вопрос как сделать так что бы Mute было триггером и без него не выполнялась ни одна командаPHP код:
int Mute = 19; // Pin 19 - Mute
int Start = 18; // Pin 18 - Start
int Stopi = 17; // Pin 17 - Stop
int Opening = 15; // Pin 15 - Open
int Light = 16; // Pin 16 - Light
byte com = 0; //reply from voice recognition
boolean running = false;
void setup() {
// initialize the digital pins as output
pinMode(Mute, OUTPUT);
pinMode(Start, OUTPUT);
pinMode(Stopi, OUTPUT);
pinMode(Opening, OUTPUT);
pinMode(Light, OUTPUT);
Serial.begin(9600); // Start serial communication at 9600bps
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);
}
void loop() // run over and over again
{
if(Serial.available())
{
com = Serial.read();
if (com==0x13)
{ running = !running;
digitalWrite(Mute, running);
}
else if (com==0x15)
{ running = !running;
digitalWrite(Light, running);
}
else if (com==0x14)
{ digitalWrite(Opening, HIGH);
delay(1000);
digitalWrite(Opening, LOW);
}
else if (com==0x11)
{ digitalWrite(Start, HIGH);
delay(1000);
digitalWrite(Start, LOW);
}
else if (com==0x12)
{digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
}
}
}
пример
Mute (выключился звук)-Light (включился свет и снова включился звук)
Mute (выключился звук)-Light (выключился свет и снова включился звук)
Mute (выключился звук время что бы было не ограниченно )-Mute (включился звук)
Последний раз редактировалось Omigovolt; 08.12.2012 в 03:21.
Я не знаю как работает в твоем устройстве система команд и ответов на них
а в устройстве не надо нужно в скетче (ардуино будет контролировать) исходя из условий
ну как вы говорили реализать програмно Ардуино постоянно опрашивает а как только прозвучало слово триггер она ждет
следующей команды и исходя из того что за команда поступила делает те или иные действия![]()
Последний раз редактировалось Omigovolt; 08.12.2012 в 13:55.
Распиши за что отвечают эти командыSerial.write(0xAA);
Serial.write(0x37);
Serial.write(0xAA);
Serial.write(0x21);
вот мануал там в таблице написанно
Последний раз редактировалось Omigovolt; 08.12.2012 в 20:05.
Честно говоря нет желания изучать DS не имея под рукой такого же устройства.Так как понять что делает режим "compact mode" и т.д. мне сложно
после подключения я послал команду(АА 21)
и скомандовал 5 команд которые я записывал ранее
потом посылаю (АА 37) и еще раз скомандовал 5 команд для примера
5 квадратиков это то что приходило в ответ на мои команды соответственно по одному после каждой команды
всего она может записать 15 команд по 5 в группу всего получается 3 группы если бы у меня было еще 5 команд я бы
их записал в др группу и что бы плата начала откликаться на команды второй группы надо послать (АА 22)
Чип если есть вопросы задавайте я постараюсь на них ответить)))
Последний раз редактировалось Omigovolt; 11.12.2012 в 00:52.
Чип а нельзя сделать так что бы ардуино работало только в режиме приема и все за исключением подачи на него питания когда подается код
Serial.write(0xAA);
Serial.write(0x37);
Serial.write(0xAA);
Serial.write(0x21);
Ну так она и работает в режиме приема
void loop()
{
if(Serial.available())
{
//здесь читаем и сверяем
}
}
Последний раз редактировалось Chip; 12.12.2012 в 03:12.
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)