Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ esp8266mod板的gps和超声波代码_C++_Arduino - Fatal编程技术网

C++ esp8266mod板的gps和超声波代码

C++ esp8266mod板的gps和超声波代码,c++,arduino,C++,Arduino,我使用esp8266mod为gps和超声波编程代码 单独运行每个代码时,代码正常工作,但组合代码时,gps不工作,但超声波给出距离。如果有人能帮我解决这个问题 gps代码和超声波代码 这是我的密码: #include <TinyGPS++.h> #include <SoftwareSerial.h> #include <HttpClient.h> #include <ESP8266WiFi.h> #include <WiFiClient.h&

我使用esp8266mod为gps和超声波编程代码 单独运行每个代码时,代码正常工作,但组合代码时,gps不工作,但超声波给出距离。如果有人能帮我解决这个问题

gps代码和超声波代码

这是我的密码:

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <HttpClient.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#define echoPin 16 // attach pin D2 Arduino to pin Echo of HC-SR04
#define trigPin 4 //attach pin D4 Arduino to pin Trig of HC-SR04
// defines variables
long duration; // variable for the duration of sound wave travel
int distance; // variable for the distance measurement
int RXPin = 13;
int TXPin = 0;
int GPSBaud = 9600;
// Create a TinyGPS++ object
TinyGPSPlus gps;
SoftwareSerial gpsSerial(RXPin, TXPin);
                      
long  cm, inches;

void setup() {
  Serial.begin(9600);
 
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
  pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
  Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor
  Serial.println("with WeMos ");
 gpsSerial.begin(GPSBaud);
 
  delay(2000);
 
}
void loop()
{
 currentMillis = millis();
 
 digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  // Sets the trigPin HIGH (ACTIVE) for 10 microseconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  
       
  // Calculating the distance
 distance= duration*0.034/2; // Speed of sound wave divided by 2 (go and back)
           

    Serial.println();
    Serial.print("Distance: ");
  Serial.print(distance);
      
    while (gpsSerial.available() > 0)
    if (gps.encode(gpsSerial.read()))
      displayInfo();
   if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    Serial.println("No GPS detected");
    while(true);
  }
  
 
}
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
void displayInfo()
{
  if (gps.location.isValid())
  {
    Serial.print("Latitude: ");
    Serial.println(gps.location.lat(), 6);
    Serial.print("Longitude: ");
    Serial.println(gps.location.lng(), 6);
    Serial.print("Altitude: ");
    Serial.println(gps.altitude.meters());
  }
  else
  {
    Serial.println("Location: Not Available");
  }
  
     Serial.println();
 
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#定义echoPin 16//将针脚D2 Arduino连接到HC-SR04的针脚Echo上
#定义trigPin 4//将插脚D4 Arduino连接到HC-SR04的插脚Trig上
//定义变量
持续时间长;//声波传播持续时间的变量
整数距离;//用于距离测量的变量
int RXPin=13;
int-TXPin=0;
int GPSBaud=9600;
//创建TinyGPS++对象
TinyGPSPlus gps;
软件串行gpsSerial(RXPin、TXPin);
长厘米,英寸;
无效设置(){
Serial.begin(9600);
pinMode(trigPin,输出);//将trigPin设置为输出
pinMode(echoPin,输入);//将echoPin设置为输入
Serial.println(“超声波传感器HC-SR04测试”);//在串行监视器中打印一些文本
Serial.println(“带WeMos”);
gpsSerial.begin(GPSBaud);
延迟(2000年);
}
void循环()
{
当前毫秒=毫秒();
数字写入(trigPin,低电平);
延迟微秒(2);
//将trigPin设置为高(激活)10微秒
数字写入(trigPin,高);
延迟微秒(10);
数字写入(trigPin,低电平);
持续时间=脉冲强度(echoPin,高);
//计算距离
距离=持续时间*0.034/2;//声波速度除以2(来回)
Serial.println();
串行打印(“距离:”);
串行打印(距离);
而(gpsSerial.available()>0)
if(gps.encode(gpsSerial.read()))
displayInfo();
如果(毫秒()>5000&&gps.charsProcessed()<10)
{
Serial.println(“未检测到GPS”);
虽然(正确);
}
}
}
长微秒分秒计(长微秒)
{
返回微秒/29/2;
}
void displayInfo()
{
if(gps.location.isValid())
{
连续打印(“纬度:”);
Serial.println(gps.location.lat(),6);
连续打印(“经度:”);
Serial.println(gps.location.lng(),6);
连续打印(“高度:”);
Serial.println(gps.altime.meters());
}
其他的
{
Serial.println(“位置:不可用”);
}
Serial.println();
}