final ver

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE

Committer:
artinmay
Date:
Fri Apr 26 13:39:54 2019 +0000
Revision:
4:fd76d6731afb
Parent:
3:c80f73ca9874
final ver.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 1:40d2fd0b99e6 1 #include "mbed.h"
artinmay 4:fd76d6731afb 2 #include "rtos.h"
simon 1:40d2fd0b99e6 3 #include "Servo.h"
artinmay 2:91aa75cdc631 4 #include "uLCD_4DGL.h"
simon 1:40d2fd0b99e6 5
artinmay 4:fd76d6731afb 6 DigitalOut myled(LED1);
artinmay 2:91aa75cdc631 7 Servo myservobody(p21);
artinmay 2:91aa75cdc631 8 Servo myservopen(p22);
artinmay 2:91aa75cdc631 9 Servo myservohead(p23);
artinmay 2:91aa75cdc631 10 float min_move = 0.02;
artinmay 2:91aa75cdc631 11 int max_pixel = 50;
artinmay 4:fd76d6731afb 12 float min_wait = 0.02;
artinmay 4:fd76d6731afb 13 float pen_wait = 0.08;
artinmay 2:91aa75cdc631 14 float pen_down = 1;
artinmay 4:fd76d6731afb 15 float pen_up = 0.7;
artinmay 2:91aa75cdc631 16 uLCD_4DGL uLCD(p9,p10,p11);
artinmay 4:fd76d6731afb 17 int tlrow = 0;
artinmay 4:fd76d6731afb 18 int tlcol = 0;
artinmay 4:fd76d6731afb 19 int trow = 0;
artinmay 4:fd76d6731afb 20 int tcol = 0;
artinmay 4:fd76d6731afb 21 int temp1;
artinmay 4:fd76d6731afb 22 int temp2;
artinmay 4:fd76d6731afb 23 Thread thread;
artinmay 4:fd76d6731afb 24 char printData[50][50]= {
artinmay 4:fd76d6731afb 25 {
artinmay 4:fd76d6731afb 26 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 4:fd76d6731afb 27 }, {
artinmay 4:fd76d6731afb 28 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 4:fd76d6731afb 29 }, {
artinmay 4:fd76d6731afb 30 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 4:fd76d6731afb 31 }, {
artinmay 4:fd76d6731afb 32 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 4:fd76d6731afb 33 }, {
artinmay 4:fd76d6731afb 34 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 4:fd76d6731afb 35 }, {
artinmay 4:fd76d6731afb 36 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 4:fd76d6731afb 37 }, {
artinmay 4:fd76d6731afb 38 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 4:fd76d6731afb 39 }, {
artinmay 4:fd76d6731afb 40 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 4:fd76d6731afb 41 }, {
artinmay 4:fd76d6731afb 42 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 4:fd76d6731afb 43 }, {
artinmay 4:fd76d6731afb 44 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 4:fd76d6731afb 45 }, {
artinmay 4:fd76d6731afb 46 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 4:fd76d6731afb 47 }, {
artinmay 4:fd76d6731afb 48 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 4:fd76d6731afb 49 }, {
artinmay 4:fd76d6731afb 50 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 4:fd76d6731afb 51 }, {
artinmay 4:fd76d6731afb 52 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 4:fd76d6731afb 53 }, {
artinmay 4:fd76d6731afb 54 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 4:fd76d6731afb 55 }, {
artinmay 4:fd76d6731afb 56 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 4:fd76d6731afb 57 }, {
artinmay 4:fd76d6731afb 58 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 4:fd76d6731afb 59 }, {
artinmay 4:fd76d6731afb 60 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 4:fd76d6731afb 61 }, {
artinmay 4:fd76d6731afb 62 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 4:fd76d6731afb 63 }, {
artinmay 4:fd76d6731afb 64 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 4:fd76d6731afb 65 }, {
artinmay 4:fd76d6731afb 66 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 4:fd76d6731afb 67 }, {
artinmay 4:fd76d6731afb 68 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 4:fd76d6731afb 69 }, {
artinmay 4:fd76d6731afb 70 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 4:fd76d6731afb 71 }, {
artinmay 4:fd76d6731afb 72 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 4:fd76d6731afb 73 }, {
artinmay 4:fd76d6731afb 74 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 4:fd76d6731afb 75 }, {
artinmay 4:fd76d6731afb 76 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 4:fd76d6731afb 77 }, {
artinmay 4:fd76d6731afb 78 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 4:fd76d6731afb 79 }, {
artinmay 4:fd76d6731afb 80 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 4:fd76d6731afb 81 }, {
artinmay 4:fd76d6731afb 82 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 4:fd76d6731afb 83 }, {
artinmay 4:fd76d6731afb 84 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 4:fd76d6731afb 85 }, {
artinmay 4:fd76d6731afb 86 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 4:fd76d6731afb 87 }, {
artinmay 4:fd76d6731afb 88 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 4:fd76d6731afb 89 }, {
artinmay 4:fd76d6731afb 90 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 4:fd76d6731afb 91 }, {
artinmay 4:fd76d6731afb 92 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 4:fd76d6731afb 93 }, {
artinmay 4:fd76d6731afb 94 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 4:fd76d6731afb 95 }, {
artinmay 4:fd76d6731afb 96 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 4:fd76d6731afb 97 }, {
artinmay 4:fd76d6731afb 98 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 4:fd76d6731afb 99 }, {
artinmay 4:fd76d6731afb 100 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 101 }, {
artinmay 4:fd76d6731afb 102 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 103 }, {
artinmay 4:fd76d6731afb 104 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 105 }, {
artinmay 4:fd76d6731afb 106 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 107 }, {
artinmay 4:fd76d6731afb 108 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 109 }, {
artinmay 4:fd76d6731afb 110 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 111 }, {
artinmay 4:fd76d6731afb 112 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 113 }, {
artinmay 4:fd76d6731afb 114 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 115 }, {
artinmay 4:fd76d6731afb 116 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 117 }, {
artinmay 4:fd76d6731afb 118 0,0,0,0,0,0,0,0,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 4:fd76d6731afb 119 }, {
artinmay 4:fd76d6731afb 120 0,0,0,0,0,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 4:fd76d6731afb 121 }, {
artinmay 4:fd76d6731afb 122 0,0,0,0,0,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 4:fd76d6731afb 123 }, {
artinmay 4:fd76d6731afb 124 0,0,0,0,0,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 4:fd76d6731afb 125 }
artinmay 4:fd76d6731afb 126 }
artinmay 2:91aa75cdc631 127 ;
artinmay 2:91aa75cdc631 128
artinmay 2:91aa75cdc631 129 int temp = 0;
simon 1:40d2fd0b99e6 130
artinmay 4:fd76d6731afb 131 void lcd()
artinmay 4:fd76d6731afb 132 {
artinmay 4:fd76d6731afb 133
artinmay 4:fd76d6731afb 134 uLCD.cls();
artinmay 4:fd76d6731afb 135 uLCD.printf("row:%d\ncol:%d",tlrow,tlcol);
artinmay 4:fd76d6731afb 136 uLCD.printf("\nsv1:%d\nsv2:%d",(int)(myservobody*100),(int)(myservohead*100));
artinmay 4:fd76d6731afb 137 }
artinmay 4:fd76d6731afb 138
artinmay 2:91aa75cdc631 139 int main()
artinmay 2:91aa75cdc631 140 {
artinmay 2:91aa75cdc631 141 uLCD.baudrate(3000000);
artinmay 2:91aa75cdc631 142 myservopen = pen_up;
artinmay 2:91aa75cdc631 143 myservohead = 0;
artinmay 2:91aa75cdc631 144 myservobody = 0;
artinmay 4:fd76d6731afb 145
artinmay 2:91aa75cdc631 146 for(float i=0; i<=1.0; i+= min_move) {
artinmay 2:91aa75cdc631 147 for(float j=0; j<=1.0; j+= min_move) {
artinmay 4:fd76d6731afb 148 tlrow = (int)(i/min_move);
artinmay 4:fd76d6731afb 149 tlcol = (int)(abs(j - 1.0)/min_move);
artinmay 4:fd76d6731afb 150 temp = printData[tlrow][tlcol];
artinmay 4:fd76d6731afb 151 if(temp == 1) {
artinmay 4:fd76d6731afb 152 thread.start(lcd);
artinmay 4:fd76d6731afb 153 if(myservobody>i) {
artinmay 4:fd76d6731afb 154 while(myservobody>i) {
artinmay 4:fd76d6731afb 155 myservobody = myservobody - min_move;
artinmay 4:fd76d6731afb 156 wait(min_wait);
artinmay 4:fd76d6731afb 157 }
artinmay 4:fd76d6731afb 158 } else {
artinmay 4:fd76d6731afb 159 while(myservobody<i) {
artinmay 4:fd76d6731afb 160 myservobody = myservobody + min_move;
artinmay 4:fd76d6731afb 161 wait(min_wait);
artinmay 4:fd76d6731afb 162 }
artinmay 2:91aa75cdc631 163 }
artinmay 4:fd76d6731afb 164
artinmay 4:fd76d6731afb 165 if(myservohead>j) {
artinmay 4:fd76d6731afb 166 while(myservohead>j) {
artinmay 4:fd76d6731afb 167 myservohead = myservohead - min_move;
artinmay 4:fd76d6731afb 168 wait(min_wait);
artinmay 4:fd76d6731afb 169 }
artinmay 4:fd76d6731afb 170 } else {
artinmay 4:fd76d6731afb 171 while(myservohead<j) {
artinmay 4:fd76d6731afb 172 myservohead = myservohead + min_move;
artinmay 4:fd76d6731afb 173 wait(min_wait);
artinmay 4:fd76d6731afb 174 }
artinmay 4:fd76d6731afb 175 }
artinmay 4:fd76d6731afb 176 myservohead = j;
artinmay 4:fd76d6731afb 177 myservobody = i;
artinmay 4:fd76d6731afb 178 myled = 1;
artinmay 2:91aa75cdc631 179 myservopen = pen_down;
artinmay 2:91aa75cdc631 180 wait(pen_wait);
artinmay 4:fd76d6731afb 181
artinmay 4:fd76d6731afb 182
artinmay 2:91aa75cdc631 183 myservopen = pen_up;
artinmay 2:91aa75cdc631 184 wait(pen_wait);
artinmay 4:fd76d6731afb 185 myled = 0;
artinmay 4:fd76d6731afb 186 tcol = tlcol;
artinmay 4:fd76d6731afb 187 trow = tlrow;
artinmay 2:91aa75cdc631 188 }
artinmay 2:91aa75cdc631 189 }
simon 1:40d2fd0b99e6 190 }
simon 1:40d2fd0b99e6 191 }
artinmay 4:fd76d6731afb 192