Software for mapping with the Lidar lite v2, stepper motor, and stepper motor driver
Dependencies: DRV88255 LidarLitev2 MODSERIAL mbed
main.cpp@0:8327d88550ab, 2015-12-11 (annotated)
- Committer:
- sventura3
- Date:
- Fri Dec 11 15:51:05 2015 +0000
- Revision:
- 0:8327d88550ab
finished the mapping;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sventura3 | 0:8327d88550ab | 1 | #include "LidarLitev2.h" |
sventura3 | 0:8327d88550ab | 2 | #include "DRV8825.h" |
sventura3 | 0:8327d88550ab | 3 | #include "MODSERIAL.h" |
sventura3 | 0:8327d88550ab | 4 | #include "math.h" |
sventura3 | 0:8327d88550ab | 5 | |
sventura3 | 0:8327d88550ab | 6 | #define PI 3.14159265359 |
sventura3 | 0:8327d88550ab | 7 | |
sventura3 | 0:8327d88550ab | 8 | Serial pc(USBTX, USBRX); |
sventura3 | 0:8327d88550ab | 9 | |
sventura3 | 0:8327d88550ab | 10 | DRV8825 stpr_mtr(p21, p22, p23, p24, p25, p26); |
sventura3 | 0:8327d88550ab | 11 | DigitalIn pinMode(p19); |
sventura3 | 0:8327d88550ab | 12 | |
sventura3 | 0:8327d88550ab | 13 | LidarLitev2 Lidar(p28, p27); |
sventura3 | 0:8327d88550ab | 14 | |
sventura3 | 0:8327d88550ab | 15 | |
sventura3 | 0:8327d88550ab | 16 | int main() |
sventura3 | 0:8327d88550ab | 17 | { |
sventura3 | 0:8327d88550ab | 18 | stpr_mtr.direction = 1; |
sventura3 | 0:8327d88550ab | 19 | pc.baud(9600); |
sventura3 | 0:8327d88550ab | 20 | Lidar.configure(); |
sventura3 | 0:8327d88550ab | 21 | //Lidar.beginContinuous(); |
sventura3 | 0:8327d88550ab | 22 | float degree = 0, x, y; |
sventura3 | 0:8327d88550ab | 23 | int distance; |
sventura3 | 0:8327d88550ab | 24 | char e; |
sventura3 | 0:8327d88550ab | 25 | while(1){ |
sventura3 | 0:8327d88550ab | 26 | if(pc.readable()) { |
sventura3 | 0:8327d88550ab | 27 | e = pc.getc(); |
sventura3 | 0:8327d88550ab | 28 | } |
sventura3 | 0:8327d88550ab | 29 | while (e == 'e'){ |
sventura3 | 0:8327d88550ab | 30 | //if(!pinMode) { //Check if the lidar is pulling low |
sventura3 | 0:8327d88550ab | 31 | distance = Lidar.distance(); |
sventura3 | 0:8327d88550ab | 32 | x = distance*cos(degree*(PI/180)); |
sventura3 | 0:8327d88550ab | 33 | y = distance*sin(degree*(PI/180)); |
sventura3 | 0:8327d88550ab | 34 | stpr_mtr.settings(1, 0, 400); |
sventura3 | 0:8327d88550ab | 35 | degree += .45; |
sventura3 | 0:8327d88550ab | 36 | if(degree >= 360) degree = 0; |
sventura3 | 0:8327d88550ab | 37 | //pc.printf("%4d,%4.0f\n", distance, degree); |
sventura3 | 0:8327d88550ab | 38 | pc.printf("%4.0f,%4.0f\n", x, y); |
sventura3 | 0:8327d88550ab | 39 | //} |
sventura3 | 0:8327d88550ab | 40 | if(pc.readable()) { |
sventura3 | 0:8327d88550ab | 41 | e = pc.getc(); |
sventura3 | 0:8327d88550ab | 42 | } |
sventura3 | 0:8327d88550ab | 43 | if (e == 's') break; |
sventura3 | 0:8327d88550ab | 44 | } |
sventura3 | 0:8327d88550ab | 45 | } |
sventura3 | 0:8327d88550ab | 46 | } |