1、电机驱动模块采用 L9110。
2、代码。
const int IA = 7; // pin 7 connected to pin IA const int IB = 8; // pin 8 connected to pin IB byte speed = 255; // change this (0-255) to control the speed of the motor void setup() { pinMode(IA, OUTPUT); // set pins to output pinMode(IB, OUTPUT); Serial.begin(9600); } void loop() { int offsetX = 525; // 电位器中间值。 int x = analogRead(A0); bool isFoward = x <= offsetX; // Exp1 ? Exp2 : Exp3; // ? : 运算符(三元运算符)其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。 // ? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。 speed = x == offsetX ? 0 : (isFoward ? (255 - map(x, 0, offsetX, 0, 255)) : map(x, 0, 1024, 0, 255)); Serial.println(speed); isFoward ? forward() : backward(); } // 反转 void backward() { analogWrite(IA, 0); analogWrite(IB, speed); } // 正转 void forward() { analogWrite(IA, speed); analogWrite(IB, 0); }