![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
4180 Lab 4 Project
Dependencies: 4DGL-uLCD-SE DebounceIn EthernetInterface HTTPClient Motor NTPClient Servo mbed-rtos mbed
Fork of 4180_BLE_Eth by
Revision 1:4ea41c8f9bfb, committed 2017-03-16
- Comitter:
- vceyssens3
- Date:
- Thu Mar 16 16:01:29 2017 +0000
- Parent:
- 0:9744f456fe92
- Commit message:
- Lab 4 ECE 4180 Project;
Changed in this revision
DebounceIn.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 |
diff -r 9744f456fe92 -r 4ea41c8f9bfb DebounceIn.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DebounceIn.lib Thu Mar 16 16:01:29 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/AjK/code/DebounceIn/#91a2e988ba9d
diff -r 9744f456fe92 -r 4ea41c8f9bfb main.cpp --- a/main.cpp Wed Mar 15 18:10:35 2017 +0000 +++ b/main.cpp Thu Mar 16 16:01:29 2017 +0000 @@ -6,10 +6,13 @@ #include "Servo.h" #include "Motor.h" + + Serial blue(p13,p14); PwmOut ledRGB(p23); Servo myservo(p22); Motor m(p21, p17, p16); // pwm, fwd, rev +//InterruptIn button(p28); //SET UP ETHERNET & ULCD EthernetInterface eth; @@ -20,16 +23,32 @@ char httpGetData[200]; //BUFFER TO HOLD DATA FROM HTTP GET REQUEST BusOut myled(LED1,LED2,LED3,LED4); - + + +// +//void flip(){ +// setTime = 1+setTime; +// if (setTime > 24) { +// setTime = 00; +// } +// } + + int main() { + volatile int lowtime = 0; + volatile int setTime = 0; +// button.mode(PullUp); char bnum = 0; char bhit=0; float brightness = 0.5f; int hour, prevHour; + +// button.rise(&flip); ledRGB = brightness; time_t ctTime; //system time structure uLCD.baudrate(2000000); //Crank up Baudrate uLCD.cls(); //Clear uLCD screen + uLCD.color(BLACK); uLCD.background_color(WHITE); //SET BACKGROUND COLOR TO WHITE //SETS THE BACKGROUND COLOR OF TEXT TO WHITE ON THE ULCD uLCD.textbackground_color(WHITE); @@ -97,9 +116,9 @@ char buffer[80]; //BUFFER TO HOLD FORMATTED TIME DATA uLCD.color(BLUE);//SET TEXT COLOR TO BLUE uLCD.locate(0,8); - uLCD.printf("%s, %s %s\n",city,stateAbrv,zip); //PRINT CITY STATE AND ZIP INFORMATION - uLCD.printf("%s\nLAT:%s\nLONG:%s\n",countryAbrv,latitude,longitude); //PRINT COUNTRY and LATITUDE AND LONGITUDE - uLCD.printf("Timezone:\n%s",timeZone); //PRINT TIMEZONE + uLCD.printf("\n\n\n\n\n\n%s, %s %s\n",city,stateAbrv,zip); //PRINT CITY STATE AND ZIP INFORMATION +// uLCD.printf("\nLAT:%s\nLONG:%s\n",latitude,longitude); //PRINT COUNTRY and LATITUDE AND LONGITUDE +// uLCD.printf("Timezone:\n%s",timeZone); //PRINT TIMEZONE uLCD.color(RED); eth.disconnect(); //DISCONNECT FROM THE NETWORK uLCD.text_height(2); //2x Text Height @@ -110,18 +129,26 @@ //FORMAT TIME FOR DISPLAY AND STORE FORMATTED RESULT IN BUFFER strftime(buffer,80,"%a %b %d\n%T %p %z\n %Z\n",localtime(&ctTime)); hour = (*(localtime(&ctTime))).tm_hour; - if(hour!=prevHour && hour == 17){ + if(hour!=prevHour && hour == setTime){ m.speed(-0.8f); - wait(10); + wait(5); m.speed(0.0f); + prevHour = hour; } - else if(hour!=prevHour && hour == 7){ + else if(hour!=prevHour && hour == lowtime){ m.speed(0.8f); - wait(10); + wait(5); m.speed(0.0f); + prevHour = hour; } - prevHour = hour; + if(hour == prevHour +1){ + prevHour = setTime + 1; + } + uLCD.printf("Univ Time Clock\n%s", buffer); +// uLCD.text_height(0.5); + uLCD.printf("Night Time: %02i\n", setTime); + uLCD.printf("Morning Time: %02i", lowtime); if(blue.readable()){ if (blue.getc()=='!') { if (blue.getc()=='B') { //button data packet @@ -132,28 +159,40 @@ switch (bnum) { case '1': //number button 1 if (bhit=='1') { - //add hit code here + setTime = setTime + 1; + if (setTime > 24) { + setTime = 0; + } } else { //add release code here } break; case '2': //number button 2 if (bhit=='1') { - //add hit code here + setTime = setTime - 1; + if (setTime < 0){ + setTime = 24; + } } else { //add release code here } break; case '3': //number button 3 if (bhit=='1') { - //add hit code here + lowtime = lowtime + 1; + if (lowtime > 24){ + lowtime = 0; + } } else { //add release code here } break; case '4': //number button 4 if (bhit=='1') { - //add hit code here + lowtime = lowtime - 1; + if (lowtime < 0){ + lowtime = 24; + } } else { //add release code here }