summaryrefslogtreecommitdiff
path: root/trunk/darwin/electronics/Arduino-Sanguino/dc-motor-driver/exerciser/dc_motor_driver/dc_motor_driver.pde
blob: 40b42e408f9c53225934474ca10584dad642c159 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
int dir_pin_a = 4;
int speed_pin_a = 5;
int dir_pin_b = 6;
int speed_pin_b = 7;

int i;

void setup()
{
	pinMode(dir_pin_a, OUTPUT);
	pinMode(speed_pin_a, OUTPUT);
	pinMode(dir_pin_b, OUTPUT);
	pinMode(speed_pin_b, OUTPUT);
	
	Serial.begin(9600);

	//make the motors rotate in opposite directions so show that they're working independantly.
	digitalWrite(dir_pin_a, HIGH);
	digitalWrite(dir_pin_b, LOW);
}

void loop()
{
	Serial.println("Speeding motors up to max.");
	
	for (i=0; i<=255; i++)
	{
		analogWrite(speed_pin_a, i);
		analogWrite(speed_pin_b, i);
		
		delay(100);
	}

        Serial.println("Motors at max.");
        delay(1000);
	Serial.println("Slowing down to 0;");

	for (i=255; i>=0; i--)
	{
		analogWrite(speed_pin_a, i);
		analogWrite(speed_pin_b, i);
		
		delay(100);
	}

	Serial.println("Motors stopped.");
        delay(1000);
        Serial.println("Switching directions.");

	digitalWrite(dir_pin_a, !digitalRead(dir_pin_a));
	digitalWrite(dir_pin_b, !digitalRead(dir_pin_b));
}