Robotic Matrim

Dependencies:   PwmIn mbed C12832

Committer:
marcepedro
Date:
Fri Nov 30 14:22:49 2018 +0000
Revision:
0:04877eaa5047
First version - Matrim

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcepedro 0:04877eaa5047 1 #include "mbed.h"
marcepedro 0:04877eaa5047 2 #include "PwmIn.h"
marcepedro 0:04877eaa5047 3 #include "C12832.h"
marcepedro 0:04877eaa5047 4
marcepedro 0:04877eaa5047 5 DigitalOut myled(LED1);
marcepedro 0:04877eaa5047 6 DigitalOut myled2(LED2);
marcepedro 0:04877eaa5047 7 DigitalOut myled3(LED3);
marcepedro 0:04877eaa5047 8 DigitalOut myled4(LED4);
marcepedro 0:04877eaa5047 9
marcepedro 0:04877eaa5047 10 DigitalOut buzz(p18);
marcepedro 0:04877eaa5047 11
marcepedro 0:04877eaa5047 12 DigitalOut rele1(p23);
marcepedro 0:04877eaa5047 13 DigitalOut rele2(p24);
marcepedro 0:04877eaa5047 14 DigitalOut sobe(p21);
marcepedro 0:04877eaa5047 15 DigitalOut desce(p22);
marcepedro 0:04877eaa5047 16
marcepedro 0:04877eaa5047 17 C12832 lcd(p5, p7, p6, p8, p11);
marcepedro 0:04877eaa5047 18
marcepedro 0:04877eaa5047 19 PwmIn a(p15);//CH1
marcepedro 0:04877eaa5047 20 PwmIn b(p16); //CH2
marcepedro 0:04877eaa5047 21 PwmIn c(p17);//CH3
marcepedro 0:04877eaa5047 22 PwmIn d(p18);//CH4
marcepedro 0:04877eaa5047 23
marcepedro 0:04877eaa5047 24 float t, u, v, w;
marcepedro 0:04877eaa5047 25
marcepedro 0:04877eaa5047 26 int main() {
marcepedro 0:04877eaa5047 27 lcd.cls();
marcepedro 0:04877eaa5047 28 sobe = 1;
marcepedro 0:04877eaa5047 29 desce = 1;
marcepedro 0:04877eaa5047 30 rele1 = 1;
marcepedro 0:04877eaa5047 31 rele2 = 1;
marcepedro 0:04877eaa5047 32 buzz = 0;
marcepedro 0:04877eaa5047 33 while(1) {
marcepedro 0:04877eaa5047 34 lcd.cls();
marcepedro 0:04877eaa5047 35 t = (a.dutycycle()*100);
marcepedro 0:04877eaa5047 36 u = (b.dutycycle()*100);
marcepedro 0:04877eaa5047 37 v = (c.dutycycle()*100);
marcepedro 0:04877eaa5047 38 w = (d.dutycycle()*100);
marcepedro 0:04877eaa5047 39
marcepedro 0:04877eaa5047 40 // printf("a: pw = %f, period = %f\n", a.pulsewidth(), a.period());
marcepedro 0:04877eaa5047 41
marcepedro 0:04877eaa5047 42 if ((u<12)&(u>10)){
marcepedro 0:04877eaa5047 43 lcd.locate(25,0);
marcepedro 0:04877eaa5047 44 lcd.printf("u 0");
marcepedro 0:04877eaa5047 45 myled3 = 0;
marcepedro 0:04877eaa5047 46 myled4 = 0;
marcepedro 0:04877eaa5047 47 sobe = 1;
marcepedro 0:04877eaa5047 48 desce = 1;
marcepedro 0:04877eaa5047 49 }
marcepedro 0:04877eaa5047 50 if (u<10){
marcepedro 0:04877eaa5047 51 lcd.locate(25,0);
marcepedro 0:04877eaa5047 52 lcd.printf("u-1");
marcepedro 0:04877eaa5047 53 myled3 = 0;
marcepedro 0:04877eaa5047 54 myled4 = 1;
marcepedro 0:04877eaa5047 55 desce = 0;
marcepedro 0:04877eaa5047 56 sobe = 1;
marcepedro 0:04877eaa5047 57 }
marcepedro 0:04877eaa5047 58 if (u>12){
marcepedro 0:04877eaa5047 59 lcd.locate(25,0);
marcepedro 0:04877eaa5047 60 lcd.printf("u+1");
marcepedro 0:04877eaa5047 61 myled3 = 1;
marcepedro 0:04877eaa5047 62 myled4 = 0;
marcepedro 0:04877eaa5047 63 sobe = 0;
marcepedro 0:04877eaa5047 64 desce = 1;
marcepedro 0:04877eaa5047 65 }
marcepedro 0:04877eaa5047 66
marcepedro 0:04877eaa5047 67 if ((v<12)&(v>10)){
marcepedro 0:04877eaa5047 68 lcd.locate(0,0);
marcepedro 0:04877eaa5047 69 lcd.printf("v 0");
marcepedro 0:04877eaa5047 70 myled = 0;
marcepedro 0:04877eaa5047 71 myled2 = 0;
marcepedro 0:04877eaa5047 72 rele1 = 1;
marcepedro 0:04877eaa5047 73 rele2 = 1;
marcepedro 0:04877eaa5047 74 }
marcepedro 0:04877eaa5047 75 if (v<10){
marcepedro 0:04877eaa5047 76 lcd.locate(0,0);
marcepedro 0:04877eaa5047 77 lcd.printf("v-1");
marcepedro 0:04877eaa5047 78 myled = 1;
marcepedro 0:04877eaa5047 79 myled2 = 1;
marcepedro 0:04877eaa5047 80 rele2 = 0;
marcepedro 0:04877eaa5047 81 rele1 = 0;
marcepedro 0:04877eaa5047 82 }
marcepedro 0:04877eaa5047 83 if (v>12){
marcepedro 0:04877eaa5047 84 lcd.locate(0,0);
marcepedro 0:04877eaa5047 85 lcd.printf("v+1");
marcepedro 0:04877eaa5047 86 myled = 1;
marcepedro 0:04877eaa5047 87 myled2 = 0;
marcepedro 0:04877eaa5047 88 rele1 = 0;
marcepedro 0:04877eaa5047 89 rele2 = 1;
marcepedro 0:04877eaa5047 90 }
marcepedro 0:04877eaa5047 91
marcepedro 0:04877eaa5047 92
marcepedro 0:04877eaa5047 93
marcepedro 0:04877eaa5047 94
marcepedro 0:04877eaa5047 95
marcepedro 0:04877eaa5047 96
marcepedro 0:04877eaa5047 97
marcepedro 0:04877eaa5047 98 if ((t<12)&(t>10)){
marcepedro 0:04877eaa5047 99 lcd.locate(25,10);
marcepedro 0:04877eaa5047 100 lcd.printf("t 0");
marcepedro 0:04877eaa5047 101 }
marcepedro 0:04877eaa5047 102 if (t<10){
marcepedro 0:04877eaa5047 103 lcd.locate(25,10);
marcepedro 0:04877eaa5047 104 lcd.printf("t-1");
marcepedro 0:04877eaa5047 105 }
marcepedro 0:04877eaa5047 106 if (t>12){
marcepedro 0:04877eaa5047 107 lcd.locate(25,10);
marcepedro 0:04877eaa5047 108 lcd.printf("t+1");
marcepedro 0:04877eaa5047 109 }
marcepedro 0:04877eaa5047 110
marcepedro 0:04877eaa5047 111
marcepedro 0:04877eaa5047 112
marcepedro 0:04877eaa5047 113 if (w>14){
marcepedro 0:04877eaa5047 114 lcd.locate(0,10);
marcepedro 0:04877eaa5047 115 lcd.printf("w+1");
marcepedro 0:04877eaa5047 116 buzz = 1;
marcepedro 0:04877eaa5047 117 }
marcepedro 0:04877eaa5047 118 else {
marcepedro 0:04877eaa5047 119 lcd.locate(0,10);
marcepedro 0:04877eaa5047 120 lcd.printf("w 0");
marcepedro 0:04877eaa5047 121 buzz = 0;
marcepedro 0:04877eaa5047 122 }
marcepedro 0:04877eaa5047 123
marcepedro 0:04877eaa5047 124 /*
marcepedro 0:04877eaa5047 125
marcepedro 0:04877eaa5047 126 if ((w<12)&(w>10)){
marcepedro 0:04877eaa5047 127 lcd.locate(0,10);
marcepedro 0:04877eaa5047 128 lcd.printf("w 0");
marcepedro 0:04877eaa5047 129 }
marcepedro 0:04877eaa5047 130 if (w<10){
marcepedro 0:04877eaa5047 131 lcd.locate(0,10);
marcepedro 0:04877eaa5047 132 lcd.printf("w-1");
marcepedro 0:04877eaa5047 133 }
marcepedro 0:04877eaa5047 134 if (w>12){
marcepedro 0:04877eaa5047 135 lcd.locate(0,10);
marcepedro 0:04877eaa5047 136 lcd.printf("w+1");
marcepedro 0:04877eaa5047 137 }
marcepedro 0:04877eaa5047 138
marcepedro 0:04877eaa5047 139 */
marcepedro 0:04877eaa5047 140
marcepedro 0:04877eaa5047 141 // lcd.locate(25,10);
marcepedro 0:04877eaa5047 142 // lcd.printf("%f",b.dutycycle());
marcepedro 0:04877eaa5047 143 // lcd.printf("pw= %f pd= %f\n", a.pulsewidth(), a.period());
marcepedro 0:04877eaa5047 144
marcepedro 0:04877eaa5047 145 wait(0.1);
marcepedro 0:04877eaa5047 146 }
marcepedro 0:04877eaa5047 147 }