Вот код. В чем причина ошибки? #include<MeetAndroid.h> const int EnablePin1 = 3; const int EnablePin2 = 6; const int Motor_1_A = 2; const int Motor_1_B = 4; const int Motor_2_A = 5; const int Motor_2_B = 7; float data[3] = {0}; int intdata[3] = {0}; int i = 1; MeetAndroid meetAndroid(error); void error(uint8_t flag, uint8_t values) { Serial.print("ERROR: "); Serial.print(flag); } void setup() { Serial.begin(9600); Serial.println("\t\t\t.----------------------."); Serial.println("\t\t\t| Starting Up.. |"); Serial.println("\t\t\t'----------------------'"); pinMode(EnablePin1, OUTPUT); pinMode(EnablePin2, OUTPUT); pinMode(Motor_1_A, OUTPUT); pinMode(Motor_1_B, OUTPUT); pinMode(Motor_2_A, OUTPUT); pinMode(Motor_2_B, OUTPUT); delay(1000); meetAndroid.registerFunction(floatValues, 'A'); } void loop() { meetAndroid.receive(); } void floatValues(byte flag, byte numOfValues) { meetAndroid.getFloatValues(data); for (int i=0; i<3;i++) { meetAndroid.send(data); } if (-10<=data[0]<=10) // This is for Forward/Reverse { intdata[0] = int(data[0]); intdata[0] = intdata[0] * 24; if (data[0] <= -2) { intdata[0] = abs(intdata[0]); digitalWrite(Motor_1_A, HIGH); digitalWrite(Motor_2_A, HIGH); digitalWrite(Motor_1_B, LOW); digitalWrite(Motor_2_B, LOW); analogWrite(EnablePin1, intdata[0]); analogWrite(EnablePin2, intdata[0]); } else if (data[0] >= 2) { digitalWrite(Motor_1_A, LOW); digitalWrite(Motor_2_A, LOW); digitalWrite(Motor_1_B, HIGH); digitalWrite(Motor_2_B, HIGH); analogWrite(EnablePin1, intdata[0]); analogWrite(EnablePin2, intdata[0]); } else if (-1<=data[0]<=1) { digitalWrite(Motor_1_A, LOW); digitalWrite(Motor_2_A, LOW); digitalWrite(Motor_1_B, LOW); digitalWrite(Motor_2_B, LOW); digitalWrite(EnablePin1, LOW); digitalWrite(EnablePin2, LOW); } } if (-10<=data[1]<=10) // This is for Turn Left/Turn Right { if (data[1] <= -2) { digitalWrite(Motor_1_A, HIGH); digitalWrite(Motor_2_B, HIGH); digitalWrite(Motor_1_B, LOW); digitalWrite(Motor_2_A, LOW); analogWrite(EnablePin1, intdata[0]); analogWrite(EnablePin2, intdata[0]); } else if (data[1] >= 2) { digitalWrite(Motor_1_A, LOW); digitalWrite(Motor_2_B, LOW); digitalWrite(Motor_1_B, HIGH); digitalWrite(Motor_2_A, HIGH); analogWrite(EnablePin1, intdata[0]); analogWrite(EnablePin2, intdata[0]); } else if (-1<=data[1]<=1) { digitalWrite(Motor_1_A, LOW); digitalWrite(Motor_2_A, LOW); digitalWrite(Motor_1_B, LOW); digitalWrite(Motor_2_B, LOW); digitalWrite(EnablePin1, LOW); digitalWrite(EnablePin2, LOW); } } } Сообщение о ошибке: Arduino: 1.6.5 (Windows 7), Плата"Arduino Uno" Изменена опция сборки, пересобираем все In file included from sketch_jun27a.ino.ino.ino:1:0: C:\Users\Серафим\Desktop\arduino-1.6.5-r2\libraries\MeetAndroid/MeetAndroid.h:104:7: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)' void write(uint8_t); ^ In file included from C:\Users\Серафим\Desktop\arduino-1.6.5-r2\libraries\MeetAndroid/MeetAndroid.h:43:0, from sketch_jun27a.ino.ino.ino:1: C:\Users\Серафим\Desktop\arduino-1.6.5-r2\hardware\arduino\avr\cores\arduino/Print.h:48:20: error: overriding 'virtual size_t Print::write(uint8_t)' virtual size_t write(uint8_t) = 0; ^ Ошибка компиляции. Это сообщение будет содержать больше информации чем "Отображать вывод во время компиляции" включено в Файл > Настройки
Похоже, проблема в библиотеке. Возможно, вопрос можно решить переходом на более старую версию Arduino IDE. Сдается мне, суть проблемы в том, что MeetAndroid наследует от Print, но при переопределении метода изменили возвращаемый тип, что компилятору и не понравилось.