2016-01-29 6 views
-5

Я строю лазер, который должен управляться джойстиком. Джойстик использует 2 сервомотора для перемещения лазера в нужном направлении. Я использую плату arduino, которая использует C++-кодирование.Ошибка «Слишком много аргументов»

Я получаю ошибку «слишком много аргументов» на моих выходах.

#include <Servo.h> 

const int servo1 = 11;  // first servo 
const int servo2 = 10;  // second servo 
const int joy1 = 5;  // switch 1 
const int joy2 = 4;  // switch 2 
const int joy3 = 3;  // switch 3 
const int joy4 = 2;  // switch 4 

int servoVal;   // variable to read the value from the digital pin 

Servo myservo1; // create servo object to control a servo 
Servo myservo2; // create servo object to control a servo 



void setup() { 

    // Servo 
    myservo1.attach(servo1); // attaches the servo 
    myservo2.attach(servo2); // attaches the servo 

    // Inizialize Serial 
    Serial.begin(9600); 
} 


void loop(){ 

    // Display Joystick values using the serial monitor 
    outputJoystick(); 

    // Read the horizontal joystick value (value between 0 and 180) 
    servoVal = digitalRead(joy1, joy2, joy3, joy4);   
    servoVal = map(servoVal, 0, 45, 135, 180);  // scale it to use it with the servo (result between 0 and 180) 

    myservo2.write(servoVal);       // sets the servo position according to the scaled value  

    // Read the horizontal joystick value (value between 0 and 180) 
    servoVal = digitalRead(joy1, joy2, joy3, joy4);   
    servoVal = map(servoVal, 0, 45, 135, 180);  // scale it to use it with the servo (result between 0 and 180) 

    myservo1.write(servoVal);       // sets the servo position according to the scaled value 

    delay(15);          // waits for the servo to get there 

} 


/** 
* Display joystick values 
*/ 
void outputJoystick(){ 

    Serial.print(digitalRead(joy1, joy2, joy3, joy4)); 
    Serial.print ("---"); 
    Serial.print(digitalRead(joy1, joy2, joy3, joy4)); 
    Serial.println ("----------------"); 
} 
+0

Разве это не говорит вам, с каким кодом связана ошибка? – ChiefTwoPencils

+0

Как вы сказали, вы используете Arduino. Это не (чистый) C++ и, конечно, не C. Так зачем добавлять тег C (только)? – Olaf

+0

как я сказал, я не знаю много о программном обеспечении. im the hardware guy –

ответ

1

Будет ли джойстик фактически давать цифровое значение или должен быть аналоговым? Также я уверен, что вы можете пробовать только один элемент за раз с помощью digitalRead.

+0

его цифровой джойстик –

+1

, так что мне нужно сделать 4 отдельных разделителя для каждого цифрового прохода –

+1

Да, 'digitalRead' читает один и только один из ваших цифровых входов –

Смежные вопросы