final ver
Dependencies: mbed Servo mbed-rtos 4DGL-uLCD-SE
main.cpp@2:91aa75cdc631, 2019-04-25 (annotated)
- Committer:
- artinmay
- Date:
- Thu Apr 25 01:26:32 2019 +0000
- Revision:
- 2:91aa75cdc631
- Parent:
- 1:40d2fd0b99e6
- Child:
- 3:c80f73ca9874
stable ver.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 1:40d2fd0b99e6 | 1 | #include "mbed.h" |
simon | 1:40d2fd0b99e6 | 2 | #include "Servo.h" |
artinmay | 2:91aa75cdc631 | 3 | #include "uLCD_4DGL.h" |
simon | 1:40d2fd0b99e6 | 4 | |
artinmay | 2:91aa75cdc631 | 5 | Servo myservobody(p21); |
artinmay | 2:91aa75cdc631 | 6 | Servo myservopen(p22); |
artinmay | 2:91aa75cdc631 | 7 | Servo myservohead(p23); |
artinmay | 2:91aa75cdc631 | 8 | float min_move = 0.02; |
artinmay | 2:91aa75cdc631 | 9 | int max_pixel = 50; |
artinmay | 2:91aa75cdc631 | 10 | float min_wait = 0.04; |
artinmay | 2:91aa75cdc631 | 11 | float end_wait = 0.7; |
artinmay | 2:91aa75cdc631 | 12 | float pen_wait = 0.1; |
artinmay | 2:91aa75cdc631 | 13 | float pen_down = 1; |
artinmay | 2:91aa75cdc631 | 14 | float pen_up = 0.7; |
artinmay | 2:91aa75cdc631 | 15 | uLCD_4DGL uLCD(p9,p10,p11); |
artinmay | 2:91aa75cdc631 | 16 | char printData[50][50]= |
artinmay | 2:91aa75cdc631 | 17 | |
artinmay | 2:91aa75cdc631 | 18 | {{ |
artinmay | 2:91aa75cdc631 | 19 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 20 | 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 21 | 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 22 | 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 23 | 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 24 | 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 25 | 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 26 | 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 27 | 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 28 | 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 29 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 30 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 31 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 32 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 33 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 34 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 35 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 36 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 37 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 38 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 39 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 40 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 41 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 42 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 43 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 44 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 45 | 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0},{ |
artinmay | 2:91aa75cdc631 | 46 | 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 47 | 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 48 | 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 49 | 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 50 | 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 51 | 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 52 | 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 53 | 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 54 | 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 55 | 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 56 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 57 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 58 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 59 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 60 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 61 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 62 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 63 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 64 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 65 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 66 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 67 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},{ |
artinmay | 2:91aa75cdc631 | 68 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0}} |
artinmay | 2:91aa75cdc631 | 69 | ; |
artinmay | 2:91aa75cdc631 | 70 | |
artinmay | 2:91aa75cdc631 | 71 | int temp = 0; |
simon | 1:40d2fd0b99e6 | 72 | |
artinmay | 2:91aa75cdc631 | 73 | int main() |
artinmay | 2:91aa75cdc631 | 74 | { |
artinmay | 2:91aa75cdc631 | 75 | uLCD.baudrate(3000000); |
artinmay | 2:91aa75cdc631 | 76 | while(myservobody> 0 ||myservohead > 0){ |
artinmay | 2:91aa75cdc631 | 77 | myservobody = myservobody - min_move; |
artinmay | 2:91aa75cdc631 | 78 | myservohead = myservohead - min_move; |
artinmay | 2:91aa75cdc631 | 79 | } |
artinmay | 2:91aa75cdc631 | 80 | myservopen = pen_up; |
artinmay | 2:91aa75cdc631 | 81 | myservohead = 0; |
artinmay | 2:91aa75cdc631 | 82 | myservobody = 0; |
artinmay | 2:91aa75cdc631 | 83 | |
artinmay | 2:91aa75cdc631 | 84 | /* |
artinmay | 2:91aa75cdc631 | 85 | for(int i=0; i<max_pixel; i++) { |
artinmay | 2:91aa75cdc631 | 86 | for(int j=0; j<max_pixel; j++) { |
artinmay | 2:91aa75cdc631 | 87 | printData[i][j] = 0; |
artinmay | 2:91aa75cdc631 | 88 | } |
artinmay | 2:91aa75cdc631 | 89 | } |
artinmay | 2:91aa75cdc631 | 90 | |
artinmay | 2:91aa75cdc631 | 91 | for(int i=0; i<max_pixel; i++){ |
artinmay | 2:91aa75cdc631 | 92 | printData[i][0] = 1; |
artinmay | 2:91aa75cdc631 | 93 | printData[i][max_pixel-1] = 1; |
artinmay | 2:91aa75cdc631 | 94 | for(int j=0; j<max_pixel; j++) { |
artinmay | 2:91aa75cdc631 | 95 | printData[0][j] = 1; |
artinmay | 2:91aa75cdc631 | 96 | printData[max_pixel-1][j] = 1; |
artinmay | 2:91aa75cdc631 | 97 | } |
artinmay | 2:91aa75cdc631 | 98 | } |
artinmay | 2:91aa75cdc631 | 99 | */ |
artinmay | 2:91aa75cdc631 | 100 | |
artinmay | 2:91aa75cdc631 | 101 | /* |
artinmay | 2:91aa75cdc631 | 102 | code for random dots |
artinmay | 2:91aa75cdc631 | 103 | for(int i=0; i<max_pixel; i++) { |
artinmay | 2:91aa75cdc631 | 104 | for(int j=0; j<max_pixel; j++) { |
artinmay | 2:91aa75cdc631 | 105 | printData[i][j] = rand() % 2; |
artinmay | 2:91aa75cdc631 | 106 | } |
artinmay | 2:91aa75cdc631 | 107 | } |
artinmay | 2:91aa75cdc631 | 108 | */ |
artinmay | 2:91aa75cdc631 | 109 | /* |
artinmay | 2:91aa75cdc631 | 110 | while(myservobody>0 || myservopen>0 || myservohead>0){ |
artinmay | 2:91aa75cdc631 | 111 | if(myservobody>0) |
artinmay | 2:91aa75cdc631 | 112 | myservobody = myservobody - min_move; |
artinmay | 2:91aa75cdc631 | 113 | if(myservopen>0) |
artinmay | 2:91aa75cdc631 | 114 | myservopen = myservopen - min_move; |
artinmay | 2:91aa75cdc631 | 115 | if(myservohead>0) |
artinmay | 2:91aa75cdc631 | 116 | myservohead = myservohead - min_move; |
artinmay | 2:91aa75cdc631 | 117 | wait(min_wait); |
artinmay | 2:91aa75cdc631 | 118 | } |
artinmay | 2:91aa75cdc631 | 119 | */ |
artinmay | 2:91aa75cdc631 | 120 | |
artinmay | 2:91aa75cdc631 | 121 | for(float i=0; i<=1.0; i+= min_move) { |
artinmay | 2:91aa75cdc631 | 122 | for(float j=0; j<=1.0; j+= min_move) { |
artinmay | 2:91aa75cdc631 | 123 | if(j==0){ |
artinmay | 2:91aa75cdc631 | 124 | while(myservohead > j){ |
artinmay | 2:91aa75cdc631 | 125 | myservohead = myservohead - min_move; |
artinmay | 2:91aa75cdc631 | 126 | wait(min_wait); |
artinmay | 2:91aa75cdc631 | 127 | } |
artinmay | 2:91aa75cdc631 | 128 | } |
artinmay | 2:91aa75cdc631 | 129 | myservobody = i; |
artinmay | 2:91aa75cdc631 | 130 | myservohead = j; |
artinmay | 2:91aa75cdc631 | 131 | uLCD.cls(); |
artinmay | 2:91aa75cdc631 | 132 | uLCD.printf("row:%d\ncol:%d",(int)(i/min_move),(int)(j/min_move)); |
artinmay | 2:91aa75cdc631 | 133 | wait(min_wait); |
artinmay | 2:91aa75cdc631 | 134 | temp = printData[(int)(i/min_move)][(int)(abs(j - 1.0)/min_move)]; |
artinmay | 2:91aa75cdc631 | 135 | if(temp == 1){ |
artinmay | 2:91aa75cdc631 | 136 | myservopen = pen_down; |
artinmay | 2:91aa75cdc631 | 137 | wait(pen_wait); |
artinmay | 2:91aa75cdc631 | 138 | myservopen = pen_up; |
artinmay | 2:91aa75cdc631 | 139 | wait(pen_wait); |
artinmay | 2:91aa75cdc631 | 140 | } |
artinmay | 2:91aa75cdc631 | 141 | } |
simon | 1:40d2fd0b99e6 | 142 | } |
simon | 1:40d2fd0b99e6 | 143 | } |