Платформа
- Аппаратное обеспечение: ESP-01
- Разработка Env: [Arduino IDE |
- Операционная система: [Windows |
Настройки в IDE
- Модуль: [Универсальный модуль ESP8266 |
- Режим вспышки: [DOUT]
- Размер вспышки: [512 КБ]
- lwip Variant: | v2 Нижняя память |
- Метод сброса: [ck]
- Частота вспышки: [40 МГц]
- Частота процессора: [80 МГц]
- Загрузка с использованием: [SERIAL]
- Скорость загрузки: [115200]
Описание проблемы
Я работаю в проекте Smart Parking witharduino uno с использованием 8 ультразвуковых датчиков и esp8266-01, я подключаю TX ESP-01 к arduino uno TX и RX к RX и каждому датчику к одному выводу arduino, при загрузке кода я подключаю GPIO0 к GND, а после загрузки извлекаю его, когда открываю последовательный монитор, разрываю цикл повторного подключения (перезапускаю) и отображать только 5 датчиков со значением 0,
Результат:
connecting..... connected:
192.168.1.11
Distance0 : 0
setting /number failed:
Distance1 : 0
setting /number failed:
Distance2 : 0
setting /number failed:
Distance3 : 0
setting /number failed:
Distance4 :
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
Мой код
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "ْْْXXXXXXXXXXXXXXXXXX"
#define FIREBASE_AUTH "XXXXXXXXXXXXXX"
#define WIFI_SSID "AYMAN"
#define WIFI_PASSWORD "01357911"
//#include <Servo.h>
//Servo myservo;
const int ULTRASONIC_PIN[] = {2,3,4,5,6,7,8,9};
void setup(){
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop(){
for(int x=0;x<8;x++){
Serial.print("Distance");
Serial.print(x);
Serial.print(" : ");
int result = readUltrasonic(ULTRASONIC_PIN[x]);
Serial.print(result);
Serial.println();
if(result<150){
Firebase_Setup(x);
}
delay(1000);
}
Serial.println("---------------------------------------------------------------------------------------");
delay(1000);
}
int readUltrasonic(int pin){
//Returns distance in cm
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
delayMicroseconds(10);
digitalWrite(pin, LOW);
pinMode(pin, INPUT);
return pulseIn(pin, HIGH, (unsigned long)60000) / 29 / 2;
}
//>--------------------------------------------------------------------------------------
void Firebase_Setup(int number){
Firebase.set("Slot 1", 1);
if (Firebase.failed()) {
Serial.println("setting /number failed:");
Serial.println(Firebase.error());
return;
}
delay(1000);
}