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: FastPWM HIDScope MODSERIAL QEI Matrix biquadFilter controller errorFetch mbed motorConfig refGen MatrixMath inverseKinematics
Fork of Minor_test_serial by
Revision 14:664870b5d153, committed 2017-09-21
- Comitter:
- tvlogman
- Date:
- Thu Sep 21 10:02:29 2017 +0000
- Parent:
- 13:83e3672b24ee
- Child:
- 15:b76b8cff4d8f
- Commit message:
- Added killswitch on sw2 and switch-direction function
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Sep 21 09:29:19 2017 +0000
+++ b/main.cpp Thu Sep 21 10:02:29 2017 +0000
@@ -6,8 +6,14 @@
QEI Encoder(D12,D13,NC,64, QEI::X4_ENCODING);
MODSERIAL pc(USBTX, USBRX);
+// Defining outputs
DigitalOut motor1_direction(D4);
PwmOut motor1_pwm(D5);
+
+// Defining inputs
+InterruptIn sw2(SW2);
+
+
float pwmPeriod = 1.0/5000.0;
Ticker encoderTicker;
@@ -20,26 +26,30 @@
pc.printf("%i pulses \r\n", counts);
pc.printf("%f revolutions \r\n", revs);
}
+
+void killSwitch(){
+ motor1_pwm.write(0.0);
+ }
+
+void M1switchDirection(){
+ motor1_direction = !motor1_direction;
+ }
int frequency_pwm = 10000; //10kHz PWM
int main()
{
- motor1_direction = true;
+ motor1_direction = false;
motor1_pwm.period(pwmPeriod);//T=1/f
+ sw2.fall(&killSwitch);
pc.baud(115200);
encoderTicker.attach(readEncoder, 1.0);
pc.printf("Encoder ticker attached and baudrate set");
-
- while(true){
- for(int i = 0 ; i<=30 ; i= i+10)
- {
- motor1_pwm.write(i/100.0);//write Duty Cycle
- }
- }
-
+ motor1_pwm.write(100.0/100.0);//write Duty Cycle
+
+ sw2.fall(&killSwitch);
}
