mbed application board demo includes lcd, pot, joystick, rgb led, websocket, mbed rtos. websocket demo url is => http://sockets.mbed.org/gordonlu/viewer
Dependencies: C12832 EthernetInterface WebSocketClient mbed-rtos mbed
Fork of rtos_basic by
Diff: main.cpp
- Revision:
- 7:71124ec77f83
- Parent:
- 3:c92e21f305d8
- Child:
- 8:421c13d323a0
--- a/main.cpp Tue Jun 04 16:01:32 2013 +0100 +++ b/main.cpp Fri Feb 06 04:11:33 2015 +0000 @@ -1,8 +1,10 @@ -#include "mbed.h" +/*#include "mbed.h" #include "rtos.h" +#include "C12832.h" DigitalOut led1(LED1); DigitalOut led2(LED2); +C12832 lcd(p5, p7, p6, p8, p11); void led2_thread(void const *args) { while (true) { @@ -13,9 +15,87 @@ int main() { Thread thread(led2_thread); - + lcd.cls(); + lcd.locate(0,3); + lcd.printf("mbed application board!"); while (true) { led1 = !led1; Thread::wait(500); } } +*/ +#include "mbed.h" +#include "rtos.h" +#include "C12832.h" + + +C12832 lcd(p5, p7, p6, p8, p11); +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +DigitalOut myled4(LED4); +PwmOut r (p23); +PwmOut g (p24); +PwmOut b (p25); +AnalogIn pot1(p19); +AnalogIn pot2(p20); +BusIn joystick(p12, p13, p14, p15, p16); + + +const int LEDNUM = 4; + +void rollingLed() +{ + static int onled = 0; + int led[LEDNUM] = {0,0,0,0}; + + led[onled] = 1; + ++onled; + if(onled == 4) onled = 0; + + myled1 = led[0]; + myled2 = led[1]; + myled3 = led[2]; + myled4 = led[3]; +} +int main() +{ + int j=1; + lcd.cls(); + + r.period(0.001); + g.period(0.001); + b.period(0.001); + + r = 1; + g = 1; + b = 1; + + while(true) + { + float pt1 = pot1.read(); + float pt2 = pot2.read(); + int js = joystick.read(); + + + lcd.locate(0,1); + lcd.printf("Counting : %d JoyStick:%02X",j++ , js); + lcd.locate(0,11); + lcd.printf("Pot1 : %.3f Pot2 : %.3f", pt1,pt2); + lcd.locate(0,21); + lcd.printf("-----------Pot END-----------"); + + r = 1 - pt1; + g = 1 - pt2; + + if(0x10 == js)b = 0; //right, turn on blue led + else if (0x02 == js) b = 1; //left, turn of blue led + else if(0x01 == js) b.write( b + 0.1); //down + else if(0x08 == js) b.write( b - 0.1); //up + + printf("Pot1 : %.3f Pot2 : %.3f Joystick:%02X\r\n", pt1, pt2, js); + rollingLed(); + Thread::wait(100); + + } +} \ No newline at end of file