ECE 4180 Final Project

Dependencies:   mbed PinDetect

Committer:
amitchell41
Date:
Thu Dec 06 02:48:05 2018 +0000
Revision:
0:eff94d72c9f4
Child:
1:aaa03bac6dd6
my name is robomontoya you killed my father prepare to die

Who changed what in which revision?

UserRevisionLine numberNew contents of line
amitchell41 0:eff94d72c9f4 1 #include "mbed.h"
amitchell41 0:eff94d72c9f4 2 #include "Servo.h"
amitchell41 0:eff94d72c9f4 3 #include "MMA8452.h"
amitchell41 0:eff94d72c9f4 4 #include "PinDetect.h"
amitchell41 0:eff94d72c9f4 5
amitchell41 0:eff94d72c9f4 6 Serial pc(USBTX,USBRX);
amitchell41 0:eff94d72c9f4 7 DigitalOut myLed(LED1);
amitchell41 0:eff94d72c9f4 8 PinDetect pb1(p20);
amitchell41 0:eff94d72c9f4 9
amitchell41 0:eff94d72c9f4 10 Servo _base(p21);
amitchell41 0:eff94d72c9f4 11 Servo _shoulder(p22);
amitchell41 0:eff94d72c9f4 12 Servo _elbow(p23);
amitchell41 0:eff94d72c9f4 13 Servo _gripper(p24);
amitchell41 0:eff94d72c9f4 14
amitchell41 0:eff94d72c9f4 15 void swing(){
amitchell41 0:eff94d72c9f4 16 _gripper.write(1.0);
amitchell41 0:eff94d72c9f4 17 wait(.1);
amitchell41 0:eff94d72c9f4 18 _gripper.write(0.0);
amitchell41 0:eff94d72c9f4 19 }
amitchell41 0:eff94d72c9f4 20
amitchell41 0:eff94d72c9f4 21 int main() {
amitchell41 0:eff94d72c9f4 22
amitchell41 0:eff94d72c9f4 23 pb1.mode(PullUp);
amitchell41 0:eff94d72c9f4 24
amitchell41 0:eff94d72c9f4 25 double x = 0, y = 0, z = 0;
amitchell41 0:eff94d72c9f4 26 MMA8452 acc(p28, p27, 40000); //instantiate an acc object
amitchell41 0:eff94d72c9f4 27
amitchell41 0:eff94d72c9f4 28 //set parameters -- use these and don't change
amitchell41 0:eff94d72c9f4 29 acc.setBitDepth(MMA8452::BIT_DEPTH_12);
amitchell41 0:eff94d72c9f4 30 acc.setDynamicRange(MMA8452::DYNAMIC_RANGE_4G);
amitchell41 0:eff94d72c9f4 31 acc.setDataRate(MMA8452::RATE_100);
amitchell41 0:eff94d72c9f4 32
amitchell41 0:eff94d72c9f4 33
amitchell41 0:eff94d72c9f4 34 while(1) {
amitchell41 0:eff94d72c9f4 35
amitchell41 0:eff94d72c9f4 36 // if(!acc.isXYZReady())
amitchell41 0:eff94d72c9f4 37 // {
amitchell41 0:eff94d72c9f4 38 // wait(0.01);
amitchell41 0:eff94d72c9f4 39 // }
amitchell41 0:eff94d72c9f4 40 // else
amitchell41 0:eff94d72c9f4 41 // {
amitchell41 0:eff94d72c9f4 42 acc.readXYZGravity(&x,&y,&z); //notice this is passed by reference use pointers
amitchell41 0:eff94d72c9f4 43
amitchell41 0:eff94d72c9f4 44 if(y < 0)
amitchell41 0:eff94d72c9f4 45 _base.write(90+(y*-.90));
amitchell41 0:eff94d72c9f4 46 else
amitchell41 0:eff94d72c9f4 47 _base.write(90-(y*-.90));
amitchell41 0:eff94d72c9f4 48
amitchell41 0:eff94d72c9f4 49 if(x < 0)
amitchell41 0:eff94d72c9f4 50 _shoulder.write(90+(x*-.90));
amitchell41 0:eff94d72c9f4 51 else
amitchell41 0:eff94d72c9f4 52 _shoulder.write(90-(x*-.90));
amitchell41 0:eff94d72c9f4 53
amitchell41 0:eff94d72c9f4 54 if(!pb1){
amitchell41 0:eff94d72c9f4 55 myLed=1;
amitchell41 0:eff94d72c9f4 56 swing();
amitchell41 0:eff94d72c9f4 57 myLed=0;
amitchell41 0:eff94d72c9f4 58 }
amitchell41 0:eff94d72c9f4 59
amitchell41 0:eff94d72c9f4 60
amitchell41 0:eff94d72c9f4 61 // You can uncomment this line to see the values coming off the MMA8452
amitchell41 0:eff94d72c9f4 62 printf("\n(%.2f,%.2f,%.2f) \n", x,y,z);
amitchell41 0:eff94d72c9f4 63
amitchell41 0:eff94d72c9f4 64 } //end else
amitchell41 0:eff94d72c9f4 65
amitchell41 0:eff94d72c9f4 66 } //end infinite while loop
amitchell41 0:eff94d72c9f4 67 //} // end main
amitchell41 0:eff94d72c9f4 68