資料介紹
描述
大家好,今天我將討論 Esp 物聯(lián)網(wǎng)模塊的功能并使用 Arduino IDE 對(duì)該模塊進(jìn)行編程。通常,USB 轉(zhuǎn) TTL 程序員可以完美地完成這項(xiàng)工作,但為了簡(jiǎn)單起見(jiàn),我們使用 NodeMcu。
Esp8266-12E是一款基于 Wi-fi 的微控制器。這是我第一個(gè)使用這種類型的微控制器的項(xiàng)目,剛剛開(kāi)始。

以下是一些規(guī)格:
1) 32位單片機(jī)
2)10位ADC(模數(shù)轉(zhuǎn)換器)
3) 7- GPIO (輸入/輸出)
4) 無(wú)線網(wǎng)絡(luò) 2.4Ghz
5)工作電壓:3v至3.7v
6) 工作電流:80mA
7) 支持深度睡眠和待機(jī)功能
8) 網(wǎng)絡(luò)協(xié)議:IPv4/HTTP/FTP
所以,這個(gè)微控制器比 Arduino 的 Atmega328p 好得多,但是 Arduino 很簡(jiǎn)單,并且有更多的 I/O 引腳。此外,Arduino 可以通過(guò)其開(kāi)源 IDE 輕松編程。
對(duì) ESP8266 進(jìn)行編程:
首先,我們要將此模塊與其他MCU連接(支持USB轉(zhuǎn)TTL功能),這里我們使用Nodemcu。我們的 Nodemcu 有 ch340g USB 轉(zhuǎn) TTL 編程器。使用下面給出的示意圖進(jìn)行所有連接。
電路原理圖:

電路說(shuō)明:
1) 使用 10k 電阻使 EN(使能)引腳高連接使能引腳到 VCC。
2) 將 GPIO-15 引腳設(shè)為低電平(使用 10k 電阻將其連接到 GND。
3) 將 TX 連接到 TX,將 RX 連接到 RX。
4)將Reset引腳連接到Nodemcu的Reset
5)使Nodemcu啟用引腳低-直接將其連接到GND。
6) 將兩者的 GPIO0/D3 相互連接。
7) 在兩個(gè)模塊中連接 GND 和 VCC。
ESP屏蔽:
Esp8266 模塊不是面包板友好的,所以我設(shè)計(jì)了一個(gè)屏蔽來(lái)編程和操??作這個(gè)微控制器。該屏蔽具有板載 3.3 伏穩(wěn)壓器和 10k 上拉/下拉電阻器。只需使用這個(gè)新原理圖連接并直接上傳代碼。

在 ESP 中上傳代碼:
第 1 步:轉(zhuǎn)到文件菜單下的首選項(xiàng)部分并粘貼此鏈接。
https://arduino.esp8266.com/stable/package_esp8266com_index.json


Step2:在工具部分選擇板管理器和下載ESP板文件。


。
Step4:編譯并上傳代碼。
Step5: 移除所有連接,您的 Esp8266 就可以使用了。
在這里,我將這個(gè)盾牌與 RGB neopixel 7 段 RGB 面板一起使用。這與此工作得很好。

請(qǐng)參閱如何使用 ESP8266 制作 RGB 7 段時(shí)鐘。
PCB和設(shè)計(jì):

JLCPCB是最受歡迎的PCB制造商之一。2、4 和 6 層 PCB 的價(jià)格僅為 2 美元。他們剛剛以非常低的成本推出了新的紫色阻焊層、鋁板和 3d 打印服務(wù)。Pcb 質(zhì)量不惜任何代價(jià)。立即從此處查看它們。 https://jlcpcb.com/IAT

JLCPCB還提供SMT組裝和SMT模板服務(wù),不要忘記嘗試這些服務(wù)。只需 7 美元即可試用PCB 組裝。
測(cè)試代碼:
1)閃爍:
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level
// but actually the LED is on; this is because
// it is active low on the ESP-01)
delay(1000); // Wait for a second
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
2)超時(shí):
#include
void ledOn() {
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level
}
void ledOff() {
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
}
void ledToggle() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // Change the state of the LED
}
esp8266::polledTimeout::periodicFastUs halfPeriod(500000); //use fully qualified type and avoid importing all ::esp8266 namespace to the global namespace
// the setup function runs only once at start
void setup() {
Serial.begin(115200);
Serial.println();
Serial.printf("periodic/oneShotMs::timeMax() = %u ms\n", (uint32_t)esp8266::polledTimeout::periodicMs::timeMax());
Serial.printf("periodic/oneShotFastMs::timeMax() = %u ms\n", (uint32_t)esp8266::polledTimeout::periodicFastMs::timeMax());
Serial.printf("periodic/oneShotFastUs::timeMax() = %u us\n", (uint32_t)esp8266::polledTimeout::periodicFastUs::timeMax());
Serial.printf("periodic/oneShotFastNs::timeMax() = %u ns\n", (uint32_t)esp8266::polledTimeout::periodicFastNs::timeMax());
#if 0 // 1 for debugging polledTimeout
Serial.printf("periodic/oneShotMs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicMs::rangeCompensate);
Serial.printf("periodic/oneShotFastMs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastMs::rangeCompensate);
Serial.printf("periodic/oneShotFastUs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastUs::rangeCompensate);
Serial.printf("periodic/oneShotFastNs::rangeCompensate = %u\n", (uint32_t)esp8266::polledTimeout::periodicFastNs::rangeCompensate);
#endif
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
using esp8266::polledTimeout::oneShotMs; //import the type to the local namespace
//STEP1; turn the led ON
ledOn();
//STEP2: wait for ON timeout
oneShotMs timeoutOn(2000);
while (!timeoutOn) {
yield();
}
//STEP3: turn the led OFF
ledOff();
//STEP4: wait for OFF timeout to assure the led is kept off for this time before exiting setup
oneShotMs timeoutOff(2000);
while (!timeoutOff) {
yield();
}
//Done with STEPs, do other stuff
halfPeriod.reset(); //halfPeriod is global, so it gets inited on sketch start. Clear it here to make it ready for loop, where it's actually used.
}
// the loop function runs over and over again forever
void loop() {
if (halfPeriod) {
ledToggle();
}
}
3)無(wú)延遲閃爍:
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (ledState == LOW) {
ledState = HIGH; // Note that this switches the LED *off*
} else {
ledState = LOW; // Note that this switches the LED *on*
}
digitalWrite(LED_BUILTIN, ledState);
}
}
在此板的示例部分中查找更多程序。

更多項(xiàng)目:
2)使用 JLCPCB SMT 組裝服務(wù)的 8x8 Neopixel RGB 矩陣。
認(rèn)為您喜歡我的工作,請(qǐng)繼續(xù)關(guān)注。在 Instagram (sagar_saini_7294) 和 hackaday 上關(guān)注我們。
- 使用FTDI電纜使用Arduino對(duì)ESP8266 ESP-12E進(jìn)行編程
- 使用Arduino編程ESP8266 ESP 01
- 使用Arduino IDE的ESP8266溫度濕度監(jiān)控網(wǎng)絡(luò)應(yīng)用程序
- 如何使用Arduino UNO對(duì)ESP8266進(jìn)行編程
- LittleFS使用ESP8266和Arduino IDE
- 解決 用arduino ide 開(kāi)發(fā)nodemcu 加載ESP8266庫(kù)的問(wèn)題
- 配置esp8266開(kāi)發(fā)板的Arduino開(kāi)發(fā)環(huán)境
- esp8266 nodeMCU arduino開(kāi)發(fā)環(huán)境
- esp筆記(2)使用Arduino IDE 開(kāi)發(fā) esp8266
- Arduino 編程 ESP8266 12F NodeMCU 實(shí)現(xiàn) PWM 控制呼吸燈
- 利用天貓精靈控制ESP8266(NodeMCU開(kāi)發(fā)板)arduino ide開(kāi)發(fā)
- ESP8266 nodemcu使用arduino編程點(diǎn)亮OLED測(cè)試
- 如何建立一個(gè)帶Arduino IDE的ESP8266 Web服務(wù)器 2次下載
- 如何使用Arduino ESP8266開(kāi)發(fā)板配置標(biāo)準(zhǔn)的Arduino開(kāi)發(fā)環(huán)境 48次下載
- Ardnino的ESP8266編程源碼 10次下載
- ESP8266紅外信號(hào)收發(fā)實(shí)驗(yàn) 3.1k次閱讀
- ESP8266硬件 6.4k次閱讀
- ESP8266/ESP32自動(dòng)下載原理 6.5k次閱讀
- 如何使用ESP8266制作可配置的Web服務(wù)器 1.5w次閱讀
- 如何利用ESP8266制作一個(gè)簡(jiǎn)單的四軸飛行器 6.9k次閱讀
- ESP8266上運(yùn)行代碼如何實(shí)現(xiàn) 3.9k次閱讀
- 如何利用ESP8266實(shí)現(xiàn)智能手表的設(shè)計(jì) 4.7k次閱讀
- 如何對(duì)ESP8266單片機(jī)進(jìn)行編程? 7.8k次閱讀
- STM32系列設(shè)計(jì),ESP8266聯(lián)網(wǎng)授時(shí)時(shí)鐘 9k次閱讀
- esp8266中文資料匯總(esp8266引腳圖_與單片機(jī)連接_串口wifi實(shí)例) 22.9w次閱讀
- esp8266固件如何升級(jí)_ESP8266WIFI模塊固件升級(jí) 4.4w次閱讀
- ESP8266 Wi-Fi到底傳多遠(yuǎn)_esp8266 wifi信號(hào)強(qiáng)度測(cè)距 5.4w次閱讀
- 遠(yuǎn)程控制通訊--基于Arduino + ESP8266控制LED燈 4.1w次閱讀
- esp8266 at指令集詳解 14.8w次閱讀
- esp8266串口wifi實(shí)例 2w次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊(cè)
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊(cè)
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊(cè)
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測(cè)量模擬前端芯片技術(shù)手冊(cè)
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛(ài)華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說(shuō)明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書(shū)
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊(cè)
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論