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: Encoder HIDScope MODSERIAL mbed
Fork of Cases_homepos_picontrol_EMG_2 by
Diff: main.cpp
- Revision:
- 0:65ab9f79a4cc
- Child:
- 1:7d5e6bc2b314
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon Oct 19 09:31:16 2015 +0000
@@ -0,0 +1,78 @@
+#include "mbed.h"
+#include "encoder.h"
+#include "HIDScope.h"
+
+DigitalOut motor1_direction(D4);
+PwmOut motor1_speed(D5);
+PwmOut led(D9);
+DigitalIn button_1(PTC6); //counterclockwise
+DigitalIn button_2(PTA4); //clockwise
+Encoder motor1(D12,D13);
+HIDScope scope(1);
+
+
+const int pressed = 0;
+
+double H;
+double P;
+double D;
+
+
+void sethome(){
+ motor1.setPosition(0);
+ H = motor1.getPosition();
+}
+
+void move_motor1_ccw (){
+ motor1_direction = 0;
+ motor1_speed = 0.8;
+}
+
+void move_motor1_cw (){
+ motor1_direction = 1;
+ motor1_speed = 0.8;
+}
+
+void movetohome(){
+ P = motor1.getPosition();
+ D = (P - H);
+
+ if (D == 0){
+ motor1_speed = 0;
+ }
+ else if (D > 0){
+ move_motor1_cw();
+ }
+ else if (D < 0){
+ move_motor1_ccw();
+ }
+}
+
+void move_motor1()
+{
+ if (button_1 == pressed) {
+ move_motor1_cw ();
+ }
+ else if (button_2 == pressed) {
+ move_motor1_ccw ();
+ }
+ else movetohome();
+}
+
+void read_encoder1 () // aflezen van encoder via hidscope??
+{
+ scope.set(0,motor1.getPosition());
+ led.write(motor1.getPosition()/100.0);
+ scope.send();
+ wait(0.2f);
+}
+
+int main()
+{
+
+ sethome();
+ while (true) {
+ read_encoder1();
+ move_motor1();
+ }
+}
\ No newline at end of file
