#include //motor control #define ena 9 #define in1 8 #define in2 7 //rudder control Servo rudder; int pos=0; void setup() { Serial.begin(9600); rudder.attach(6); pinMode (ena,OUTPUT); pinMode (in1,OUTPUT); pinMode (in2,OUTPUT); delay(2000); } void loop() { moveboat(); turnboatleft(); turnboatright(); stopboat(); delay(1000); } void turnboatleft() { for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree rudder.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } } void turnboatright() { for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees rudder.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } } void moveboat() { Serial.println("MOVE BOAT"); digitalWrite(in1,LOW); digitalWrite(in2,HIGH); analogWrite(ena,60); } stopboat() { Serial.println("POWER OFF"); digitalWrite(in1,LOW); digitalWrite(in2,LOW); }