Fernon Eijkhoudt
/
ROBOBIRDS_FINAL
EMG driven robot which shoots elastic bands
Fork of RoboBirdV1 by
main.cpp@5:d47e6a96256b, 2015-09-28 (annotated)
- Committer:
- Fernon
- Date:
- Mon Sep 28 18:39:43 2015 +0000
- Revision:
- 5:d47e6a96256b
- Parent:
- 4:de94e1135968
- Child:
- 6:cf20f04dbab4
Ticker werkt, alleen z werkt vanuit motor4 setpoint niet meer....
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Fernon | 0:5a5f417fa1b2 | 1 | #include "mbed.h" |
Fernon | 0:5a5f417fa1b2 | 2 | #include "QEI.h" |
Fernon | 5:d47e6a96256b | 3 | #include "math.h" |
Fernon | 0:5a5f417fa1b2 | 4 | |
Fernon | 1:bb11e38dda43 | 5 | DigitalOut Direction(D4); //1 = CCW - 0 = CW |
Fernon | 1:bb11e38dda43 | 6 | PwmOut PowerMotor(D5); //van 0 tot 1 |
Fernon | 1:bb11e38dda43 | 7 | AnalogIn PotMeter(A1); |
Fernon | 1:bb11e38dda43 | 8 | QEI Encoder(D13,D12,NC,32,QEI::X2_ENCODING); //Encoder |
Fernon | 1:bb11e38dda43 | 9 | Serial pc(USBTX, USBRX); |
Fernon | 2:f0e9ffc5df09 | 10 | Ticker Pot; |
Fernon | 5:d47e6a96256b | 11 | Ticker PC; |
Fernon | 0:5a5f417fa1b2 | 12 | |
Fernon | 3:af3f0ed8c99e | 13 | double z; |
Fernon | 5:d47e6a96256b | 14 | const double twopi = 6.2831853071795; |
Fernon | 5:d47e6a96256b | 15 | const double pi = pi/2; |
Fernon | 5:d47e6a96256b | 16 | int Pulses; |
Fernon | 5:d47e6a96256b | 17 | double Rotatie; |
Fernon | 5:d47e6a96256b | 18 | double Rotatietwopi; |
Fernon | 2:f0e9ffc5df09 | 19 | |
Fernon | 5:d47e6a96256b | 20 | void readpot() |
Fernon | 2:f0e9ffc5df09 | 21 | { |
Fernon | 5:d47e6a96256b | 22 | z = PotMeter.read()/10; |
Fernon | 5:d47e6a96256b | 23 | } |
Fernon | 5:d47e6a96256b | 24 | |
Fernon | 5:d47e6a96256b | 25 | void print() |
Fernon | 5:d47e6a96256b | 26 | { |
Fernon | 5:d47e6a96256b | 27 | pc.printf ("Potmeter = %f\n", z); // het weergeven van de waarde waar z (PotMeter) op dat moment is |
Fernon | 5:d47e6a96256b | 28 | pc.printf ("Rotatie = %f [pi radialen] \n", Rotatietwopi); |
Fernon | 2:f0e9ffc5df09 | 29 | } |
Fernon | 0:5a5f417fa1b2 | 30 | |
Fernon | 0:5a5f417fa1b2 | 31 | int main() |
Fernon | 0:5a5f417fa1b2 | 32 | { |
Fernon | 2:f0e9ffc5df09 | 33 | pc.baud(115200); |
Fernon | 2:f0e9ffc5df09 | 34 | PowerMotor.write(0); |
Fernon | 5:d47e6a96256b | 35 | Pot.attach(readpot,0.001); // Deze ticker moet de waarde uitlezen van de PotMeter 10 keer per seconde |
Fernon | 5:d47e6a96256b | 36 | PC.attach(print,0.5); |
Fernon | 0:5a5f417fa1b2 | 37 | while (true) { |
Fernon | 5:d47e6a96256b | 38 | PowerMotor.write(z); |
Fernon | 5:d47e6a96256b | 39 | Pulses = Encoder.getPulses(); |
Fernon | 5:d47e6a96256b | 40 | Rotatie = (Pulses*twopi)/4192; |
Fernon | 5:d47e6a96256b | 41 | Rotatietwopi = fmod(Rotatie,twopi); |
Fernon | 0:5a5f417fa1b2 | 42 | } |
Fernon | 2:f0e9ffc5df09 | 43 | } |
Fernon | 3:af3f0ed8c99e | 44 | |
Fernon | 5:d47e6a96256b | 45 |