Project

General

Profile

Statistics
| Revision:

root / trunk / code / projects / linefollowing / main.c @ 1923

History | View | Annotate | Download (2.14 KB)

1 16 bcoltin
#include <dragonfly_lib.h>
2 1841 djacobs
#include <lineFollow.h>
3 16 bcoltin
4 1923 pdeo
/*
5
*  read_line 0 = Sensor 1
6
*  read_line 1 = Sensor 8
7
*  read_line 2 = Sensor 4
8
*  read_line 3 = Sensor 6
9
*  read_line 4 = Sensor 2
10
*  read_line 5 = Sensor 7
11
*  read_line 6 = Sensor 3
12
*  read_line 7 = Sensor 5
13
*/
14 1836 dgurjar
15 857 bcoltin
int main(void)
16
{
17 1419 jsexton
18 967 alevkoy
        /* initialize components, set wireless channel */
19 857 bcoltin
        dragonfly_init(ALL_ON);
20 1841 djacobs
        lineFollow_init();
21 1842 djacobs
        int barCode;
22 1841 djacobs
        while(1)
23 1842 djacobs
        {
24 1923 pdeo
                usb_puti(read_line(0));
25 1922 azirbel
                usb_putc('\t');
26 1923 pdeo
                usb_puti(read_line(4));
27
                usb_putc('\t');
28
                usb_puti(read_line(6));
29
                usb_putc('\t');
30
                usb_puti(read_line(2));
31
                usb_putc('\t');
32
                usb_puti(read_line(7));
33
                usb_putc('\t');
34
                usb_puti(read_line(3));
35
                usb_putc('\t');
36
                usb_puti(read_line(5));
37
                usb_putc('\t');
38
                usb_puti(read_line(1));
39
                usb_putc('\t');
40
                usb_putc(13);
41 1922 azirbel
42
        /*
43

44 1854 djacobs
                for(int q=0; q<500; q++)
45 1851 djacobs
                        barCode = lineFollow(200);
46 1854 djacobs
                while(mergeLeft());
47 1922 azirbel
                for(int q=0; q<1000; q++)lineFollow(200);
48 1854 djacobs

49
                continue;
50 1922 azirbel
                if(barCode==-25)while(turnRight());
51 1851 djacobs
                continue;
52 1845 dgurjar
                if(barCode != -2 && barCode != LINELOST)
53
                {
54
                        usb_puti(barCode);
55
                        usb_putc('\n');
56
                }
57 1922 azirbel
*/
58
59
60
61 1845 dgurjar
/*
62

63 1842 djacobs
                switch (barCode)
64 1845 dgurjar
                {
65

66

67
                        case 0: orb_set_color(RED); break;
68
                        case 1: orb_set_color(ORANGE); break;
69
                        case 2: orb_set_color(YELLOW); break;
70
                        case 3: orb_set_color(LIME); break;
71
                        case 4: orb_set_color(GREEN); break;
72
                        case 5: orb_set_color(CYAN); break;
73
                        case 6: orb_set_color(BLUE); break;
74
                        case 7: orb_set_color(PINK); break;
75
                        case 8: orb_set_color(PURPLE); break;
76
                        case 9: orb_set_color(MAGENTA); break;
77
                        default: orb_set_color(WHITE); break;
78

79 1842 djacobs
                        case 0:
80
                                straight();
81
                                turnRight();
82
                                break;
83
                        case 2:
84
                                straight();
85
                                break;
86
                        case 3:
87
                                straight();
88
                                turnLeft();
89
                                break;
90 1845 dgurjar

91 1842 djacobs
                }
92 1845 dgurjar
*/
93 1842 djacobs
        }
94 1836 dgurjar
        return 0;
95
}
96 1851 djacobs
void right()
97 1842 djacobs
{
98
motor_r_set(BACKWARD, 200);
99
motor_l_set(FORWARD, 200);
100
delay_ms(400);
101
}
102
103 1922 azirbel
104 1842 djacobs
void straight()
105
{
106
motor_r_set(FORWARD, 210);
107
motor_l_set(FORWARD, 210);
108
delay_ms(200);
109
move(0,0);
110
delay_ms(2000);
111
}
112
113 1851 djacobs
void left()
114 1842 djacobs
{
115
motor_l_set(BACKWARD, 200);
116
motor_r_set(FORWARD, 200);
117
delay_ms(400);
118
}