電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何使用Arduino IDE編程ESP8266-12E

如何使用Arduino IDE編程ESP8266-12E

2023-06-27 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

大家好,今天我將討論 Esp 物聯(lián)網(wǎng)模塊的功能并使用 Arduino IDE 對該模塊進行編程。通常,USB 轉 TTL 程序員可以完美地完成這項工作,但為了簡單起見,我們使用 NodeMcu。

Esp8266-12E是一款基于 Wi-fi微控制器這是我第一個使用這種類型的微控制器的項目,剛剛開始。

poYBAGOlHYaAWgFcAAFUtS7MBDs115.png
?

以下是一些規(guī)格

1) 32位單片機

2)10位ADC模數(shù)轉換器

3) 7- GPIO (輸入/輸出)

4) 無線網(wǎng)絡 2.4Ghz

5)工作電壓:3v至3.7v

6) 工作電流:80mA

7) 支持深度睡眠和待機功能

8) 網(wǎng)絡協(xié)議:IPv4/HTTP/FTP

所以,這個微控制器比 Arduino 的 Atmega328p 好得多,但是 Arduino 很簡單,并且有更多的 I/O 引腳。此外,Arduino 可以通過其開源 IDE 輕松編程。

對 ESP8266 進行編程:

首先,我們要將此模塊與其他MCU連接(支持USB轉TTL功能),這里我們使用Nodemcu。我們的 Nodemcu 有 ch340g USB 轉 TTL 編程器。使用下面給出的示意圖進行所有連接。

電路原理圖:

pYYBAGOlHYiAZYsPAAEzh67lFWs311.png
學分:Circuitjournal.com
?

電路說明:

1) 使用 10k 電阻使 EN(使能)引腳高連接使能引腳到 VCC。

2) 將 GPIO-15 引腳設為低電平(使用 10k 電阻將其連接到 GND。

3) 將 TX 連接到 TX,將 RX 連接到 RX。

4)將Reset引腳連接到Nodemcu的Reset

5)使Nodemcu啟用引腳低-直接將其連接到GND。

6) 將兩者的 GPIO0/D3 相互連接。

7) 在兩個模塊中連接 GND 和 VCC。

ESP屏蔽:

Esp8266 模塊不是面包板友好的,所以我設計了一個屏蔽來編程和操??作這個微控制器。該屏蔽具有板載 3.3 伏穩(wěn)壓器和 10k 上拉/下拉電阻器。只需使用這個新原理圖連接并直接上傳代碼。

pYYBAGOlHY2AMwdYAAGCukHyPB8706.jpg
Circuitkicker.com - Sagar saini
?

在 ESP 中上傳代碼:

第 1 步:轉到文件菜單下的首選項部分并粘貼此鏈接。

https://arduino.esp8266.com/stable/package_esp8266com_index.json

poYBAGOlHZGAIbO3AAA7Ct472ps440.png
?
poYBAGOlHZSAVkWpAAC5KVvH6fw467.png
?

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

pYYBAGOlHZaAFgUhAABmNIo7Md4174.png
?
pYYBAGOlHZyAS7LHAAFs74yxp7U231.png
?

。

?

Step4:編譯并上傳代碼。

Step5: 移除所有連接,您的 Esp8266 就可以使用了。

在這里,我將這個盾牌與 RGB neopixel 7 段 RGB 面板一起使用。這與此工作得很好。

pYYBAGOlHaaASR1pAAEiIccNOIM572.jpg
?

請參閱如何使用 ESP8266 制作 RGB 7 段時鐘

PCB和設計:

從這里下載所有有用的文件、電路、代碼。

poYBAGOlHaqAXSrfAAEZ5lFZm4c598.png
?

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

poYBAGOlHa-AdjlAAABRIfiL-p4684.png
?

JLCPCB還提供SMT組裝和SMT模板服務,不要忘記嘗試這些服務。只需 7 美元即可試用PCB 組裝。

測試代碼:

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)超時:

#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)無延遲閃爍:

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);
  }
}

在此板的示例部分中查找更多程序。

pYYBAGOlHbGAInf-AABlto2Yan8716.png
?

更多項目:

1)如何制作Arduino Nano兼容板。

2)使用 JLCPCB SMT 組裝服務的 8x8 Neopixel RGB 矩陣。

3)使用 TDA7294 的 100W 音頻放大器。

認為您喜歡我的工作,請繼續(xù)關注。在 Instagram (sagar_saini_7294) 和 hackaday 上關注我們。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費