Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 00003 I2C link(I2C_SDA, I2C_SCL); 00004 const int addr = 0x7C; 00005 00006 void Init(void){ 00007 char cmd[2]; 00008 cmd[0] = 0x80; 00009 cmd[1] = 0x3C; 00010 link.write(addr,cmd,2); 00011 wait_us(100); 00012 00013 cmd[1] = 0x0F; 00014 link.write(addr,cmd,2); 00015 wait_us(100); 00016 00017 cmd[1] = 0x01; 00018 link.write(addr,cmd,2); 00019 wait_ms(2); 00020 00021 cmd[1] = 0x06; 00022 link.write(addr,cmd,2); 00023 wait_us(100); 00024 } 00025 00026 void initRGB(void){ 00027 char cmd[2]; 00028 00029 cmd[0] = 0x00; 00030 cmd[1] = 0x00; 00031 link.write(0xC4,cmd,2); 00032 wait_us(100); 00033 00034 cmd[0] = 0x01; 00035 cmd[1] = 0x00; 00036 link.write(0xC4,cmd,2); 00037 wait_us(100); 00038 00039 cmd[0] = 0x08; 00040 cmd[1] = 0xAA; 00041 link.write(0xC4,cmd,2); 00042 wait_us(100); 00043 } 00044 00045 void setup(char R,char G, char B){ 00046 char cmd[2]; 00047 00048 cmd[0] = 0x02; 00049 cmd[1] = B; 00050 link.write(0xC4,cmd,2); 00051 wait_us(100); 00052 00053 cmd[0] = 0x03; 00054 cmd[1] = G; 00055 link.write(0xC4,cmd,2); 00056 wait_us(100); 00057 00058 cmd[0] = 0x04; 00059 cmd[1] = R; 00060 link.write(0xC4,cmd,2); 00061 wait_us(100); 00062 } 00063 00064 00065 int main(void){ 00066 AnalogIn Pot(A0); 00067 00068 char data[12]; 00069 char R,G,B; 00070 00071 Init(); 00072 initRGB(); 00073 00074 data[0] = 0x40; 00075 data[1] = 'H'; 00076 data[2] = 'e'; 00077 data[3] = 'l'; 00078 data[4] = 'l'; 00079 data[5] = 'o'; 00080 data[6] = ' '; 00081 data[7] = 'W'; 00082 data[8] = 'o'; 00083 data[9] = 'r'; 00084 data[10] = 'l'; 00085 data[11] = 'd'; 00086 00087 link.write(addr,data,12); 00088 00089 while(1){ 00090 if( (Pot>0.2f) & (Pot<=0.4f)){ 00091 R = 0xFF; 00092 G = 0x00; 00093 B = 0x00; 00094 }else if( (Pot>0.4f) & (Pot<=0.6f) ){ 00095 R = 0x00; 00096 G = 0xFF; 00097 B= 0x00; 00098 }else if( (Pot>0.6f) ){ 00099 R = 0x00; 00100 G = 0x00; 00101 B = 0xFF; 00102 }else{ 00103 R = 0x00; 00104 G = 0x00; 00105 B = 0x00; 00106 } 00107 setup(R,G,B); 00108 } 00109 }
Generated on Sat Jul 16 2022 17:57:45 by
1.7.2