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