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: eeprom_intern LCD_i2c_GSOE MotorinoLib
main.cpp@3:302df40c00e2, 2021-10-27 (annotated)
- Committer:
- jack1930
- Date:
- Wed Oct 27 16:35:00 2021 +0000
- Revision:
- 3:302df40c00e2
- Parent:
- 2:e9fbdcb1ee8f
- Child:
- 4:f863f6847c7d
Steuerung von Grabit Roboterarm
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| jack1930 | 0:4db26ffb591c | 1 | /* mbed Microcontroller Library |
| jack1930 | 0:4db26ffb591c | 2 | * Copyright (c) 2019 ARM Limited |
| jack1930 | 0:4db26ffb591c | 3 | * SPDX-License-Identifier: Apache-2.0 |
| jack1930 | 0:4db26ffb591c | 4 | */ |
| jack1930 | 0:4db26ffb591c | 5 | |
| jack1930 | 0:4db26ffb591c | 6 | #include "mbed.h" |
| jack1930 | 0:4db26ffb591c | 7 | #include "platform/mbed_thread.h" |
| jack1930 | 0:4db26ffb591c | 8 | #include "Kanal.h" |
| jack1930 | 0:4db26ffb591c | 9 | |
| jack1930 | 0:4db26ffb591c | 10 | |
| jack1930 | 0:4db26ffb591c | 11 | |
| jack1930 | 0:4db26ffb591c | 12 | // Blinking rate in milliseconds |
| jack1930 | 0:4db26ffb591c | 13 | #define BLINKING_RATE_MS 50 |
| jack1930 | 0:4db26ffb591c | 14 | |
| jack1930 | 0:4db26ffb591c | 15 | Kanal Greifer(0); |
| jack1930 | 0:4db26ffb591c | 16 | Kanal Basis(1); |
| jack1930 | 0:4db26ffb591c | 17 | Kanal Oberarm(2); |
| jack1930 | 0:4db26ffb591c | 18 | |
| jack1930 | 0:4db26ffb591c | 19 | |
| jack1930 | 0:4db26ffb591c | 20 | struct position |
| jack1930 | 0:4db26ffb591c | 21 | { |
| jack1930 | 0:4db26ffb591c | 22 | float w[6]; |
| jack1930 | 0:4db26ffb591c | 23 | int ms; |
| jack1930 | 0:4db26ffb591c | 24 | }; |
| jack1930 | 0:4db26ffb591c | 25 | |
| jack1930 | 0:4db26ffb591c | 26 | position schritt[3]; |
| jack1930 | 0:4db26ffb591c | 27 | |
| jack1930 | 0:4db26ffb591c | 28 | |
| jack1930 | 0:4db26ffb591c | 29 | int main() |
| jack1930 | 0:4db26ffb591c | 30 | { |
| jack1930 | 0:4db26ffb591c | 31 | |
| jack1930 | 0:4db26ffb591c | 32 | Kanal* achse[6]; |
| jack1930 | 0:4db26ffb591c | 33 | for (int i=0;i<6;i++) achse[i]=new Kanal(i); |
| jack1930 | 0:4db26ffb591c | 34 | int dtc=0; |
| jack1930 | 0:4db26ffb591c | 35 | // Initialise the digital pin LED1 as an output |
| jack1930 | 0:4db26ffb591c | 36 | DigitalOut led(LED1); |
| jack1930 | 3:302df40c00e2 | 37 | schritt[0].w[0]=90; |
| jack1930 | 3:302df40c00e2 | 38 | schritt[0].w[1]=90; |
| jack1930 | 3:302df40c00e2 | 39 | schritt[0].w[2]=90; |
| jack1930 | 3:302df40c00e2 | 40 | schritt[0].w[3]=90; |
| jack1930 | 0:4db26ffb591c | 41 | schritt[0].w[4]=0; |
| jack1930 | 3:302df40c00e2 | 42 | schritt[0].w[5]=30; |
| jack1930 | 0:4db26ffb591c | 43 | schritt[0].ms=1000; |
| jack1930 | 0:4db26ffb591c | 44 | |
| jack1930 | 3:302df40c00e2 | 45 | schritt[1].w[0]=30; |
| jack1930 | 3:302df40c00e2 | 46 | schritt[1].w[1]=100; |
| jack1930 | 3:302df40c00e2 | 47 | schritt[1].w[2]=120; |
| jack1930 | 3:302df40c00e2 | 48 | schritt[1].w[3]=110; |
| jack1930 | 0:4db26ffb591c | 49 | schritt[1].w[4]=180; |
| jack1930 | 3:302df40c00e2 | 50 | schritt[1].w[5]=100; |
| jack1930 | 0:4db26ffb591c | 51 | schritt[1].ms=500; |
| jack1930 | 0:4db26ffb591c | 52 | |
| jack1930 | 0:4db26ffb591c | 53 | schritt[2].w[0]=90; |
| jack1930 | 3:302df40c00e2 | 54 | schritt[2].w[1]=80; |
| jack1930 | 3:302df40c00e2 | 55 | schritt[2].w[2]=70; |
| jack1930 | 3:302df40c00e2 | 56 | schritt[2].w[3]=80; |
| jack1930 | 0:4db26ffb591c | 57 | schritt[2].w[4]=90; |
| jack1930 | 0:4db26ffb591c | 58 | schritt[2].w[5]=180; |
| jack1930 | 0:4db26ffb591c | 59 | schritt[2].ms=500; |
| jack1930 | 3:302df40c00e2 | 60 | achse[0]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 61 | achse[1]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 62 | achse[2]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 63 | achse[3]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 64 | achse[4]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 65 | achse[5]->grundstellung(90); |
| jack1930 | 0:4db26ffb591c | 66 | while (true) { |
| jack1930 | 0:4db26ffb591c | 67 | led = !led; |
| jack1930 | 3:302df40c00e2 | 68 | |
| jack1930 | 3:302df40c00e2 | 69 | for (int j=0;j<2;j++) //Schritte |
| jack1930 | 0:4db26ffb591c | 70 | { |
| jack1930 | 2:e9fbdcb1ee8f | 71 | for (int i=0;i<6;i++) //alle Achsen mit neuen Zielen versorgen und starten |
| jack1930 | 0:4db26ffb591c | 72 | { |
| jack1930 | 0:4db26ffb591c | 73 | achse[i]->go(schritt[j].w[i],schritt[j].ms); |
| jack1930 | 0:4db26ffb591c | 74 | } |
| jack1930 | 2:e9fbdcb1ee8f | 75 | for (int i=0;i<6;i++) //warten, dass alle Achsen fertig werden |
| jack1930 | 0:4db26ffb591c | 76 | { |
| jack1930 | 0:4db26ffb591c | 77 | while(achse[i]->isBusy()); |
| jack1930 | 0:4db26ffb591c | 78 | } |
| jack1930 | 0:4db26ffb591c | 79 | } |
| jack1930 | 3:302df40c00e2 | 80 | HAL_Delay(1000); |
| jack1930 | 0:4db26ffb591c | 81 | /* |
| jack1930 | 0:4db26ffb591c | 82 | Greifer.go(180,1000); |
| jack1930 | 0:4db26ffb591c | 83 | Basis.go(90,1000); |
| jack1930 | 0:4db26ffb591c | 84 | Oberarm.go(0,1000); |
| jack1930 | 0:4db26ffb591c | 85 | while (Greifer.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 86 | while (Basis.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 87 | while (Oberarm.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 88 | //HAL_Delay(2000); |
| jack1930 | 0:4db26ffb591c | 89 | Greifer.go(0,500); |
| jack1930 | 0:4db26ffb591c | 90 | Basis.go(0,500); |
| jack1930 | 0:4db26ffb591c | 91 | Oberarm.go(120,500); |
| jack1930 | 0:4db26ffb591c | 92 | //HAL_Delay(1000); |
| jack1930 | 0:4db26ffb591c | 93 | while (Greifer.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 94 | while (Basis.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 95 | while (Oberarm.isBusy()==true); |
| jack1930 | 0:4db26ffb591c | 96 | */ |
| jack1930 | 0:4db26ffb591c | 97 | } |
| jack1930 | 0:4db26ffb591c | 98 | } |