Silahkan dibaca ^_^

Dependencies:   Motor mbed millis PID

Committer:
Fathoni17
Date:
Fri Sep 23 12:29:17 2016 +0000
Revision:
1:8d4fab4e069c
Parent:
0:24cb158c4064
Child:
2:7565fb31357d
Ubah dengan Potensiometer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gustavaditya 0:24cb158c4064 1 #include "mbed.h"
gustavaditya 0:24cb158c4064 2 #include "millis.h"
Fathoni17 1:8d4fab4e069c 3 #include "Motor.h"
gustavaditya 0:24cb158c4064 4
gustavaditya 0:24cb158c4064 5 int val;
gustavaditya 0:24cb158c4064 6
gustavaditya 0:24cb158c4064 7 int encoder0Pos = 0;
gustavaditya 0:24cb158c4064 8 int encoder0PinALast = 0;
gustavaditya 0:24cb158c4064 9 int n = 0;
gustavaditya 0:24cb158c4064 10 float rpm;
gustavaditya 0:24cb158c4064 11 int start = 1;
gustavaditya 0:24cb158c4064 12 unsigned long int previousMillis = 0;
Fathoni17 1:8d4fab4e069c 13 float pwmRead=0.00;
Fathoni17 1:8d4fab4e069c 14
Fathoni17 1:8d4fab4e069c 15 Motor motor1(D11,D13,D12);
Fathoni17 1:8d4fab4e069c 16 AnalogIn pwmIn(A0);
Fathoni17 1:8d4fab4e069c 17
gustavaditya 0:24cb158c4064 18 int main(void) {
Fathoni17 1:8d4fab4e069c 19
gustavaditya 0:24cb158c4064 20 DigitalIn encoder0PinA(D3);
gustavaditya 0:24cb158c4064 21 DigitalIn encoder0PinB(D4);
gustavaditya 0:24cb158c4064 22 Serial pc(USBTX,USBRX);
Fathoni17 1:8d4fab4e069c 23
gustavaditya 0:24cb158c4064 24 startMillis();
Fathoni17 1:8d4fab4e069c 25
gustavaditya 0:24cb158c4064 26 while(1){
gustavaditya 0:24cb158c4064 27
Fathoni17 1:8d4fab4e069c 28 pwmRead = pwmIn.read();
Fathoni17 1:8d4fab4e069c 29 motor1.speed(pwmRead/255);
gustavaditya 0:24cb158c4064 30
gustavaditya 0:24cb158c4064 31 unsigned long int currentMillis = millis();
gustavaditya 0:24cb158c4064 32 // int counter;
gustavaditya 0:24cb158c4064 33 // counter=currentMillis/100;
gustavaditya 0:24cb158c4064 34
Fathoni17 1:8d4fab4e069c 35 if (currentMillis-previousMillis>=500)
gustavaditya 0:24cb158c4064 36 {
gustavaditya 0:24cb158c4064 37 previousMillis = currentMillis;
gustavaditya 0:24cb158c4064 38 rpm = 120.0/7.0*encoder0Pos;
gustavaditya 0:24cb158c4064 39 pc.printf ("Dalam 500 ms = %d ",encoder0Pos);
gustavaditya 0:24cb158c4064 40 pc.printf ("rpm = %.0f \n",rpm);
gustavaditya 0:24cb158c4064 41 encoder0Pos = 0;
gustavaditya 0:24cb158c4064 42 }
gustavaditya 0:24cb158c4064 43
gustavaditya 0:24cb158c4064 44 else
gustavaditya 0:24cb158c4064 45 {
gustavaditya 0:24cb158c4064 46 n = encoder0PinA;
gustavaditya 0:24cb158c4064 47 if ((!encoder0PinALast) && (n))
gustavaditya 0:24cb158c4064 48 {
gustavaditya 0:24cb158c4064 49 if (!encoder0PinB)
gustavaditya 0:24cb158c4064 50 {
gustavaditya 0:24cb158c4064 51 encoder0Pos--;
gustavaditya 0:24cb158c4064 52 } else {
gustavaditya 0:24cb158c4064 53 encoder0Pos++;
gustavaditya 0:24cb158c4064 54 }
gustavaditya 0:24cb158c4064 55 //pc.printf ("%d \n",encoder0Pos);
gustavaditya 0:24cb158c4064 56 }
gustavaditya 0:24cb158c4064 57 encoder0PinALast = n;
gustavaditya 0:24cb158c4064 58 }
gustavaditya 0:24cb158c4064 59 }
gustavaditya 0:24cb158c4064 60 }