1
- const int SIG_A = 8 ;
2
- const int SIG_B = 9 ;
1
+ #include < Servo.h>
3
2
4
- const int IN1 = 10 ;
5
- const int IN2 = 11 ;
3
+ const int STICK_PIN = A0;
4
+ const int VICTOR_PIN = 9 ;
5
+
6
+ Servo victor;
6
7
7
8
void setup (){
8
- pinMode (SIG_A, OUTPUT);
9
- pinMode (SIG_B, OUTPUT);
10
-
11
- pinMode (IN1, INPUT);
12
- pinMode (IN2, INPUT);
13
-
9
+ victor.attach (VICTOR_PIN);
14
10
Serial.begin (9600 );
15
11
}
16
12
17
13
void loop (){
18
- // if (digitalRead(IN1)){
19
- // digitalWrite(SIG_A, HIGH);
20
- // digitalWrite(SIG_B, LOW);
21
- // } else if (digitalRead(IN2)){
22
- // digitalWrite(SIG_B, HIGH);
23
- // digitalWrite(SIG_A, LOW);
24
- // } else {
25
- // digitalWrite(SIG_A, LOW);
26
- // digitalWrite(SIG_B, LOW);
27
- // }
28
- //
29
- // Serial.print(digitalRead(IN1));
30
- // Serial.print(", ");
31
- // Serial.println(digitalRead(IN2));
32
- // delay(100);
33
- digitalWrite (SIG_A, HIGH);
34
- digitalWrite (SIG_B, LOW);
35
- delay (500 );
36
- digitalWrite (SIG_A, LOW);
37
- digitalWrite (SIG_B, LOW);
38
- delay (500 );
39
- digitalWrite (SIG_B, HIGH);
40
- digitalWrite (SIG_A, LOW);
41
- delay (500 );
42
- digitalWrite (SIG_A, LOW);
43
- digitalWrite (SIG_B, LOW);
44
- delay (500 );
14
+ // setMotor(getJoystick());
15
+ // delay(1);
16
+ setMotor (-0.35 );
17
+ delay (1000 );
18
+ setMotor (0 );
19
+ delay (100 );
20
+ setMotor (0.15 );
21
+ delay (900 );
22
+ setMotor (0 );
23
+ delay (100 );
24
+ }
25
+
26
+ void setMotor (float val){
27
+ val = constrain (val, -1.0 , 1.0 );
28
+ int us = (val * 500 ) + 1500 ;
29
+ victor.writeMicroseconds (us);
30
+ }
31
+
32
+ float getJoystick (){
33
+ int raw = analogRead (STICK_PIN);
34
+ float res = constrain ((raw - 511 ) / (-511.0 ), -1.0 , 1.0 );
35
+
36
+ float sign = 1.0 ;
37
+ if (res < 0 ){
38
+ sign = -1.0 ;
39
+ }
40
+
41
+ res = res * res * sign;
45
42
43
+ if (abs (res) < 0.05 ){
44
+ res = 0.0 ;
45
+ }
46
+ return res;
46
47
}
48
+
0 commit comments