LED control system!

  1. include "mbed.h"
  2. include "TextLCD.h"
  3. include <math.h>
  1. ifndef M_PI
  2. define M_PI 3.1415
  3. endif

TextLCD lcd(p15, p16, p17, p18, p19, p20); rs, e, d4-d7 BusOut Bar(p5,p6,p7,p8,p9,p10,p11,p12,p13,p14); PwmOut led1(LED1); PwmOut led2(LED2); PwmOut led3(LED3); PwmOut led4(LED4); Serial pc(USBTX, USBRX); tx, rx

char res; float wait_time = 0.005; float f = 0.0;

void loop1() { int i = 0;

while (i < 1000) { led1 = sin( (f ) * M_PI / 180.0) + 1.0; led2 = sin( (f + 90.0) * M_PI / 180.0) + 1.0; led3 = sin( (f + 180.0) * M_PI / 180.0) + 1.0; led4 = sin( (f + 270.0) * M_PI / 180.0) + 1.0; f += 1.0; wait(wait_time); i++; } }

void loop2() { int i = 0;

while (i < 1000) { led1 = sin( (f ) * M_PI / 180.0) + 1.0; led2 = sin( (f - 90.0) * M_PI / 180.0) + 1.0; led3 = sin( (f - 180.0) * M_PI / 180.0) + 1.0; led4 = sin( (f - 270.0) * M_PI / 180.0) + 1.0; f += 1.0; wait(wait_time); i++; } } int main() { lcd.printf(" Hello!\n"); lcd.printf(" Hi!\n"); led1=0.1; led2=0.1; led3=0.1; led4=0.1; Bar = 3;

wait(wait_time); Start from LSB first

while (1) { if (pc.readable()) { res = pc.getc();

if (res == '0') { lcd.printf("OFF\n"); wait(wait_time); loop1(); }

else if (res == '1') { lcd.printf(" ON\n"); wait(wait_time); loop2(); }

else { lcd.printf("!!!\n"); led1 = 0.5; led2 = 0.5; led3 = 0.5; led4 = 0.5;

Shift from LSB to MSB for (int i = 1; i < 10; i++) { Bar = 3 << i; wait(0.1); }

Shift from MSB to LSB for (int i = 1; i < 10; i++) { Bar = 0x0300 >> i; wait(0.1); } }

} } }


Please log in to post comments.