Lab_3 complete with questions
Dependencies: mbed C12832 MMA7660
Revision 3:3e7fa75444fe, committed 2021-05-19
- Comitter:
- stephensv650
- Date:
- Wed May 19 10:40:47 2021 +0000
- Parent:
- 2:31b0dedb8d0f
- Commit message:
- Q13 complete
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 31b0dedb8d0f -r 3e7fa75444fe main.cpp --- a/main.cpp Tue May 18 15:43:20 2021 +0000 +++ b/main.cpp Wed May 19 10:40:47 2021 +0000 @@ -1,56 +1,37 @@ - -#include "mbed.h" // Stephen Reidy; Q13 -#include "MMA7660.h" // Include Accelerometer header - -MMA7660 MMA(p28, p27); // Accelerometer pins initialised -Serial pc(USBTX, USBRX); // Transmit & Receive pins initialised -int Zaxis_n; -DigitalOut RED(p23); -DigitalOut GREEN(p24); -DigitalOut BLUE(p25); - -DigitalOut connectionLed(LED1); // led output -float pi = 3.14159; // pi value set +/* Q13 complete, version 3. calculations for X & Y axis removed */ -float CalculateX (float x, float y, float z) // Pitch calculate function -{ - float pitch = 0.0; // pitch initialised - pitch = atan(x /sqrt((y*y)+(z*z)) ); // pitch calculations - pitch = pitch * (180/pi); // pitch x 180/3.14159 - return pitch; -} +#include "mbed.h" // Stephen Reidy; Q13 +#include "MMA7660.h" // Include Accelerometer header -float CalculateY (float x, float y, float z) // Slope calculate function -{ - float slope = 0.0; // slope initialised - slope = atan(y /sqrt((x*x)+(z*z)) ); // slope calculations - slope = slope * (180/pi); // slope x 180/3.14159 - return slope; -} +MMA7660 MMA(p28, p27); // Accelerometer pins initialised +Serial pc(USBTX, USBRX); // Transmit & Receive pins initialised +int Zaxis_p; // Z axis initilised +int Xaxis_p; // X axis initilised +int Yaxis_p; // Y axis initilised +DigitalOut RED(p23); // Red LED initilised +DigitalOut GREEN(p24); // Green LED initilised +DigitalOut BLUE(p25); // Blue LED initilised -int main() //Main structure +int main() //Main structure { while (1) { - float XResult = CalculateX(MMA.x(),MMA.y(), MMA.z()); //X result initialised - float YResult = CalculateY (MMA.x(), MMA.y(), MMA.z()); //Y result initialised - pc.printf("Pitch is %.4f degrees, and slope is %.4f degrees \n\r", XResult, YResult); //PC print slope (Y)& pitch (X) (Tera term) - if (Zaxis_n = -MMA.z()) { // Display blue LED for z axis motion + if (Zaxis_p >= 5) { // Display blue LED for z axis motion RED = 1; //blue GREEN = 1; BLUE = 0; wait(.5); } - if (XResult >= 5) { // Display green LED for x axis motion + if (Xaxis_p >= 5) { // Display green LED for x axis motion RED = 1; //green GREEN = 0; BLUE = 1; wait(.5); } - if (YResult >= 5) { // Display blue LED for y axis motion + if (Yaxis_p >= 5) { // Display blue LED for y axis motion RED = 0; //red GREEN = 1; BLUE = 1;