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@4:f863f6847c7d, 2021-10-28 (annotated)
- Committer:
- jack1930
- Date:
- Thu Oct 28 08:24:50 2021 +0000
- Revision:
- 4:f863f6847c7d
- Parent:
- 3:302df40c00e2
- Child:
- 5:3a7f58938059
Kommentiert
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 | struct position |
| jack1930 | 0:4db26ffb591c | 16 | { |
| jack1930 | 4:f863f6847c7d | 17 | float w[6]; //6 Positonmen, Wertebereich: 0..180°, für 6 Achsen |
| jack1930 | 4:f863f6847c7d | 18 | int ms; //Fahrzeit in ms zur neuen Position |
| jack1930 | 0:4db26ffb591c | 19 | }; |
| jack1930 | 0:4db26ffb591c | 20 | |
| jack1930 | 4:f863f6847c7d | 21 | position schritt[3]; //Es werden 3 Positionen angefahren |
| jack1930 | 0:4db26ffb591c | 22 | |
| jack1930 | 0:4db26ffb591c | 23 | |
| jack1930 | 0:4db26ffb591c | 24 | int main() |
| jack1930 | 0:4db26ffb591c | 25 | { |
| jack1930 | 0:4db26ffb591c | 26 | |
| jack1930 | 4:f863f6847c7d | 27 | Kanal* achse[6]; //Der Roboter hat 6 Achsen: |
| jack1930 | 4:f863f6847c7d | 28 | //achse[0]: Grundachse, Drehung des Roboters |
| jack1930 | 4:f863f6847c7d | 29 | //achse[1]: Erster Kipp-Servo auf der Drehachse |
| jack1930 | 4:f863f6847c7d | 30 | //achse[2]: Zweiter Kipp-Servo, von unten her |
| jack1930 | 4:f863f6847c7d | 31 | //achse[3]: Dritter Kipp-Servo, von unten her |
| jack1930 | 4:f863f6847c7d | 32 | //achse[4]: Drehachse für den Greifer |
| jack1930 | 4:f863f6847c7d | 33 | //achse[5]: Greifer |
| jack1930 | 4:f863f6847c7d | 34 | for (int i=0;i<6;i++) achse[i]=new Kanal(i); //Die Achsobjekte werden erzeugt |
| jack1930 | 0:4db26ffb591c | 35 | int dtc=0; |
| jack1930 | 0:4db26ffb591c | 36 | // Initialise the digital pin LED1 as an output |
| jack1930 | 4:f863f6847c7d | 37 | DigitalOut led(LED1); //Diagnose LED auf dem Nukleo |
| jack1930 | 4:f863f6847c7d | 38 | schritt[0].w[0]=90; //achse[0]: Grundachse, Drehung des Roboters |
| jack1930 | 4:f863f6847c7d | 39 | schritt[0].w[1]=90; //achse[1]: Erster Kipp-Servo auf der Drehachse |
| jack1930 | 4:f863f6847c7d | 40 | schritt[0].w[2]=90; //achse[2]: Zweiter Kipp-Servo, von unten her |
| jack1930 | 4:f863f6847c7d | 41 | schritt[0].w[3]=90; //achse[3]: Dritter Kipp-Servo, von unten her |
| jack1930 | 4:f863f6847c7d | 42 | schritt[0].w[4]=90; //achse[4]: Drehachse für den Greifer |
| jack1930 | 4:f863f6847c7d | 43 | schritt[0].w[5]=30; //achse[5]: Greifer |
| jack1930 | 4:f863f6847c7d | 44 | schritt[0].ms=1000; //Fahrzeit |
| jack1930 | 0:4db26ffb591c | 45 | |
| jack1930 | 3:302df40c00e2 | 46 | schritt[1].w[0]=30; |
| jack1930 | 4:f863f6847c7d | 47 | schritt[1].w[1]=120; |
| jack1930 | 4:f863f6847c7d | 48 | schritt[1].w[2]=130; |
| jack1930 | 3:302df40c00e2 | 49 | schritt[1].w[3]=110; |
| jack1930 | 0:4db26ffb591c | 50 | schritt[1].w[4]=180; |
| jack1930 | 3:302df40c00e2 | 51 | schritt[1].w[5]=100; |
| jack1930 | 0:4db26ffb591c | 52 | schritt[1].ms=500; |
| jack1930 | 0:4db26ffb591c | 53 | |
| jack1930 | 0:4db26ffb591c | 54 | schritt[2].w[0]=90; |
| jack1930 | 4:f863f6847c7d | 55 | schritt[2].w[1]=60; |
| jack1930 | 4:f863f6847c7d | 56 | schritt[2].w[2]=50; |
| jack1930 | 3:302df40c00e2 | 57 | schritt[2].w[3]=80; |
| jack1930 | 0:4db26ffb591c | 58 | schritt[2].w[4]=90; |
| jack1930 | 0:4db26ffb591c | 59 | schritt[2].w[5]=180; |
| jack1930 | 0:4db26ffb591c | 60 | schritt[2].ms=500; |
| jack1930 | 4:f863f6847c7d | 61 | |
| jack1930 | 4:f863f6847c7d | 62 | //Grundstellung nch Start des Nucleo |
| jack1930 | 3:302df40c00e2 | 63 | achse[0]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 64 | achse[1]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 65 | achse[2]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 66 | achse[3]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 67 | achse[4]->grundstellung(90); |
| jack1930 | 3:302df40c00e2 | 68 | achse[5]->grundstellung(90); |
| jack1930 | 0:4db26ffb591c | 69 | while (true) { |
| jack1930 | 0:4db26ffb591c | 70 | led = !led; |
| jack1930 | 3:302df40c00e2 | 71 | |
| jack1930 | 3:302df40c00e2 | 72 | for (int j=0;j<2;j++) //Schritte |
| jack1930 | 0:4db26ffb591c | 73 | { |
| jack1930 | 4:f863f6847c7d | 74 | //alle Achsen mit neuen Zielen versorgen und starten |
| jack1930 | 4:f863f6847c7d | 75 | for (int i=0;i<6;i++) |
| jack1930 | 0:4db26ffb591c | 76 | { |
| jack1930 | 4:f863f6847c7d | 77 | //Operstion go(´float Zielwinkel, int fahrzeit |
| jack1930 | 4:f863f6847c7d | 78 | achse[i]->go(schritt[j].w[i],schritt[j].ms); |
| jack1930 | 0:4db26ffb591c | 79 | } |
| jack1930 | 4:f863f6847c7d | 80 | //warten, dass alle Achsen fertig werden |
| jack1930 | 4:f863f6847c7d | 81 | for (int i=0;i<6;i++) |
| jack1930 | 0:4db26ffb591c | 82 | { |
| jack1930 | 4:f863f6847c7d | 83 | //Operation bool isBusy() |
| jack1930 | 4:f863f6847c7d | 84 | //true=Achse bewegt sich noch, false=Achse hat Bewegung beendet |
| jack1930 | 4:f863f6847c7d | 85 | while(achse[i]->isBusy()); //-> gleichbedeutend mit .-Operator |
| jack1930 | 0:4db26ffb591c | 86 | } |
| jack1930 | 0:4db26ffb591c | 87 | } |
| jack1930 | 4:f863f6847c7d | 88 | |
| jack1930 | 0:4db26ffb591c | 89 | } |
| jack1930 | 0:4db26ffb591c | 90 | } |