<em id="ri2my"></em>
  • <em id="ri2my"></em>
    <em id="ri2my"><label id="ri2my"><nav id="ri2my"></nav></label></em>
  • <em id="ri2my"><label id="ri2my"></label></em>
    <div id="ri2my"></div>
    1. <em id="ri2my"><label id="ri2my"></label></em>
    2. <em id="ri2my"><ol id="ri2my"></ol></em>
      <em id="ri2my"></em>

      1. 智能車

        作者:Greddy | 更新時間:2019-05-20 | 瀏覽量:701

        這是一個自己做的智能車,有循跡避障功能。可以用貝殼互聯控制小車前進后退,但是切換到循跡就只能動一下,有啥辦法讓他一直動嗎

        String DEVICEID="3935"; // 你的設備編號==

        String  APIKEY="b11db05cf"; // 設備密碼==

        //==================================

        const int LED2 = 9; // LED正極連接針腳  左輪子IN1

        const int LED3 = 10;// LED正極連接針腳  左輪子IN2

        const int LED4 = 11;// LED正極連接針腳  右輪子IN3

        const int LED5 = 12;// LED正極連接針腳  右輪子IN4

        const int LED6 = 13;// LED正極連接針腳  鳴笛

        unsigned long lastCheckInTime = 0; //記錄上次報到時間

        const unsigned long postingInterval = 40000; // 每隔40秒向服務器報到一次

        int pxq;  //定義變量用于將C字符串變成pxq整數型

        String inputString = "";

        boolean stringComplete = false;

        boolean CONNECT = true; 

        char* parseJson(char *jsonString);

        void setup() {

           pinMode(LED2, OUTPUT); 

           pinMode(LED3, OUTPUT);

           pinMode(LED4, OUTPUT);

           pinMode(LED5, OUTPUT);

           pinMode(LED6, OUTPUT); 

           Serial.begin(115200);

           delay(5000);

        }

        void loop() {

           if(millis() - lastCheckInTime > postingInterval || lastCheckInTime==0) {

             checkIn();

           }

           serialEvent();

             if (stringComplete) {

               inputString.trim();

               //Serial.println(inputString);

               if(inputString=="CLOSED"){

                 Serial.println("connect closed!");

                 CONNECT=false;        

               }else{

                 int len = inputString.length()+1;    

                 if(inputString.startsWith("{")&& inputString.endsWith("}")){

                   char jsonString[len];

                   inputString.toCharArray(jsonString,len);

                   aJsonObject *msg = aJson.parse(jsonString);

                   processMessage(msg);

                   aJson.deleteItem(msg);          

                 }

               }      

               // clear the string:

               inputString = "";

               stringComplete = false;    

           }

        }

        void checkIn() {

           if (!CONNECT) {

             Serial.print("+++");

             delay(500);  

             Serial.print("\r\n"); 

             delay(1000);

             Serial.print("AT+RST\r\n"); 

             delay(6000);

             CONNECT=true;

             lastCheckInTime=0;

           }

           else{

             Serial.print("{\"M\":\"checkin\",\"ID\":\"");

             Serial.print(DEVICEID);

             Serial.print("\",\"K\":\"");

             Serial.print(APIKEY);

             Serial.print("\"}\r\n");

             lastCheckInTime = millis();   

           }

        }

        void processMessage(aJsonObject *msg){

           aJsonObject* method = aJson.getObjectItem(msg, "M");

           aJsonObject* content = aJson.getObjectItem(msg, "C");     

           aJsonObject* client_id = aJson.getObjectItem(msg, "ID");  

           //char* st = aJson.print(msg);

           if (!method) {

             return;

           }

             //Serial.println(st); 

             //free(st);

             String M=method->valuestring;

             String C=content->valuestring;

             String F_C_ID=client_id->valuestring;

             if(M=="say"){

               if(C=="1001"){                  //前

                 digitalWrite(LED2, LOW);     

                 digitalWrite(LED3, HIGH);

                 digitalWrite(LED4, LOW); 

                 digitalWrite(LED5, HIGH);     

                 sayToClient(F_C_ID,"qian on!");    

               }

                if(C=="2001"){                  //后 

                 digitalWrite(LED2, HIGH);

                 digitalWrite(LED3, LOW);     

                 digitalWrite(LED4, HIGH);  

                 digitalWrite(LED5, LOW); 

                 sayToClient(F_C_ID,"hou on!");    

               }

               if(C=="1002"){                     //停止

                 digitalWrite(LED2, LOW);

                 digitalWrite(LED3, LOW);     

                 digitalWrite(LED4, LOW);  

                 digitalWrite(LED5, LOW);         

                 sayToClient(F_C_ID,"ting off!");    

               }

                  if(C=="3001"){            //左

                 digitalWrite(LED2, HIGH);

                 digitalWrite(LED3, LOW);     

                 digitalWrite(LED4, LOW);  

                 digitalWrite(LED5, HIGH);  

                 sayToClient(F_C_ID,"zuo on!");    

               }

                  if(C=="4001"){             //右

                 digitalWrite(LED2, LOW);

                 digitalWrite(LED3, HIGH);     

                 digitalWrite(LED4, HIGH);  

                 digitalWrite(LED5, LOW);   

                 sayToClient(F_C_ID,"you on!");    

               }

                  if(C=="5001"){             //鳴笛   

                 digitalWrite(LED6, HIGH);      

                 sayToClient(F_C_ID,"mingdi on!");    

               }    

                  if(C=="2002"){             //靜音

                 digitalWrite(LED6, LOW);           

                 sayToClient(F_C_ID,"mingdi off!");    

               }     

         

              }

        }

        void sayToClient(String client_id, String content){

           Serial.print("{\"M\":\"say\",\"ID\":\"");

           Serial.print(client_id);

           Serial.print("\",\"C\":\"");

           Serial.print(content);

           Serial.print("\"}\r\n");

           lastCheckInTime = millis();

        }

        void serialEvent() {

           while (Serial.available()) {

             char inChar = (char)Serial.read();

             inputString += inChar;

             if (inChar == '\n') {

               stringComplete = true;

             }

           }

        }

        上面是程序,我想在它等于2003時一直執行循跡程序,但是沒法做到,有啥辦法嗎


        評論:共3條

        貝殼物聯 評論于:2019-05-20 08:41:39
        小車呢,看看...
        Greddy 評論于:2019-05-20 12:33:15
        怎么上傳圖片
        貝殼物聯 回復于:2019-05-20 14:15:15
        回復 @Greddy:編輯話題,編輯欄里有圖片選項,看看就明白了
        返回頂部

        <em id="ri2my"></em>
      2. <em id="ri2my"></em>
        <em id="ri2my"><label id="ri2my"><nav id="ri2my"></nav></label></em>
      3. <em id="ri2my"><label id="ri2my"></label></em>
        <div id="ri2my"></div>
        1. <em id="ri2my"><label id="ri2my"></label></em>
        2. <em id="ri2my"><ol id="ri2my"></ol></em>
          <em id="ri2my"></em>

          1. 免费高清视频