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

以下是一些規(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 可以通過其開源 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 UNO對(duì)ESP8266進(jìn)行編程
- LittleFS使用ESP8266和Arduino IDE
- 使用Arduino配置ESP8266
- 解決 用arduino ide 開發(fā)nodemcu 加載ESP8266庫(kù)的問題
- 配置esp8266開發(fā)板的Arduino開發(fā)環(huán)境
- esp8266 nodeMCU arduino開發(fā)環(huán)境
- esp筆記(2)使用Arduino IDE 開發(fā) esp8266
- Arduino 編程 ESP8266 12F NodeMCU 實(shí)現(xiàn) PWM 控制呼吸燈
- 利用天貓精靈控制ESP8266(NodeMCU開發(fā)板)arduino ide開發(fā)
- ESP8266 nodemcu使用arduino編程點(diǎn)亮OLED測(cè)試
- 如何建立一個(gè)帶Arduino IDE的ESP8266 Web服務(wù)器 2次下載
- 如何使用Arduino ESP8266開發(fā)板配置標(biāo)準(zhǔn)的Arduino開發(fā)環(huán)境 48次下載
- Ardnino的ESP8266編程源碼 9次下載
- ESP8266紅外信號(hào)收發(fā)實(shí)驗(yàn) 2013次閱讀
- ESP8266硬件 4866次閱讀
- ESP8266/ESP32自動(dòng)下載原理 4742次閱讀
- 如何使用ESP8266制作可配置的Web服務(wù)器 1.3w次閱讀
- 如何利用ESP8266制作一個(gè)簡(jiǎn)單的四軸飛行器 5119次閱讀
- ESP8266上運(yùn)行代碼如何實(shí)現(xiàn) 3040次閱讀
- 如何利用ESP8266實(shí)現(xiàn)智能手表的設(shè)計(jì) 3369次閱讀
- 如何對(duì)ESP8266單片機(jī)進(jìn)行編程? 7048次閱讀
- STM32系列設(shè)計(jì),ESP8266聯(lián)網(wǎng)授時(shí)時(shí)鐘 8097次閱讀
- esp8266中文資料匯總(esp8266引腳圖_與單片機(jī)連接_串口wifi實(shí)例) 22.5w次閱讀
- esp8266固件如何升級(jí)_ESP8266WIFI模塊固件升級(jí) 4.2w次閱讀
- ESP8266 Wi-Fi到底傳多遠(yuǎn)_esp8266 wifi信號(hào)強(qiáng)度測(cè)距 5.2w次閱讀
- 遠(yuǎn)程控制通訊--基于Arduino + ESP8266控制LED燈 4w次閱讀
- esp8266 at指令集詳解 14.3w次閱讀
- esp8266串口wifi實(shí)例 1.9w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫(kù)封裝庫(kù)安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說(shuō)明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論