Untuk Kontrol Atas

Dependencies:   Motor mRotaryEncoder mbed

Committer:
danielgoodies
Date:
Mon Sep 19 15:38:00 2016 +0000
Revision:
0:bfd2ba3d4b66
Kontrol Atas Muncrat

Who changed what in which revision?

UserRevisionLine numberNew contents of line
danielgoodies 0:bfd2ba3d4b66 1 #include "mbed.h"
danielgoodies 0:bfd2ba3d4b66 2 #include "Motor.h"
danielgoodies 0:bfd2ba3d4b66 3
danielgoodies 0:bfd2ba3d4b66 4 /* Pin Declaration */
danielgoodies 0:bfd2ba3d4b66 5 Motor Motor1(D6,D7,D8);
danielgoodies 0:bfd2ba3d4b66 6 DigitalIn encoderpin1(D4); /*Encoder punya 2 buah pin input, 1 Vcc, 1 Ground */
danielgoodies 0:bfd2ba3d4b66 7 DigitalIn encoderpin2(D5);
danielgoodies 0:bfd2ba3d4b66 8
danielgoodies 0:bfd2ba3d4b66 9
danielgoodies 0:bfd2ba3d4b66 10 /* Variable Declaration */
danielgoodies 0:bfd2ba3d4b66 11 int encoder0Pos = 0;
danielgoodies 0:bfd2ba3d4b66 12 int encoder0PinALast = 0;
danielgoodies 0:bfd2ba3d4b66 13 int n = 0;
danielgoodies 0:bfd2ba3d4b66 14 int i = 0;
danielgoodies 0:bfd2ba3d4b66 15 int boolean = 0;
danielgoodies 0:bfd2ba3d4b66 16
danielgoodies 0:bfd2ba3d4b66 17 /* Main Program */
danielgoodies 0:bfd2ba3d4b66 18 int main() {
danielgoodies 0:bfd2ba3d4b66 19 Serial pc(USBTX,USBRX);
danielgoodies 0:bfd2ba3d4b66 20 pc.baud(9600);
danielgoodies 0:bfd2ba3d4b66 21
danielgoodies 0:bfd2ba3d4b66 22 pc.printf(" Test Serial Monitor");
danielgoodies 0:bfd2ba3d4b66 23 while (1) {
danielgoodies 0:bfd2ba3d4b66 24 /*if(i>=0 && i<=100 && boolean == 0) {
danielgoodies 0:bfd2ba3d4b66 25 i++;
danielgoodies 0:bfd2ba3d4b66 26 if(i==100) {
danielgoodies 0:bfd2ba3d4b66 27 boolean = 1;
danielgoodies 0:bfd2ba3d4b66 28 }
danielgoodies 0:bfd2ba3d4b66 29 }
danielgoodies 0:bfd2ba3d4b66 30
danielgoodies 0:bfd2ba3d4b66 31 if (i<=100 && i>=0 && boolean == 1) {
danielgoodies 0:bfd2ba3d4b66 32 i--;
danielgoodies 0:bfd2ba3d4b66 33 if(i==0) {
danielgoodies 0:bfd2ba3d4b66 34 boolean = 0;
danielgoodies 0:bfd2ba3d4b66 35 }
danielgoodies 0:bfd2ba3d4b66 36 } */
danielgoodies 0:bfd2ba3d4b66 37 for (i = 100; i >= 0 ; i--) {
danielgoodies 0:bfd2ba3d4b66 38 Motor1.speed(i*0.01);
danielgoodies 0:bfd2ba3d4b66 39 wait_ms(20);
danielgoodies 0:bfd2ba3d4b66 40 }
danielgoodies 0:bfd2ba3d4b66 41 for (i = 0; i <= 100 ; i++) {
danielgoodies 0:bfd2ba3d4b66 42 Motor1.speed(i*0.01);
danielgoodies 0:bfd2ba3d4b66 43 wait_ms(20);
danielgoodies 0:bfd2ba3d4b66 44 }
danielgoodies 0:bfd2ba3d4b66 45 //Motor1.speed(0.5);
danielgoodies 0:bfd2ba3d4b66 46
danielgoodies 0:bfd2ba3d4b66 47 n = encoderpin1;
danielgoodies 0:bfd2ba3d4b66 48 if ((encoder0PinALast == 0) && (n == 1)) {
danielgoodies 0:bfd2ba3d4b66 49 if ((encoderpin2) == 0) {
danielgoodies 0:bfd2ba3d4b66 50 encoder0Pos--;
danielgoodies 0:bfd2ba3d4b66 51 } else {
danielgoodies 0:bfd2ba3d4b66 52 encoder0Pos++;
danielgoodies 0:bfd2ba3d4b66 53 }
danielgoodies 0:bfd2ba3d4b66 54 wait_ms(20);
danielgoodies 0:bfd2ba3d4b66 55 pc.printf("%d/n", encoder0Pos);
danielgoodies 0:bfd2ba3d4b66 56 }
danielgoodies 0:bfd2ba3d4b66 57 encoder0PinALast = n;
danielgoodies 0:bfd2ba3d4b66 58 }
danielgoodies 0:bfd2ba3d4b66 59 }