Silahkan dibaca ^_^
Dependencies: Motor mbed millis PID
main.cpp@2:7565fb31357d, 2016-09-23 (annotated)
- Committer:
- Fathoni17
- Date:
- Fri Sep 23 12:56:22 2016 +0000
- Revision:
- 2:7565fb31357d
- Parent:
- 1:8d4fab4e069c
- Child:
- 3:545fb5899097
addition in using pwmIn for controlling motor speed
Who changed what in which revision?
User | Revision | Line number | New 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 | 2:7565fb31357d | 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 | 2:7565fb31357d | 28 | // pwmRead = pwmIn.read(); |
Fathoni17 | 2:7565fb31357d | 29 | motor1.speed(pwmIn.read()); |
Fathoni17 | 2:7565fb31357d | 30 | pc.printf("pwm = %.02f",pwmIn.read()); |
gustavaditya | 0:24cb158c4064 | 31 | |
gustavaditya | 0:24cb158c4064 | 32 | unsigned long int currentMillis = millis(); |
gustavaditya | 0:24cb158c4064 | 33 | // int counter; |
gustavaditya | 0:24cb158c4064 | 34 | // counter=currentMillis/100; |
gustavaditya | 0:24cb158c4064 | 35 | |
Fathoni17 | 1:8d4fab4e069c | 36 | if (currentMillis-previousMillis>=500) |
gustavaditya | 0:24cb158c4064 | 37 | { |
gustavaditya | 0:24cb158c4064 | 38 | previousMillis = currentMillis; |
gustavaditya | 0:24cb158c4064 | 39 | rpm = 120.0/7.0*encoder0Pos; |
gustavaditya | 0:24cb158c4064 | 40 | pc.printf ("Dalam 500 ms = %d ",encoder0Pos); |
gustavaditya | 0:24cb158c4064 | 41 | pc.printf ("rpm = %.0f \n",rpm); |
gustavaditya | 0:24cb158c4064 | 42 | encoder0Pos = 0; |
gustavaditya | 0:24cb158c4064 | 43 | } |
gustavaditya | 0:24cb158c4064 | 44 | |
gustavaditya | 0:24cb158c4064 | 45 | else |
gustavaditya | 0:24cb158c4064 | 46 | { |
gustavaditya | 0:24cb158c4064 | 47 | n = encoder0PinA; |
gustavaditya | 0:24cb158c4064 | 48 | if ((!encoder0PinALast) && (n)) |
gustavaditya | 0:24cb158c4064 | 49 | { |
gustavaditya | 0:24cb158c4064 | 50 | if (!encoder0PinB) |
gustavaditya | 0:24cb158c4064 | 51 | { |
gustavaditya | 0:24cb158c4064 | 52 | encoder0Pos--; |
gustavaditya | 0:24cb158c4064 | 53 | } else { |
gustavaditya | 0:24cb158c4064 | 54 | encoder0Pos++; |
gustavaditya | 0:24cb158c4064 | 55 | } |
gustavaditya | 0:24cb158c4064 | 56 | //pc.printf ("%d \n",encoder0Pos); |
gustavaditya | 0:24cb158c4064 | 57 | } |
gustavaditya | 0:24cb158c4064 | 58 | encoder0PinALast = n; |
gustavaditya | 0:24cb158c4064 | 59 | } |
gustavaditya | 0:24cb158c4064 | 60 | } |
gustavaditya | 0:24cb158c4064 | 61 | } |