Выдаёт ошибку " Robot-Glazastick:23: error: expected unqualified-id before '.' token " При загрузке вот этого скетча #include <AFMotor.h> //подключаем библиотеку мотора #define Trig 13 //даём имя константе #define Echo 10 //даём имя константе #include <Servo.h> //подключаем библиотеку сервопривода AF_DCMotor motor2(2); //вводим имя левого моторо AF_DCMotor motor3(3); //вводим имя правого мотора int ugol = 90; int smotrim_vlevo; int smotrim_vpravo; int smotrim_priamo; int vremia; void setup () { Servo.attach(9); // Подключаем сервопривод к 9 пину Serial.begin(9600); // Устанавливаем скорость передачи данных в битах в секунду } void edemVpered() { motor2.run(FORWARD); //даём команду левому мотору ехать вперёд motor3.run(FORWARD); //даём команду правому мотору ехать вперёд motor2.setSpeed(255); //скорость с которой левый мотор будет ехать вперёд motor3.setSpeed(255); //скорость с которой правый мотор будет ехать вперёд } void edemNazad() { motor2.run(BACKWARD); //даём команду левому мотору ехать назад motor2.run(BACKWARD); //даём команду правому мотору ехать назад motor2.setSpeed(255); //скорость с которой левый мотор будет ехать назад motor3.setSpeed(255); //скорость с которой правый мотор будет ехать нахад } void edemVpravo() { motor2.run(FORWARD); // левый мотор едет вперёд motor2.setSpeed(255); // скорость левого мотора 255 } void edemVlevo() { motor3.run(FORWARD); // правый мотор едет вперёд motor3.setSpeed(255); // скорость правого мотора 255 } void stoim() { motor2.run(RELEASE); //левый мотор останавливается motor3.run(RELEASE); //правый мотор останавливается Serial.begin(9600); // Устанавливает скорость передачи данных в битах в секунду Serial.println("Motor"); //// Выводим на порт } void kak_meriat_sleva() { digitalWrite(Trig, HIGH); //Подаем значение HIGH на цифровой выход delayMicroseconds(10); //Приоставлеваем программу на заданное количество микросекунд digitalWrite(Trig, LOW);//Подаем значение LOW на цифровой выход vremia = pulseIn(Echo, HIGH); //Считываем длину сигнала на заданном порту smotrim_vlevo = vremia / 58; } void kak_meriat_priamo() { digitalWrite(Trig, HIGH); //Подаем значение HIGH на цифровой выход delayMicroseconds(10); //Приоставлеваем программу на заданное количество микросекунд digitalWrite(Trig, LOW);//Подаем значение LOW на цифровой выход vremia = pulseIn(Echo, HIGH); //Считываем длину сигнала на заданном порту smotrim_priamo = vremia / 58; Serial.println(smotrim_priamo); // Выводим на порт } void kak_meriat_sprava() { digitalWrite(Trig, HIGH); //Подаем значение HIGH на цифровой выход delayMicroseconds(10); //Приоставлеваем программу на заданное количество микросекунд digitalWrite(Trig, LOW); //Подаем значение LOW на цифровой выход vremia = pulseIn(Echo, HIGH); //Считываем длину сигнала на заданном порту smotrim_vpravo = vremia / 58; } void loop() { edemVpered(); kak_meriat_priamo(); if (smotrim_priamo < 30) { stoim(); delay(50); //задерживаем на 50 for (ugol = 90; ugol >= 10; ugol--) { Servo.write(ugol); //Записываем значение серво delay(10); //задерживаем на 10 } edemNazad(); delay(150); //задерживаем на 150 stoim(); kak_meriat_sprava(); delay(50); //задерживаем на 50 for (ugol = 10; ugol <= 170; ugol++) { Servo.write(ugol); //Записываем значение серво delay(10); //задерживаем на 10 } kak_meriat_sleva(); delay(50); //задерживаем на 50 for (ugol = 170; ugol >= 90; ugol--) { servo.write(ugol); //Записываем значение серво delay(10); //задерживаем на 10 } if (smotrim_vpravo > smotrim_vlevo) { edemVpravo(); delay(300); //задерживаем на 300 stoim(); } else { edemVlevo(); delay(300); //задерживаем на 300 stoim(); } } } В чём может быть проблема?
Забыли создать объект "Servo". Фрагмент примера с arduino.cc: Код (C++): #include <Servo.h> Servo myservo; // create servo object to control a servo void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } PS Вставляйте текст программы в тэг для кода (кнопка "<>")