Mbed family has grown in the last months and nowadays the available platforms include different solutions furthermore the chipsets and the MCUs on this amazing hardware are not only made by NXP but there are many other important players like Freescale and ST:
Mbed community is huge and healty and the “competitors” of this prototyping platform (which are many) can’t take the leadership: mbed is still the best development platform for ARM microcontrollers. To start with mbed, one of the most one practical way is using the mbed application board, well suited to test all the features of the LPC1768:
Schematic:
https://mbed.org/media/uploads/chris/mbed-014.1_b.pdf
Feature list:
- 128×32 Graphics LCD
- 5 way joystick
- 2 x Potentiometers
- 3.5mm Audio jack (Analog Out)
- Speaker, PWM Conencted
- 3 Axis +/1 1.5g Accelerometer
- 3.5mm Audio jack (Analog In)
- 2 x Servo motor headers
- RGB LED, PWM connected
- USB-mini-B Connector
- Temperature sensor
- Socket for for Xbee (Zigbee) or RN-XV (Wifi)
- RJ45 Ethernet conenctor
- USB-A Connector
- 1.3mm DC Jack input
Details:
Form factor | 55mm x 86mm x 19mm (with mbed) |
128×32 Graphics LCD, SPI Interface | Newhaven C12332A1Z MOSI:p5 nRESET:p6 SCK:p7 A0:p8 |
3 Axis +/1 1.5g Accelerometer,I2C Interface | Freescale MMA7660 SCL:p27 SDA:p28 Address:0x98 |
Temperature sensor | LM75B SCL:p27 SDA:p28 Address:0x90 |
5 way Joystick | ALPS SKRHADE010 Down:p12 Left:p13 Centre:p14 Up:p15 Right:p16 |
2 x Potentiometers | Iskra PNZ10ZA, 10k Pot 1 (left) :p19 Pot 2 (right):p20 |
2 x 3.5mm Audio jack (Analog In/Out) | CUI Inc SJ-3523-SMT Analog In:p17 Analog Out:p18 |
2 x Servo motor headers | PWM1:p22 PWM2:p21 |
RGB LED, PWM connected | Cree Inc CLV1A-FKB Red:p23 Green:p24 Blue:p25 |
Speaker, PWM Connected | MULTICOMP MCSMT-8030B-3717 p26 |
USB-B Connector | Neltron, 5075ABMR-05-SM1 |
USB-A Connector | MULTICOMP,USB-A-V |
RJ45 Ethernet conenctor | Pulse Jack, J00-0045NL |
1.3mm DC Jack input | CLIFF, FC68145S 1.3mm 6v-9v Centre positive |
Let’s start with a simple example, useful to test the temperature sensor (LM75B) and the LCD display:
#include "mbed.h" #include "LM75B.h" #include "C12832_lcd.h" C12832_LCD lcd; LM75B sensor(p28,p27); Serial pc(USBTX,USBRX); int main () { //Try to open the LM75B if (sensor.open()) { printf("Device detected!\n"); while (1) { lcd.cls(); lcd.locate(0,3); lcd.printf("Temp = %.2f\n", (float)sensor); wait(1.0); } } else { error("Device not detected!\n"); } }
On the board there is a common anode RGB LED, so that “0” is on, and “1” is off; to dimm it using PWM, remember that the closer to 0.0 the brighter, the closer to 1.0 the dimmer:
#include "mbed.h" PwmOut r (p23); PwmOut g (p24); PwmOut b (p25); int main() { r.period(0.001); while(1) { for(float i = 0.0; i < 1.0 ; i += 0.001) { float p = 3 * i; r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0); g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p); b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); wait (0.01); } } }
Pwm capabilities can be tested also using the little on board speaker:
#include "mbed.h" DigitalIn fire(p14); PwmOut spkr(p26); int main() { while (1) { for (float i=2000.0; i<10000.0; i+=100) { spkr.period(1.0/i); spkr=0.5; wait(0.1); } spkr=0.0; while(!fire) {} } }
The joystick can be used to drive LED1,2,3,4 light in sequence with up, down, left, right, and pushing the button lights them all:
#include "mbed.h" BusIn joy(p15,p12,p13,p16); DigitalIn fire(p14); BusOut leds(LED1,LED2,LED3,LED4); int main() { while(1) { if (fire) { leds=0xf; } else { leds=joy; } wait(0.1); } }
Many other useful examples are available at https://mbed.org/cookbook/mbed-application-board
We want to thanks the mbed team for their kind support which made this review possible.
I need to Pulse Jack, J00-0045NL for my project but I am not using application board I need to connect Pulse Jack, J00-0045NL to LPC1768 can u help me with the physical connection.
Hi Faizan,
have you already seen this page? http://developer.mbed.org/cookbook/Ethernet-RJ45