Minor BioRobotics BMT Hierbij publish ik mijn code public ter inspiratie voor komende jaarlagen. Het gaat om een serial robot met twee links en een haak als end-effector. Veel plezier ermee!

Dependencies:   mbed QEI HIDScope biquadFilter MODSERIAL FastPWM

Committer:
fb07
Date:
Wed Sep 25 08:40:00 2019 +0000
Revision:
3:4a673901c19f
Parent:
2:45a85caaebfb
Child:
4:784cc0f3c97b
First version working without errors

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fb07 2:45a85caaebfb 1 // Project BioRobotics - Opening a Door - Group 13 2019/2020
fb07 2:45a85caaebfb 2 // Dion ten Berge - s1864734
fb07 2:45a85caaebfb 3 // Bas Rutteman - s1854305
fb07 2:45a85caaebfb 4 // Nick in het Veld - s1915584
fb07 2:45a85caaebfb 5 // Marleen van der Weij - s1800078
fb07 2:45a85caaebfb 6 // Mevlid Yildirim - s2005735
fb07 2:45a85caaebfb 7
fb07 3:4a673901c19f 8
fb07 2:45a85caaebfb 9
fb07 2:45a85caaebfb 10 //*****************************************************************************
fb07 2:45a85caaebfb 11 // 1. Libraries ******************************************************************
fb07 2:45a85caaebfb 12 //*****************************************************************************
RobertoO 0:67c50348f842 13 #include "mbed.h"
fb07 2:45a85caaebfb 14 #include "HIDScope.h"
fb07 2:45a85caaebfb 15 #include "QEI.h"
RobertoO 1:b862262a9d14 16 #include "MODSERIAL.h"
fb07 2:45a85caaebfb 17 #include "BiQuad.h"
fb07 2:45a85caaebfb 18 #include "FastPWM.h"
fb07 2:45a85caaebfb 19
fb07 2:45a85caaebfb 20 //*****************************************************************************
fb07 2:45a85caaebfb 21 // 2. States ******************************************************************
fb07 2:45a85caaebfb 22 //*****************************************************************************
fb07 2:45a85caaebfb 23 enum States {waiting}; //All robot states
RobertoO 0:67c50348f842 24
fb07 2:45a85caaebfb 25 //*****************************************************************************
fb07 2:45a85caaebfb 26 // 3. Global Variables ***********************************************************
fb07 2:45a85caaebfb 27 //*****************************************************************************
fb07 2:45a85caaebfb 28 Ticker loop_ticker; // The Ticker object that will ensure perfect timing of our looping code
RobertoO 0:67c50348f842 29
fb07 3:4a673901c19f 30 DigitalOut led(LED_RED); //Geen idee waar we dit kwijt willen
fb07 3:4a673901c19f 31 MODSERIAL pc(USBTX, USBRX); //Geen idee waar we dit kwijt willen
fb07 2:45a85caaebfb 32
fb07 2:45a85caaebfb 33
RobertoO 0:67c50348f842 34
fb07 2:45a85caaebfb 35 //******************************************************************************
fb07 2:45a85caaebfb 36 // 4. Main Loop ****************************************************************
fb07 2:45a85caaebfb 37 //******************************************************************************
fb07 2:45a85caaebfb 38
fb07 2:45a85caaebfb 39 void main_loop() { //Beginning of main_loop()
fb07 3:4a673901c19f 40 pc.printf("main_loop is running succesfully \r\n");
fb07 2:45a85caaebfb 41
fb07 2:45a85caaebfb 42 // 4.1 Measure Analog and Digital input signals ********************************
fb07 2:45a85caaebfb 43 // 4.2 Run state-machine(s) ****************************************************
fb07 2:45a85caaebfb 44 // 4.3 Run controller(s) *******************************************************
fb07 2:45a85caaebfb 45 // 4.4 Send output signals to digital and PWM output pins **********************
fb07 2:45a85caaebfb 46
fb07 2:45a85caaebfb 47
fb07 2:45a85caaebfb 48 } //Ending of main_loop()
fb07 2:45a85caaebfb 49
fb07 2:45a85caaebfb 50 //******************************************************************************
fb07 2:45a85caaebfb 51 // 5. Main function ************************************************************
fb07 2:45a85caaebfb 52 //******************************************************************************
fb07 2:45a85caaebfb 53 int main()
fb07 2:45a85caaebfb 54 { //Beginning of Main() Function
fb07 2:45a85caaebfb 55 //All the things we do only once, some relevant things are now missing here: set pwmperiod to 60 microsec. Set Serial comm. Etc. Etc.
fb07 2:45a85caaebfb 56 // 5.1 Initialization **********************************************************
RobertoO 0:67c50348f842 57 pc.baud(115200);
fb07 2:45a85caaebfb 58 pc.printf("\r\nStarting Project BioRobotics - Opening a Door " //print Project information
fb07 2:45a85caaebfb 59 "- Group 13 2019/2020 \r\n"
fb07 2:45a85caaebfb 60 "Dion ten Berge - s1864734 \r\n"
fb07 2:45a85caaebfb 61 "Bas Rutteman - s1854305 \r\n"
fb07 2:45a85caaebfb 62 "Nick in het Veld - s1915584 \r\n"
fb07 2:45a85caaebfb 63 "Marleen van der Weij - s1800078 \r\n"
fb07 2:45a85caaebfb 64 "Mevlid Yildirim - s2005735 \r\n");
RobertoO 0:67c50348f842 65
fb07 2:45a85caaebfb 66 loop_ticker.attach(&main_loop,0.001f); //Run the function main_loop1000 times per second
fb07 2:45a85caaebfb 67
fb07 2:45a85caaebfb 68 // 5.2 While loop in main function**********************************************
fb07 2:45a85caaebfb 69 while (true) { } //Is not used but has to remain in the code!!
fb07 2:45a85caaebfb 70
fb07 2:45a85caaebfb 71 } //Ending of Main() Function