ECE3872 HW/SW Project Code

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1

Committer:
trmontgomery
Date:
Sat Apr 04 23:51:19 2020 +0000
Revision:
19:f76e4ffddbe1
refactoring and servo testing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
trmontgomery 19:f76e4ffddbe1 1 /*// Hello World to sweep a servo through its full range
trmontgomery 19:f76e4ffddbe1 2
trmontgomery 19:f76e4ffddbe1 3 #include "mbed.h"
trmontgomery 19:f76e4ffddbe1 4 #include "Servo.h"
trmontgomery 19:f76e4ffddbe1 5 #include "rtos.h"
trmontgomery 19:f76e4ffddbe1 6
trmontgomery 19:f76e4ffddbe1 7 Servo r_arm(p18);
trmontgomery 19:f76e4ffddbe1 8 Servo l_arm(p19);
trmontgomery 19:f76e4ffddbe1 9 //Servo r_leg(p20);
trmontgomery 19:f76e4ffddbe1 10 //Servo l_leg(p21);
trmontgomery 19:f76e4ffddbe1 11
trmontgomery 19:f76e4ffddbe1 12 Thread t_r_arm;
trmontgomery 19:f76e4ffddbe1 13 Thread t_l_arm;
trmontgomery 19:f76e4ffddbe1 14 //Thread t_r_leg;
trmontgomery 19:f76e4ffddbe1 15 //Thread t_l_leg;
trmontgomery 19:f76e4ffddbe1 16
trmontgomery 19:f76e4ffddbe1 17 DigitalOut led(LED4);
trmontgomery 19:f76e4ffddbe1 18
trmontgomery 19:f76e4ffddbe1 19 //left sensor move whole left side
trmontgomery 19:f76e4ffddbe1 20 //right sensor moves whole right side //not gonna think about this right now. Dicuss ideas with team.
trmontgomery 19:f76e4ffddbe1 21 //and then the distance can just control the height
trmontgomery 19:f76e4ffddbe1 22 //movement pattern can be random.. right now every other note recorded will be distributed to one side and the rest will go to the other
trmontgomery 19:f76e4ffddbe1 23
trmontgomery 19:f76e4ffddbe1 24
trmontgomery 19:f76e4ffddbe1 25 float dists[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; //should I lock this or just make new arrs?
trmontgomery 19:f76e4ffddbe1 26 float r_dists[] = {1,3,5,7,9,11,13,15,17,19};
trmontgomery 19:f76e4ffddbe1 27 float l_dists[] = {2,4,6,8,10,12,14,16,18,20};
trmontgomery 19:f76e4ffddbe1 28
trmontgomery 19:f76e4ffddbe1 29
trmontgomery 19:f76e4ffddbe1 30 void r_dance() {
trmontgomery 19:f76e4ffddbe1 31 r_arm = 0;
trmontgomery 19:f76e4ffddbe1 32 for(int i = 0; i < 10; ++i) {
trmontgomery 19:f76e4ffddbe1 33 r_arm = r_dists[i]/20;
trmontgomery 19:f76e4ffddbe1 34 wait(0.2);
trmontgomery 19:f76e4ffddbe1 35 }
trmontgomery 19:f76e4ffddbe1 36 }
trmontgomery 19:f76e4ffddbe1 37
trmontgomery 19:f76e4ffddbe1 38 void l_dance() {
trmontgomery 19:f76e4ffddbe1 39 l_arm = 0;
trmontgomery 19:f76e4ffddbe1 40 for(int i = 0; i < 10; ++i) {
trmontgomery 19:f76e4ffddbe1 41 l_arm = l_dists[i]/20;
trmontgomery 19:f76e4ffddbe1 42 wait(0.2);
trmontgomery 19:f76e4ffddbe1 43 }
trmontgomery 19:f76e4ffddbe1 44 }
trmontgomery 19:f76e4ffddbe1 45
trmontgomery 19:f76e4ffddbe1 46
trmontgomery 19:f76e4ffddbe1 47 void motor_ctl(){
trmontgomery 19:f76e4ffddbe1 48 t_r_arm.start(r_dance);
trmontgomery 19:f76e4ffddbe1 49 t_l_arm.start(l_dance);
trmontgomery 19:f76e4ffddbe1 50 }
trmontgomery 19:f76e4ffddbe1 51
trmontgomery 19:f76e4ffddbe1 52 */