#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
//Firebase settings
#define FIREBASE_HOST "..........firebaseio.com/" //cant share
#define FIREBASE_AUTH "..............." //cant share
//Wi-Fi settings
#define WIFI_SSID "kello"
#define WIFI_PASSWORD "8888"
//Define trigger and echo digital pins
const int trigPin = 4;
const int echoPin = 3;
// The amount of time the ultrassonic wave will be travelling for
long duration = 0;
// Define the distance variable
double distance = 0;
void setup()
{
Serial.begin(9600);
// Connect to Wi-Fi
Serial.print("Wi-Fi...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting...");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("Connected to: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
// Ultrasonic sensor, set echo as Input and trigger as Output
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
getDistance();
// Prints the distance value to the serial monitor
Serial.print("Distance: ");
Serial.println(distance);
delay(500);
}
void getDistance()
{
// Clear trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// trigPin HIGH por 10ms
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//Reads echoPin, returns the travel time of the sound wave in ms
duration = pulseIn(echoPin, HIGH);
// Calculating the distance, in centimeters, using the formula described in the first section.
distance = duration * 0.034 / 2;
// Sends the distance value to Firebase
Firebase.setFloat("distance", distance);
}
我是计算机专业的毕业生,所以我对nodemcu的了解不多。我看到了一些有关nodemcu的文档。我想在Firebase的实时数据库中显示由超声波距离传感器获得的数据。但是我无法弄清楚为什么即使代码成功编译,我也无法在com5窗口中获得serial.println(distance)的输出。这是我在运行程序时得到的]
Executable segment sizes:
IROM : 330560 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27760 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1408 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 2044 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 25160 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 361772 bytes (34%) of program storage space. Maximum is 1044464 bytes.
Global variables use 28612 bytes (34%) of dynamic memory, leaving 53308 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM5
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: ec:fa:bc:c1:44:d2
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 365920 bytes to 264395...
Writing at 0x00000000... (5 %)
Writing at 0x00004000... (11 %)
Writing at 0x00008000... (17 %)
Writing at 0x0000c000... (23 %)
Writing at 0x00010000... (29 %)
Writing at 0x00014000... (35 %)
Writing at 0x00018000... (41 %)
Writing at 0x0001c000... (47 %)
Writing at 0x00020000... (52 %)
Writing at 0x00024000... (58 %)
Writing at 0x00028000... (64 %)
Writing at 0x0002c000... (70 %)
Writing at 0x00030000... (76 %)
Writing at 0x00034000... (82 %)
Writing at 0x00038000... (88 %)
Writing at 0x0003c000... (94 %)
Writing at 0x00040000... (100 %)
Wrote 365920 bytes (264395 compressed) at 0x00000000 in 23.4 seconds (effective 125.3 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
[请帮助我,如果需要更多信息,请告诉我。
您正在显示的是串行控制台输出,但是编译器的内容出现了。您在右上角的ArduinoIDE SerialMonitor中打开串行控制台窗口->文本右侧的小按钮打开了一个新窗口。如果不是,您选择了错误的命令->在“工具”->“端口”中选择正确的命令如果打开,请检查左下角的波特率,使其与程序中的波特率匹配。
Serial.begin(9600);
如果相同,请按NodeMCU上的重置按钮,然后在此处发布内容(编辑问题)
顺便说一句,您对同一计划/项目的最后一个问题:Problem flashing program to Arduino / esp8266 -> getting the following error似乎已解决,因此要公平,将答案标记为已解决,否则社区将停止提供帮助(我们在此给予帮助并接受]
我认为超声波传感器需要5v才能工作。我认为,nodemcu的引脚电压为3.3v。你伤害了你的博德吗?