Leon Klute / Mbed 2 deprecated frdm_servo_controller

Dependencies:   mbed

Committer:
LeeJon
Date:
Fri Oct 21 12:42:39 2016 +0000
Revision:
0:ef8775413c37
Child:
1:08bf7339efdd
nog geen goeie hoeken

Who changed what in which revision?

UserRevisionLine numberNew contents of line
LeeJon 0:ef8775413c37 1 #include "mbed.h"
LeeJon 0:ef8775413c37 2
LeeJon 0:ef8775413c37 3 Serial pc(USBTX,USBRX);
LeeJon 0:ef8775413c37 4
LeeJon 0:ef8775413c37 5 PwmOut ServoPWMpin(D7);
LeeJon 0:ef8775413c37 6
LeeJon 0:ef8775413c37 7 char Key;
LeeJon 0:ef8775413c37 8 float ServoAngle = 0;
LeeJon 0:ef8775413c37 9 float Pulsew = 0.0015;
LeeJon 0:ef8775413c37 10 const float Frequency = 10;
LeeJon 0:ef8775413c37 11
LeeJon 0:ef8775413c37 12 int main()
LeeJon 0:ef8775413c37 13 {
LeeJon 0:ef8775413c37 14
LeeJon 0:ef8775413c37 15 ServoPWMpin.period(0.01f); // 0.01 second period
LeeJon 0:ef8775413c37 16
LeeJon 0:ef8775413c37 17 while (true) {
LeeJon 0:ef8775413c37 18
LeeJon 0:ef8775413c37 19 if (pc.readable()) {
LeeJon 0:ef8775413c37 20 Key = pc.getc();
LeeJon 0:ef8775413c37 21 switch(Key) { //Check to see which Key key...
LeeJon 0:ef8775413c37 22 case 0x41: //It was the UP Key key...
LeeJon 0:ef8775413c37 23 pc.printf("\n\r UP!");
LeeJon 0:ef8775413c37 24 if( ServoAngle < 90){
LeeJon 0:ef8775413c37 25 ServoAngle = ServoAngle+1;
LeeJon 0:ef8775413c37 26 }
LeeJon 0:ef8775413c37 27 break;
LeeJon 0:ef8775413c37 28 case 0x42: //It was the DOWN Key key...
LeeJon 0:ef8775413c37 29 pc.printf("\n\r DOWN!");
LeeJon 0:ef8775413c37 30 if( ServoAngle > -90){
LeeJon 0:ef8775413c37 31 ServoAngle = ServoAngle-1;
LeeJon 0:ef8775413c37 32 }
LeeJon 0:ef8775413c37 33 break;
LeeJon 0:ef8775413c37 34 case 0x20:
LeeJon 0:ef8775413c37 35 pc.printf("\n\r SPACE!");
LeeJon 0:ef8775413c37 36 if( ServoAngle == 0){
LeeJon 0:ef8775413c37 37 ServoAngle = 90;
LeeJon 0:ef8775413c37 38 }
LeeJon 0:ef8775413c37 39 else{
LeeJon 0:ef8775413c37 40 ServoAngle = -ServoAngle;
LeeJon 0:ef8775413c37 41 }
LeeJon 0:ef8775413c37 42 break;
LeeJon 0:ef8775413c37 43 }
LeeJon 0:ef8775413c37 44 }
LeeJon 0:ef8775413c37 45
LeeJon 0:ef8775413c37 46 wait(1/Frequency);
LeeJon 0:ef8775413c37 47 Pulsew = 0.0015+(ServoAngle)/180000;
LeeJon 0:ef8775413c37 48 ServoPWMpin.pulsewidth(Pulsew); // write the dutycycle
LeeJon 0:ef8775413c37 49 pc.printf("\n\r Pulsew is %f",Pulsew);
LeeJon 0:ef8775413c37 50 }
LeeJon 0:ef8775413c37 51 }