Цитата Сообщение от Beard Посмотреть сообщение
вот так не компилируется,выдает ошибку.
И не будет. Изучите хоть поверхностно основы работы с ардуино http://arduino.ru/Reference/Setup и http://arduino.ru/Reference/Loop
Так попробуйте:
Код:
#define PIN 5 //номер аналогового порта
#define LIMIT 6 //предел погрешности сопротивления


byte bytes[2];
int res_dt1;
unsigned long math_time,old_time,real_time;
void setup()
{
pinMode(10,OUTPUT); 
pinMode(11,OUTPUT); 
pinMode(12,OUTPUT); 
pinMode(13,OUTPUT);



Serial.begin(115200); // настроить скорость com порта

// выходы управления реле 
for (int i=2; i < 10; i++) 
{ 
pinMode(i,OUTPUT); 
digitalWrite(i, LOW); 
} 
}

void loop() 
{
relay(); // цикл void relay()

old_time = real_time;
math_time = 0;
res_dt1 = analogRead(PIN); // прочитать данные АЦП
while(math_time < 300 && (analogRead(PIN)>res_dt1-LIMIT && analogRead(PIN) < res_dt1+LIMIT ))
{
real_time = millis(); //получить реальное время
math_time = real_time - old_time; //считаем длительность паузы
}

if( math_time > 80 ) //если нет дребезга
{

if (res_dt1>675 && res_dt1<685) digitalWrite(10,LOW );
delay(30);
digitalWrite(10, HIGH);

if (res_dt1>105 && res_dt1<115) digitalWrite(11,LOW );
delay(30);
digitalWrite(11, HIGH);

if (res_dt1>25 && res_dt1<35) digitalWrite(12,LOW );
delay(30);
digitalWrite(12, HIGH);

if (res_dt1>410 && res_dt1<415) digitalWrite(13,LOW );
delay(30);
digitalWrite(13, HIGH);



bytes[0] = res_dt1 & 255; // преобразовать в 2-байта
bytes[1] = (res_dt1 & 768) >> 8;
Serial.write( bytes,2); // отправить прочитаное значение компьютеру
}
} 
 

void relay() 
{ 
byte a, b, c; 
if (Serial.available() > 2) // ждем данные от плагина 
{ 
a = Serial.read(); 
b = Serial.read(); 
c = Serial.read(); 
if(a == 0xFF) //если данные от плагина, то выполим команду
{ 
digitalWrite(b+1, (c==0x01) ? HIGH : LOW); //выполнить
} 
} 
}