Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed QEI MODSERIAL
main.cpp@2:93dcfd18ccb4, 2019-10-14 (annotated)
- Committer:
- samzijp
- Date:
- Mon Oct 14 10:04:59 2019 +0000
- Revision:
- 2:93dcfd18ccb4
- Parent:
- 0:05da2ae2ad90
Begin motor aansturing
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| samzijp | 2:93dcfd18ccb4 | 1 | /* mbed Microcontroller Library |
| samzijp | 2:93dcfd18ccb4 | 2 | * Copyright (c) 2018 ARM Limited |
| samzijp | 2:93dcfd18ccb4 | 3 | * SPDX-License-Identifier: Apache-2.0 |
| samzijp | 0:05da2ae2ad90 | 4 | */ |
| samzijp | 0:05da2ae2ad90 | 5 | |
| samzijp | 0:05da2ae2ad90 | 6 | #include "mbed.h" |
| samzijp | 2:93dcfd18ccb4 | 7 | #include "MODSERIAL.h" |
| samzijp | 2:93dcfd18ccb4 | 8 | |
| samzijp | 2:93dcfd18ccb4 | 9 | |
| samzijp | 2:93dcfd18ccb4 | 10 | DigitalOut M1(D4); //Direction control |
| samzijp | 2:93dcfd18ccb4 | 11 | DigitalOut M2(D7); //Direction control |
| samzijp | 2:93dcfd18ccb4 | 12 | PwmOut E1(D5); //Speed control |
| samzijp | 2:93dcfd18ccb4 | 13 | PwmOut E2(D6); //Speed control |
| samzijp | 2:93dcfd18ccb4 | 14 | InterruptIn Btn1(A0); //Potentionmeter |
| samzijp | 2:93dcfd18ccb4 | 15 | InterruptIn Btn2(A1); //Potentionmeter |
| samzijp | 2:93dcfd18ccb4 | 16 | DigitalIn M1A(D2); //Encoder |
| samzijp | 2:93dcfd18ccb4 | 17 | DigitalIn M1B(D3); //Encoder |
| samzijp | 0:05da2ae2ad90 | 18 | |
| samzijp | 2:93dcfd18ccb4 | 19 | //float potVal1; |
| samzijp | 2:93dcfd18ccb4 | 20 | //float potVal2; |
| samzijp | 2:93dcfd18ccb4 | 21 | int EncA1; |
| samzijp | 2:93dcfd18ccb4 | 22 | int EncB1; |
| samzijp | 2:93dcfd18ccb4 | 23 | int counts = 0; |
| samzijp | 2:93dcfd18ccb4 | 24 | int speedCount = 0; |
| samzijp | 2:93dcfd18ccb4 | 25 | |
| samzijp | 2:93dcfd18ccb4 | 26 | //Ticker readEnc |
| samzijp | 2:93dcfd18ccb4 | 27 | |
| samzijp | 2:93dcfd18ccb4 | 28 | MODSERIAL pc(USBTX, USBRX); |
| samzijp | 2:93dcfd18ccb4 | 29 | |
| samzijp | 2:93dcfd18ccb4 | 30 | void speedUp(){ |
| samzijp | 2:93dcfd18ccb4 | 31 | speedCount++; |
| samzijp | 2:93dcfd18ccb4 | 32 | } |
| samzijp | 2:93dcfd18ccb4 | 33 | void speedDown(){ |
| samzijp | 2:93dcfd18ccb4 | 34 | speedCount--; |
| samzijp | 2:93dcfd18ccb4 | 35 | } |
| samzijp | 0:05da2ae2ad90 | 36 | |
| samzijp | 0:05da2ae2ad90 | 37 | |
| samzijp | 2:93dcfd18ccb4 | 38 | // main() runs in its own thread in the OS |
| samzijp | 2:93dcfd18ccb4 | 39 | int main(){ |
| samzijp | 2:93dcfd18ccb4 | 40 | pc.baud(9600); |
| samzijp | 2:93dcfd18ccb4 | 41 | Btn1.rise(&speedUp); |
| samzijp | 2:93dcfd18ccb4 | 42 | Btn2.rise(&speedDown); |
| samzijp | 2:93dcfd18ccb4 | 43 | while(true){ |
| samzijp | 2:93dcfd18ccb4 | 44 | if(speedCount > 0){ |
| samzijp | 2:93dcfd18ccb4 | 45 | M1 = 1; |
| samzijp | 2:93dcfd18ccb4 | 46 | E1 = speedCount/10; |
| samzijp | 2:93dcfd18ccb4 | 47 | } |
| samzijp | 2:93dcfd18ccb4 | 48 | else{ |
| samzijp | 2:93dcfd18ccb4 | 49 | M1 = 0; |
| samzijp | 2:93dcfd18ccb4 | 50 | E1 = -speedCount/10; |
| samzijp | 2:93dcfd18ccb4 | 51 | } |
| samzijp | 2:93dcfd18ccb4 | 52 | /*potVal1 = Pot1.read(); |
| samzijp | 2:93dcfd18ccb4 | 53 | potVal2 = Pot2.read(); |
| samzijp | 2:93dcfd18ccb4 | 54 | if (potVal1 > 0.5){ |
| samzijp | 2:93dcfd18ccb4 | 55 | M1 = 1; |
| samzijp | 2:93dcfd18ccb4 | 56 | E1 = potVal1-0.5; |
| samzijp | 2:93dcfd18ccb4 | 57 | }else{ |
| samzijp | 2:93dcfd18ccb4 | 58 | M1 = 0; |
| samzijp | 2:93dcfd18ccb4 | 59 | E1 = -(potVal1-0.5); |
| samzijp | 2:93dcfd18ccb4 | 60 | } |
| samzijp | 2:93dcfd18ccb4 | 61 | if (potVal2 > 0.5){ |
| samzijp | 2:93dcfd18ccb4 | 62 | M2 = 1; |
| samzijp | 2:93dcfd18ccb4 | 63 | E2 = potVal2-0.5; |
| samzijp | 2:93dcfd18ccb4 | 64 | }else{ |
| samzijp | 2:93dcfd18ccb4 | 65 | M2 = 0; |
| samzijp | 2:93dcfd18ccb4 | 66 | E2 = -(potVal2-0.5); |
| samzijp | 2:93dcfd18ccb4 | 67 | } |
| samzijp | 2:93dcfd18ccb4 | 68 | pc.printf("Pot1: %f \t Pot2: %f \n\r", potVal1, potVal2);*/ |
| samzijp | 0:05da2ae2ad90 | 69 | } |
| samzijp | 2:93dcfd18ccb4 | 70 | } |