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: HIDScope MODSERIAL Motordriver QEI Servo mbed
Fork of The_Claw_with_EMG_Control by
Revision 3:3a671d01bcb8, committed 2016-10-19
- Comitter:
- meikefrok
- Date:
- Wed Oct 19 13:13:13 2016 +0000
- Parent:
- 2:ad4b181a6422
- Child:
- 4:e62a2df0a5b5
- Commit message:
- Changed some names
Changed in this revision
| Motordriver.lib | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Motordriver.lib Wed Oct 19 13:13:13 2016 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/littlexc/code/Motordriver/#3110b9209d3c
--- a/main.cpp Wed Oct 19 11:03:34 2016 +0000
+++ b/main.cpp Wed Oct 19 13:13:13 2016 +0000
@@ -1,4 +1,5 @@
#include "mbed.h"
+#include "motordriver.h"
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >
// Serial communication using MODSERIAL
@@ -13,7 +14,7 @@
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >
// constants
-const int kLedOn = 0; // LED on if 0
+const int LedOn = 0; // LED on if 0
// LEDs
DigitalOut led_r(LED_RED);
@@ -29,53 +30,62 @@
int num_turned_on_2 = 0; // count number of times blue LED turned on
+//Safety for Motor
+int Brakeable; //cna the motor driver break
+int sign; //prevents throwing the motor from full foward to full reverse and stuff melting.
-/**
- * Toggle / Switch / Blink the state of the LED.
- * Count the number of times the LED was turned ON.
- * We have quite some duplicate code here; this is not ideal and could be solved
- * using more 'advanced' concepts such as arrays and enums.
- * However, this is outside the scope of this course for now.
- */
-void ToggleLed()
+//Motor
+Motor A(D6, D7, D7, Brakeable); // pwm, fwd, rev, brake rechts
+Motor B(D5, D4, D4, Brakeable); // pwm, fwd, rev, brake links
+
+
+
+
+void SwitchPart()
{
switch (part_id) {
- case 0: {
+ case 2: {
// LED 0 to toggle and count:
- led_r = kLedOn;
- if (led_r == kLedOn) {
+ led_r = LedOn;
+ if (led_r == LedOn) {
num_turned_on_0++;
}
// LEDs to turn off:
- led_g = not kLedOn;
- led_b = not kLedOn;
+ led_g = not LedOn;
+ led_b = not LedOn;
+ A.speed(0) == 0;
+ B.speed(0) == 0;
break;
}
- case 1: {
+ case 3: {
// LED 1 to toggle and count:
- led_g = kLedOn;
- if (led_g == kLedOn) {
+ led_g = LedOn;
+ A.speed(0.5) == 0.5;
+ if (led_g == LedOn) {
num_turned_on_1++;
}
// LEDs to turn off:
- led_r = not kLedOn;
- led_b = not kLedOn;
-
+ led_r = not LedOn;
+ led_b = not LedOn;
+ B.speed(0) == 0;
+
break;
}
- case 2: {
+ case 4: {
// LED 2 to toggle and count:
- led_b = kLedOn;
- if (led_b == kLedOn) {
+ led_b = LedOn;
+ B.speed(0.5) == 0.5;
+ if (led_b == LedOn) {
num_turned_on_2++;
}
// LEDs to turn off:
- led_r = not kLedOn;
- led_g = not kLedOn;
+ led_r = not LedOn;
+ led_g = not LedOn;
+ A.speed(0) == 0;
break;
}
@@ -97,16 +107,16 @@
* @ensure led_blink_id = ++led_blink_id % kNumStates
*/
void SetValue2() {
- part_id = 0;
+ part_id = 2;
}
void SetValue3() {
- part_id = 1;
+ part_id = 3;
}
void SetValue4() {
- part_id = 2;
+ part_id = 4;
}
@@ -120,27 +130,27 @@
pc.printf("\r\n**RESET**\r\n");
// Turn off all LEDs initially
- led_r = not kLedOn;
- led_g = not kLedOn;
- led_b = not kLedOn;
+ led_r = not LedOn;
+ led_g = not LedOn;
+ led_b = not LedOn;
// Create ticker and attach LED toggle function
Ticker tick_toggle_led;
- tick_toggle_led.attach(&ToggleLed,kTimeLedToggle);
+ tick_toggle_led.attach(&SwitchPart,kTimeLedToggle);
// Create ticker and attach Print function
Ticker tick_print_serial;
tick_print_serial.attach(&PrintSerial,kTimePrintSerial);
// Create interrupt and attach switch function
- InterruptIn btn_base(D2);
- btn_base.fall(&SetValue2);
+ InterruptIn btn_cart(D2);
+ btn_cart.fall(&SetValue2);
- InterruptIn btn_cart(D3);
- btn_cart.fall(&SetValue3);
+ InterruptIn btn_arm(D3);
+ btn_arm.fall(&SetValue3);
InterruptIn btn_arm(D4);
- btn_arm.fall(&SetValue4);
+ btn_claw.fall(&SetValue4);
while (true);
}
