Может быть так
PHP код:
com = Serial.read();
if (com==0x13)
{
running = !running;
digitalWrite(Mute, running);
com = Serial.read();
if (com==0x15)
{
running = !running;
digitalWrite(Light, running);
}
}
Может быть так
PHP код:
com = Serial.read();
if (com==0x13)
{
running = !running;
digitalWrite(Mute, running);
com = Serial.read();
if (com==0x15)
{
running = !running;
digitalWrite(Light, running);
}
}
нееет чип не то
Последний раз редактировалось Omigovolt; 18.12.2012 в 02:11.
Я только лишь переделал твой код
Omigovolt, имхо, не очевидно что на входе, и что должно получиться. триггер-байт 0x13 в каждой посылке приходит? как она выглядит? 2 байта, первый - 0x13, второй команда? и надо чтобы команда выполнялась при условии, что первый байт 0x13? так? если так, то:
PHP код:
if (Serial.available() > 1)
{
a = Serial.read();
com = Serial.read();
if(a==0x13)
{
running = ~running;
digitalWrite(Mute, running);
switch(com)
{
case 0x15:
running = ~running;
digitalWrite(Light, running);
break;
//case ?: здесь видимо другие команды
//break;
}
}
}
Последний раз редактировалось manu_245; 18.12.2012 в 04:06.
да вы меня правильно понимаете только при проверке вот что выдает
Вот весь скетч
забыл в конце еще одна фигурная скобка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() > 1)
{
a = Serial.read();
com = Serial.read();
if(a==0x13)
{
running = ~running;
digitalWrite(Mute, running);
switch(com)
{
case 0x15:
running = ~running;
digitalWrite(Light, running);
break;
}
}
}
Последний раз редактировалось Omigovolt; 18.12.2012 в 13:02.
Переменная "а" не объявлена, допиши в начале
byte a = 0;
есть заливаю))))
Воообще перестала реагировать на мои команды ((((((((
попробовал перезалил но что то так туго реагиркет короче я теперь видюхи буду выкидывать
вот я сам с такой платой играюсь. И пока не получилось реализовать триггер.
Были мысли такого плана :
PHP код:
void golos()
{
Serial.listen();
while (serial.available() > 0) {
byte com = Serial.read();
int a =0
switch (com);
{
if (a=0) {
case 0x11:
// какое-то действие
a = 1;
break;
}
{
case 0x12:
// какое-то действие
a = 0;
break;
case 0x13:
// какое-то действие
a = 0;
break;
case 0x14:
// какое-то действие
a = 0;
break;
case 0x14:
// какое-то действие
a = 0;
break;
}
}
}
Последний раз редактировалось filinmd; 18.12.2012 в 14:34.
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)