groep 16 / Mbed 2 deprecated BioRobotics_Project_Total

Dependencies:   mbed QEI MODSERIAL

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?

UserRevisionLine numberNew 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 }