Одинаковое управление тремя моторами

NazarovAlexandr
Offline
Зарегистрирован: 27.08.2014

Добрый день!

Упрощенно задача такая: есть 3 грядки, 3 датчика влажности почвы, 3 моторчика, подающих воду. Хотелось бы написать функцию, входным параметром, которой был бы номер грядки, а функция опрашивала бы датчик влажности (N) , и если сухо, включала бы мотор (N).

Да вот беда, моторы определяются строкой AF_DCMotor motor1(1, MOTOR12_64KHZ); AF_DCMotor motor2(2, MOTOR12_64KHZ); и т.д. а обращение к ним типа - motor1.run(FORWARD);

Как бы исхитриться, чтобы не повторять три раза совершенно одинаковый код, отличающийся только номером мотора?

 

maksim
Offline
Зарегистрирован: 12.02.2012
AF_DCMotor motor1(1, MOTOR12_64KHZ); 
AF_DCMotor motor2(2, MOTOR12_64KHZ);
AF_DCMotor motor3(3, MOTOR12_64KHZ);

AF_DCMotor motors[] = {motor1, motor2, motor3};

.....

   int i = 0;
   motors[i].run(FORWARD);