(DA) Internet of Things and Smart Electronics- ELE3006M2122
/
18689004Coursework
Coursework
main.cpp
- Committer:
- sesa514652
- Date:
- 2022-01-05
- Revision:
- 4:167ce930c9d5
- Parent:
- 3:6ecb75a2675c
- Child:
- 5:9b2c976ca318
File content as of revision 4:167ce930c9d5:
#include "mbed.h" #include "Joystick.h" #include "N5110.h" #include "hcsr04.h" #include "Piezo.h" // y x button Joystick joystick(PTB10,PTB11,PTC16); HCSR04 sensor(D14, D15); Piezo Buzzer(PTC10); // rows,cols int sprite[8][5] = { { 0,0,1,0,0 }, { 0,1,1,1,0 }, { 0,0,1,0,0 }, { 0,1,1,1,0 }, { 1,1,1,1,1 }, { 1,1,1,1,1 }, { 1,1,0,1,1 }, { 1,1,0,1,1 }, }; //Test Void after research C++ lanuage 05/01/22 int cube(int num){ int result; result = num*num; return result; }; N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); int main() { //initialise Joystick joystick.init(); // first need to initialise display lcd.init(); // change set contrast in range 0.0 to 1.0 // 0.5 appears to be a good starting point lcd.setContrast(0.5); // Buzzer.period(10.0f); //Buzzer.pulsewidth(1); while(1) { // Tune(Buzzer,So6,8); //Stop_tunes(Buzzer); Buzzer.play(200,120); wait_ms(5); Buzzer.play(200,120); long distanced = sensor.distance(); if (distanced >= 400 || distanced <= 2) { printf("Out of range"); // calling dummy function 05/01/22 int answer = cube(2); printf("%f\n",answer); wait(1.0); } else { printf("Distance : %d cm",distanced); wait(1.0); // 1 sec } lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK); lcd.refresh(); wait(5.0); // these are default settings so not strictly needed lcd.normalMode(); // normal colour mode lcd.setBrightness(0.5); // put LED backlight on 50% lcd.clear(); lcd.printString("Hello, World!",0,0); Vector2D coord = joystick.get_coord(); lcd.refresh(); printf("Coord = %f,%f\n",coord.x,coord.y); char buffer[14]; Vector2D mapped_coord = joystick.get_mapped_coord(); printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y); int length = sprintf(buffer,"T = %2f",coord.x); // it is important the format specifier ensures the length will fit in the buffer if (length <= 14) // if string will fit on display (assuming printing at x=0) lcd.printString(buffer,0,1); // display on screen lcd.refresh(); lcd.clear(); // times by 50 to try get the point moving across screen float x50 = mapped_coord.x*5; float y50 = mapped_coord.y*8; // to see what the values are printf(" *50 = %f,%f\n",x50,y50); // // example of how to draw circles lcd.printChar('o',WIDTH/2,HEIGHT/2); lcd.refresh(); float mag = joystick.get_mag(); float angle = joystick.get_angle(); printf("Mag = %f Angle = %f\n",mag,angle); Direction d = joystick.get_direction(); printf("Direction = %i\n",d); if (joystick.button_pressed() ) { printf("Button Pressed\n"); } } }