![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Coursework
Diff: main.cpp
- Revision:
- 0:1f799c7cce2b
- Child:
- 1:757728321abd
diff -r 000000000000 -r 1f799c7cce2b main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Dec 16 14:03:11 2021 +0000 @@ -0,0 +1,105 @@ +#include "mbed.h" +#include "Joystick.h" +#include "N5110.h" +#include "hcsr04.h" +// y x button +Joystick joystick(PTB10,PTB11,PTC16); +HCSR04 sensor(D14, D15); + long distance = sensor.distance(); + +// 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 }, +}; +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); + + while(1) { + + + + // 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',x50/2,y50/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"); + } + + + if (distance >= 400 || distance <= 2) + { + printf("Out of range"); + wait(1.0); + } + if (distance >= 300 || distance <= 50) + { + printf("Range one"); + wait(1.0); + } + else + + { + printf("Distance : %d cm",distance); + wait(1.0); // 1 sec + } + + } +} + + + + +