Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / object_manipulation / obj_detect_swarm / main.c.test @ 1390

History | View | Annotate | Download (1.96 KB)

1 746 bneuman
#include <dragonfly_lib.h>
2
3
4
//A6
5
#define RED_LED PIN_ADC4
6
//A8
7
#define GREEN_LED PIN_ADC5
8
//A7
9
#define BLUE_LED PIN_ADC6
10
11
int main(void) {
12
	dragonfly_init(ALL_ON);
13
	//range_init();
14
15
	int rgb[3] = {0,0,0};
16
17
	long int distance_red;
18
	long int distance_green;
19
	long int distance_blue;
20
21
	int blue[3] = {255,245,249};
22
	int red[3] = {190,122,126};
23
	int green[3] = {118, 80, 86};
24
25
26
	//Turn each pin on in sequential order
27
28
	analog_init(ADC_START);
29
30
	while(1)
31
	{
32
		digital_output(BLUE_LED, 1);
33
34
		delay_ms(1);
35
		analog_stop_loop();
36
		rgb[2] = analog8(AN9);
37
		analog_start_loop();
38
39
		digital_output(BLUE_LED,0);
40
		digital_output(RED_LED, 1);
41
		delay_ms(1);
42
43
		analog_stop_loop();
44
		rgb[0] = analog8(AN9);
45
		analog_start_loop();
46
47
		digital_output(RED_LED, 0);
48
		digital_output(GREEN_LED,1);
49
		delay_ms(1);
50
51
		analog_stop_loop();
52
		rgb[1] = analog8(AN9);
53
		analog_start_loop();
54
55
		digital_output(GREEN_LED,0);
56
57
		distance_red = 1;
58
		distance_green = rgb[1] - rgb[0];
59
		distance_blue = rgb[2] - rgb[0];
60
61
		distance_blue = distance_blue * rgb[0]/255;
62
		distance_green = distance_green * rgb[0]/255;
63
64
		usb_puti(distance_red);
65
		usb_puts("\t");
66
		usb_puti(distance_green;
67
		usb_puts("\t");
68
		usb_puti(distance_blue);
69
		usb_puts("\n");
70
71
		/*
72
		distance_red = 0;
73
		distance_green = 0;
74
		distance_blue = 0;
75
		{
76
77
			for(int i = 0; i < 3; i++)
78
			{
79
				distance_red += (red[i]-rgb[i])*(red[i]-rgb[i]);
80
				distance_green += (green[i]-rgb[i])*(green[i]-rgb[i]);
81
				distance_blue += (blue[i]-rgb[i])*(blue[i]-rgb[i]);
82
			}
83
			if(distance_red < distance_blue)
84
			{
85
				if(distance_red < distance_green)
86
				{
87
					usb_puti(distance_red);
88
					usb_puts(" BROWN\n");
89
				}
90
				else
91
				{
92
					usb_puti(distance_green);
93
					usb_puts(" GREEN\n");
94
				}
95
			}
96
			else
97
			{
98
				if(distance_blue < distance_green)
99
				{
100
					usb_puti(distance_blue);
101
						usb_puts(" ORANGE\n");
102
				}
103
				else
104
				{
105
					usb_puti(distance_green);
106
					usb_puts(" GREEN\n");
107
				}
108
			}
109
		}
110
		*/
111
112
		delay_ms(50);
113
	}
114
}