Robofun 機器人論壇

標題: Ardunio Wi-Fi 控制自走車 [打印本頁]

作者: guadiandehao    時間: 2014-10-28 22:40
標題: Ardunio Wi-Fi 控制自走車
請問為甚麼燒以下這個程式碼 輸入IP之後可以正常顯示[attach]7753[/attach]

  1. #include <WiShield.h>
  2. #include <WiServer.h>

  3. #define WIRELESS_MODE_INFRA        1
  4. #define WIRELESS_MODE_ADHOC        2


  5. const int moto1PinA = 7;
  6. const int moto1PinB = 8;
  7. const int speedPinA = 6;


  8. const int moto2PinA = 4;
  9. const int moto2PinB = 3;
  10. const int speedPinB = 5;


  11. unsigned char local_ip[] = {192,168,0,120};
  12. unsigned char gateway_ip[] = {192,168,0,1};
  13. unsigned char subnet_mask[] = {255,255,255,0};
  14. const prog_char ssid[] PROGMEM = {"dirtyboy"};

  15. unsigned char security_type = 0;       


  16. const prog_char security_passphrase[] PROGMEM = {""};

  17. prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,        // Key 0
  18.                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // Key 1
  19.                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // Key 2
  20.                                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00        // Key 3
  21.                                 };


  22. unsigned char wireless_mode = WIRELESS_MODE_INFRA;

  23. unsigned char ssid_len;
  24. unsigned char security_passphrase_len;


  25. boolean mainpage()
  26. {

  27.          
  28.           WiServer.println("<html>");
  29.           WiServer.println("<head>");
  30.           WiServer.println("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
  31.           WiServer.println("</head>");
  32.           WiServer.println("<body>");
  33.           WiServer.println("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">");  
  34.           WiServer.println("<th>  </th>");
  35.           WiServer.println("<th>");
  36.           WiServer.println("<form  method=get>");
  37.           WiServer.println("<input type=hidden name=V value=F /><br />");
  38.           WiServer.println("<input type=submit value=前進>");
  39.           WiServer.println("</form>");
  40.           WiServer.println("</th><th> </th>");
  41.           WiServer.println("</tr>");
  42.           WiServer.println("<tr><th>");
  43.           WiServer.println("<form  method=get >");
  44.           WiServer.println("<input type=hidden name=V value=L /><br />");
  45.           WiServer.println("<input type=submit value=左轉>");
  46.           WiServer.println("</form>");
  47.           WiServer.println("</th><th>");
  48.           WiServer.println("<form  method=get >");
  49.           WiServer.println("<input type=hidden name=V value=S /><br />");
  50.           WiServer.println("<input type=submit value=停止>");
  51.           WiServer.println("</form>");
  52.           WiServer.println("</th><th> ");
  53.           WiServer.println("<form  method=get >");
  54.           WiServer.println("<input type=hidden name=V value=R /><br />");
  55.           WiServer.println("<input type=submit value=右轉>");
  56.           WiServer.println("</form>");
  57.           WiServer.println("</th></tr> <tr> <th>  </th> <th> ");
  58.           WiServer.println("<form  method=get >");
  59.           WiServer.println("<input type=hidden name=V value=B /><br />");
  60.           WiServer.println("<input type=submit value=前進>");
  61.           WiServer.println("</form>");
  62.           WiServer.println(" </th> <th> </th> </tr>");
  63.           WiServer.println("</table>");
  64.          
  65.          
  66.           WiServer.println("</body>");
  67.           WiServer.println("</html>");
  68.    
  69.           return true;
  70. }
  71. boolean  controlpage(char* URL)
  72. {
  73. //    Serial.println(URL);
  74.     if (strcmp(URL, "/") == 0)
  75.     {
  76.           mainpage();  
  77.          return true;
  78.     }
  79.     else
  80.     {
  81.          if(URL[1] == '?')
  82.          {
  83.            if((URL[2] == 'V') && (URL[3] == '='))
  84.            {
  85.               switch(URL[4])
  86.               {
  87.                  case 'F':
  88.                            forward(0, 0);
  89.                           break;
  90.                  case 'B':
  91.                            back(0, 0);
  92.                           break;
  93.                  case 'L':
  94.                            left(0, 0);
  95.                           break;
  96.                  case 'R':
  97.                            right(0, 0);
  98.                           break;
  99.                  case 'S':
  100.                            motorstop(0, 0);
  101.                           break;
  102.                
  103.               }
  104.             
  105.            }
  106.           mainpage();  
  107.           return true;         
  108.          }      
  109.     }
  110. }
  111. void motorstop(byte flag, byte numOfValues){
  112.   
  113.   analogWrite( speedPinA, 0);
  114.   analogWrite( speedPinB, 0);
  115.   
  116.   Serial.println("stop : ");
  117. }
  118. void forward(byte flag, byte numOfValues){
  119.   digitalWrite( moto1PinA, HIGH);
  120.   digitalWrite( moto1PinB, LOW);
  121.   digitalWrite( moto2PinA, HIGH);
  122.   digitalWrite( moto2PinB, LOW);
  123.   analogWrite( speedPinA, 255);
  124.   analogWrite( speedPinB, 255);
  125.   Serial.println("forward : ");  
  126. }
  127. void back(byte flag, byte numOfValues){
  128.   digitalWrite( moto1PinA, LOW);
  129.   digitalWrite( moto1PinB, HIGH);
  130.   digitalWrite( moto2PinA, LOW);
  131.   digitalWrite( moto2PinB, HIGH);
  132.   analogWrite( speedPinA, 255);
  133.   analogWrite( speedPinB, 255);
  134.   Serial.println("back : ");   
  135. }
  136. void right(byte flag, byte numOfValues){
  137.   digitalWrite( moto1PinA, LOW);
  138.   digitalWrite( moto1PinB, HIGH);
  139.   digitalWrite( moto2PinA, HIGH);
  140.   digitalWrite( moto2PinB, LOW);
  141.   analogWrite( speedPinA, 255);
  142.   analogWrite( speedPinB, 255);
  143.   Serial.println("right : ");  
  144. }
  145. void left(byte flag, byte numOfValues){
  146.   digitalWrite( moto1PinA, HIGH);
  147.   digitalWrite( moto1PinB, LOW);
  148.   digitalWrite( moto2PinA, LOW);
  149.   digitalWrite( moto2PinB, HIGH);
  150.   analogWrite( speedPinA, 255);
  151.   analogWrite( speedPinB, 255);
  152.   Serial.println("left : ");  
  153. }

  154. void setup() {
  155.   Serial.begin(9600);
  156.   
  157.   pinMode( moto1PinA, OUTPUT);
  158.   pinMode( moto1PinB, OUTPUT);
  159.   pinMode( moto2PinA, OUTPUT);
  160.   pinMode( moto2PinB, OUTPUT);
  161.   pinMode( speedPinA, OUTPUT);
  162.   pinMode( speedPinB, OUTPUT);
  163.   
  164.   WiServer.init(controlpage);
  165.   
  166.   WiServer.enableVerboseMode(true);
  167. }
  168. void loop(){
  169.   WiServer.server_task();

  170.   delay(10);
  171.   
  172. }
複製代碼



但是改成這樣之後 就無法開啟網頁呢?我只是修改了網頁的部分而已

  1. boolean mainpage()
  2. {

  3.          
  4.           WiServer.println("<html>");
  5.           WiServer.println("<head>");
  6.           WiServer.println("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
  7.           WiServer.println("</head>");
  8.           WiServer.println("<body>");
  9.           WiServer.println("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">");  
  10.           WiServer.println("<th>  </th>");
  11.           WiServer.println("<th>");
  12.           WiServer.println("<form  method=get>");
  13.           WiServer.println("<input type=hidden name=V value=F /><br />");
  14.           WiServer.println("<input type=submit value=前進>");
  15.           WiServer.println("</form>");
  16.           WiServer.println("</th><th> </th>");
  17.           WiServer.println("</tr>");
  18.           WiServer.println("<tr><th>");
  19.           WiServer.println("<form  method=get >");
  20.           WiServer.println("<input type=hidden name=V value=L /><br />");
  21.           WiServer.println("<input type=submit value=左轉>");
  22.           WiServer.println("</form>");
  23.           WiServer.println("</th><th>");
  24.           WiServer.println("<form  method=get >");
  25.           WiServer.println("<input type=hidden name=V value=S /><br />");
  26.           WiServer.println("<input type=submit value=停止>");
  27.           WiServer.println("</form>");
  28.           WiServer.println("</th><th> ");
  29.           WiServer.println("<form  method=get >");
  30.           WiServer.println("<input type=hidden name=V value=R /><br />");
  31.           WiServer.println("<input type=submit value=右轉>");
  32.           WiServer.println("</form>");
  33.           WiServer.println("</th></tr> <tr> <th>  </th> <th> ");
  34.           WiServer.println("<form  method=get >");
  35.           WiServer.println("<input type=hidden name=V value=B /><br />");
  36.           WiServer.println("<input type=submit value=前進>");
  37.           WiServer.println("</form>");
  38.           WiServer.println(" </th> <th> </th> </tr>");
  39.           WiServer.println("</table>");
  40.          
  41.           WiServer.println("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">");
  42.           WiServer.println("<th>");
  43.           WiServer.println("<form  method=get >");
  44.           WiServer.println("<input type=hidden name=V value=R /><br />");
  45.           WiServer.println("<input type=submit value=夾>");
  46.           WiServer.println("</form>");
  47.           WiServer.println("</th>");
  48.           WiServer.println("<th>");
  49.           WiServer.println("<form  method=get >");
  50.           WiServer.println("<input type=hidden name=V value=R /><br />");
  51.           WiServer.println("<input type=submit value=放開>");
  52.           WiServer.println("</form>");
  53.           WiServer.println("</th>");
  54.           WiServer.println("<th>");
  55.           WiServer.println("<form  method=get >");
  56.           WiServer.println("<input type=hidden name=V value=R /><br />");
  57.           WiServer.println("<input type=submit value=升>");
  58.           WiServer.println("</form>");
  59.           WiServer.println("</th>");
  60.           WiServer.println("<th>");
  61.           WiServer.println("<form  method=get >");
  62.           WiServer.println("<input type=hidden name=V value=R /><br />");
  63.           WiServer.println("<input type=submit value=降>");
  64.           WiServer.println("</form>");
  65.           WiServer.println("</th>");
  66.           WiServer.println("</table>");
  67.           WiServer.println("</body>");
  68.           WiServer.println("</html>");
  69.    
  70.           return true;
  71. }
複製代碼



網頁部分同樣的程式碼 我用TXT檔改成HTML檔去試
可以顯示出[attach]7752[/attach]




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2