11:53 PM
0
Điều khiển LED RGB với điện thoại Android và Pic18f4550 ethernet enc28j60

LED RGB control
CONTROL RGB LED PIC18F4550+ANDROID
Điều khiển LED RGB sử dụng pic18f4550 giao tiếp với module ethernet ẹnc28j60. Điều khiển bằng điện thoại android thông qua kết nối wifi/3G
Chương trình điều khiển LED RGB. Phần cứng sử dụng module ethern Enc28j60 và Pic18f4550. Phần cứng đóng vai trog là server nắng nghe ở chế độ TCPIP trên địa chỉ 192.168.120 và sử dụng port 8000.
Module Ethernet
Ethernet Enc28j60
 Định nghĩ chân kết nối  với module ethernet enc28j60
#define PIN_ENC_MAC_SO PIN_B0 // PIC <<<< ENC
#define PIN_ENC_MAC_SI PIN_C7 // PIC >>>> ENC
#define PIN_ENC_MAC_CLK PIN_B1
#define PIN_ENC_MAC_INT PIN_B2 
#define PIN_ENC_MAC_CS PIN_E0
#define PIN_ENC_MAC_RST PIN_E1
#define PIN_ENC_MAC_WOL PIN_E2
LED RGB( Dương chung)
Đo điện áp sử dụng của các màu là khác nhau nên ta phải nối thêm điện trở cho phù hợp. Đối với LED mình dùng mua tại mualinhkien.vn, khi nối với điện áp 5V  thì màu đỏ được nối với điện trở 180 Ohm, xanh lá và xanh dương nối với trở 150 Ohm.
LED RGB
#define LED_G PIN_C0
#define LED_B PIN_C1 
#define LED_R PIN_C2
Code:
Chương trình xử lý màu sắc:
void ProcesaRGB() {
   int8 i=0;
   int1 ChangeRed, ChangeGreen, ChangeBlue;

   ChangeRed=false;
   ChangeGreen=false;
   ChangeBlue=false;

   while (i<CharRec) {
      if ((Buffer[i]=='r') || (Buffer[i]=='R')) {
         ChangeRed=true;
         ChangeGreen=false;
         ChangeBlue=false;            
         Red=0;
      }              
      if ((Buffer[i]=='g') || (Buffer[i]=='G')) {
         ChangeGreen=true;
         ChangeRed=false;
         ChangeBlue=false;
         Green=0;
      }
      if ((Buffer[i]=='b') || (Buffer[i]=='B')) {
         ChangeBlue=true;
         ChangeRed=false;
         ChangeGreen=false;
         Blue=0;
      }
      if ((Buffer[i]>='0') && (Buffer[i]<='9')) {
         if (ChangeRed)
            Red=(Red*10+Buffer[i]-48);
         if (ChangeGreen)
            Green=(Green*10+Buffer[i]-48);
         if (ChangeBlue)
            Blue=(Blue*10+Buffer[i]-48);  
      }
      if ((Buffer[i]=='d') || (Buffer[i]=='D'))
         Demo();
      i++;
   }
   printf(lcd_putc,"\fRed = %u, Green = %u, Blue = %u \n",Red,Green,Blue);
   CharRec=0;

   ComRec=false;

Chương trình xử lý lệnh điều khiển
Chương trình điều khiển màu sắc

 Tải về phần mềm điều khiển: RGB Control
https://play.google.com/store/apps/details?id=vn.mualinhkien.share.rgbledcontrol

0 comments:

Post a Comment

 

Lập trình

-

Arduino Hải Phòng

,