Level 2 Project Range Device

Dependencies:   N5110 SDFileSystem SRF02 TMP102 mbed

Files at this revision

API Documentation at this revision

Comitter:
el15pjt
Date:
Fri Mar 18 15:04:05 2016 +0000
Child:
1:5b991c2302e1
Commit message:
Basic;

Changed in this revision

N5110.lib Show annotated file Show diff for this revision Revisions of this file
SRF02.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/N5110.lib	Fri Mar 18 15:04:05 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/eencae/code/N5110/#ba8addc061ea
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SRF02.lib	Fri Mar 18 15:04:05 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/eencae/code/SRF02/#ad1613b4145c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Mar 18 15:04:05 2016 +0000
@@ -0,0 +1,107 @@
+/*
+Philip Thompsonn
+EL15PJT
+Embedded System Project
+EL2645
+ 
+ 
+ Have added the N5110 Libary and set up a a basic disply of the Range reading
+ as well as added LED indictors to range
+*/
+
+
+#include "mbed.h"
+#include "SRF02.h"
+#include "N5110.h"
+
+BusOut output(PTB2,PTB3,PTB10,PTB11,PTC11,PTC10);
+
+// Ranger object
+SRF02 srf02(I2C_SDA,I2C_SCL);
+
+// UART connection for PC
+Serial pc(USBTX,USBRX);
+
+//N5110 Object  VCC, SCE,RST, D/C, MOSI,SCLK, LED
+N5110           lcd(PTE26,PTA0,PTC4,PTD0,PTD2,PTD1,PTC3);
+
+// K64F on-board LEDs
+DigitalOut r_led(LED_RED);
+DigitalOut g_led(LED_GREEN);
+DigitalOut b_led(LED_BLUE);
+
+// K64F on-board switches
+InterruptIn sw2(SW2);
+InterruptIn sw3(SW3);
+
+int distance;
+int length;
+
+// setup serial port
+void init_serial();
+// set up board
+void init_K64F();
+
+char buffer[14];  // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14)
+
+int main()
+{
+    lcd.init();
+    init_serial();
+    init_K64F();
+    while(1) {
+
+        // read sensor distance in cm and print over serial port
+        int distance = srf02.getDistanceCm();
+        //serial link reading of range
+        pc.printf("Distance = %i Cm\n",distance);
+        // short delay before next measurement
+        wait(0.25);
+
+        length = sprintf(buffer,"D = %i Cm",distance);
+
+        if (length <= 14)
+
+            lcd.printString(buffer,0,2);
+        // need to refresh display after setting pixels
+        lcd.refresh();
+
+//LED range indicator runn of the bus out
+        if (distance >= 150) {
+            output = 3;
+        }
+
+        else if (100 <= distance  < 150) {
+            output = 15;
+        }
+
+        else if (distance <= 100) {
+            output = 67;
+        }
+
+        else {
+            output = 0
+
+        }
+    }
+}
+
+// Used to return a range readig thru a serial connection
+void init_serial()
+{
+    // set to highest baud - ensure terminal software matches
+    pc.baud(115200);
+}
+//Set up board switches and LEDS
+void init_K64F()
+{
+//on-board LEDs are active-low, so set pin high to turn them off.
+    r_led = 1;
+    g_led = 1;
+    b_led = 1;
+
+// since the on-board switches have external pull-ups, we should disable the internal pull-down
+// resistors that are enabled by default using InterruptIn
+    sw2.mode(PullNone);
+    sw3.mode(PullNone);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Mar 18 15:04:05 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/252557024ec3
\ No newline at end of file