快速导读

  • 1、安装 Arduino IDE —— 1.8.13
  • 2、安装 ESP8266 —— 2.7.4
  • 3、配置Arduino IDE 首选项
  • 4、硬件开发板 —— ESP8266 NodeMcu 和 ESP32 NodeMcu
  • 5、ESP8266 NodeMcu 开发板
    • 5.1 引脚定义
    • 5.2 跟启动相关的引脚
    • 5.3 ADC输入
    • 5.4 板载LED灯
    • 5.5 复位按键
    • 5.6 GPIO0 —— 烧录 or 工作
    • 5.7 GPIO16 —— 睡眠唤醒
    • 5.8 IIC总线
    • 5.9 SPI总线
    • 5.10 PWM引脚
    • 5.11 中断引脚
  • 6. ESP32 NodeMcu开发板
    • 6.1 引脚定义
    • 6.2 只能作为输入引脚
    • 6.3 SPI Flash占用引脚,不需要使用
    • 6.4 电容式触摸GPIO
    • 6.5 ADC
    • 6.6 DAC
    • 6.7 RTC
    • 6.8 PWM
    • 6.9 I2C

手把手代码注释,完整案例讲解开发过程以及细节,一键式运行代码。
ESP保姆级付费专栏群 707958244,不喜勿加,凭借付费专栏订单号加入

  • ESP 保姆级教程 系列导读(订阅前请务必阅读)

参考:

  • ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境

1、安装 Arduino IDE —— 1.8.13

2、安装 ESP8266 —— 2.7.4


双击安装完毕后,可以查看环境是否配置成功。

3、配置Arduino IDE 首选项


找到首选项。


编译上传勾选上。

4、硬件开发板 —— ESP8266 NodeMcu 和 ESP32 NodeMcu

本系列只推荐 ESP8266 NodeMcu 和 ESP32 NodeMcu(对于初学者来说少走很多弯路,极度极度推荐),没有之一。

上图为ESP8266

左边为ESP32,右边为ESP8266

5、ESP8266 NodeMcu 开发板

下图为模组(芯片)引脚:

下图为NodeMcu(开发板)引脚:

  • https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

5.1 引脚定义

  • 绿色高亮标识引脚可以大胆放心普通IO口用
  • 黄色高亮标识 引脚可以普通IO口用,但是需要注意启动时候的状态
  • 红色高亮标识引脚就不建议做普通IO口

5.2 跟启动相关的引脚

有一些引脚(上拉或者下拉)可以阻止ESP8266正常启动。

  • GPIO16: pin is high at BOOT

启动的时候输出高电平

  • GPIO0: boot failure if pulled LOW

如果下拉到GND,直接启动失败

  • GPIO2: pin is high on BOOT, boot failure if pulled LOW
  • 启动的时候输出高电平
  • 如果下拉到GND,直接启动失败
  • GPIO15: boot failure if pulled HIGH
  • 如果上拉到VCC,直接启动失败
  • GPIO3: pin is high at BOOT

启动的时候输出高电平

  • GPIO1: pin is high at BOOT, boot failure if pulled LOW
  • 启动的时候输出高电平
  • 如果下拉到GND,直接启动失败
  • GPIO10: pin is high at BOOT

启动的时候输出高电平

  • GPIO9: pin is high at BOOT

启动的时候输出高电平

除开上面列举的IO口,除了GPIO5和GPIO4以外,其他IO口都可以输出一个低电平。

GPIO4 and GPIO5 are the most safe to use GPIOs if you want to operate relays. (IO4/IO5 是最安全用来操作继电器)

5.3 ADC输入

在ESP8266上只有一个ADC GPIO。它的测量范围是 0 to 1V。而NodeMcu基于ESP8266-12,所以也只有一个ADC GPIO,但是由于电阻分压电路,可以测量范围扩展到 0-3.3V

5.4 板载LED灯

NodeMcu上存在一个板载LED灯,目前是连接到 GPIO2。

高电平灭、低电平亮

5.5 复位按键


当按键接到GND,ESP8266复位,系统重启。

5.6 GPIO0 —— 烧录 or 工作

  • 当GPIO0 接到GND,ESP8266处于烧录下载模式
  • 当GPIO0 接到Vcc,ESP8266处于正常工作模式

5.7 GPIO16 —— 睡眠唤醒

GPIO16可以用来把ESP8266从睡眠模式中唤醒,只需要把GPIO16接到 RST引脚。

5.8 IIC总线

  • GPIO5: SCL
  • GPIO4: SDA

5.9 SPI总线

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

5.10 PWM引脚

GPIO0-GPIO16都可以作为软件PWM引脚。并且PWM是10位。

5.11 中断引脚

除开GPIO16,其他GPIO都可以作为中断引脚。

6. ESP32 NodeMcu开发板

  • https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

6.1 引脚定义

  • 绿色高亮标识引脚可以大胆放心普通IO口用
  • 黄色高亮标识 引脚可以普通IO口用,但是需要注意启动时候的状态
  • 红色高亮标识引脚就不建议做普通IO口



6.2 只能作为输入引脚

  • GPIOs 34 - 39

6.3 SPI Flash占用引脚,不需要使用

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

6.4 电容式触摸GPIO

  • https://randomnerdtutorials.com/esp32-touch-wake-up-deep-sleep/

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

6.5 ADC

ESP32有 18 x 12 bits ADC 。12位ADC意味着 0 to 4095(0v-3.3v)

对应引脚:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

分为ADC1和ADC2.

请注意,ADC2通道在ESP32开启WIFI后,功能会受到限制,建议使用ADC1通道!

6.6 DAC

2 x 8 bits DAC

对应引脚:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

6.7 RTC

  • https://randomnerdtutorials.com/esp32-deep-sleep-arduino-ide-wake-up-sources/

提供了单独的 RTC GPIO(共18个引脚)支持,这些GPIO连接到“ RTC”低功耗和模拟子系统,当芯片处于深度睡眠状态,需要运行超低功耗协处理器(ULP)或使用ADC / DAC /等模拟功能时,这些GPIO便起作用。

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

6.8 PWM

  • https://randomnerdtutorials.com/esp32-pwm-arduino-ide/

ESP32 有16个独立通道来生成PWM信号。基本上所有的引脚都可以用来作为PWM引脚(除开 GPIOs 34 to 39)

6.9 I2C

  • https://randomnerdtutorials.com/esp32-i2c-communication-arduino-ide/

ESP32有 两个I2C通道,以及 任意的引脚都可以设置为 SDA or SCL。

默认I2C引脚

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

ESP 保姆级教程 基础篇 —— 环境安装、NodeMcu引脚介绍相关推荐

  1. 保姆级教程:在Linux上安装配置Resilio Sync

    原文链接:https://zhaokaifeng.com/?p=6055 Resilio Sync 是一款基于 P2P 网络的去中心化文件同步工具,用途十分广泛.本文将从零开始演示如何在 Linux ...

  2. 【预告中】ESP 保姆级教程 疯狂点灯篇 —— 案例:ESP8266 + LED + 按键 + OneNet物联网平台 + Web应用

    快速导读 1.项目说明 2.项目准备 2.1 软件准备 2.2 硬件准备 2.2.1 硬件材料 2.2.2 硬件连线 3.项目细节 3.1 设备端代码 3.2 设备端代码细节过程 4.项目结果 手把手 ...

  3. 【ESP32最全学习笔记(基础篇)——4.ESP32 引脚介绍】

    关于本教程: ESP32 基础篇 1.ESP32简介 2.ESP32 Arduino 集成开发环境 3.VS 代码和 PlatformIO 4.ESP32 引脚 ☑ 5.ESP32 输入输出 6.ES ...

  4. 【2023版】超详细Python+Pycharm安装保姆级教程,Python环境配置和使用指南,看完这一篇就够了

    这两年被Python初学小白问到最多的问题就是,该用什么代码编辑工具? 说实话,我个人是用Jupyter Notebook最多,主要是经常做数据可视化,方便些. 但对于初学者来说,PyCharm仍是不 ...

  5. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 巴法云 + 微信小程序(环境监控)

    忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2022-04-20 ❤️ ❤️ 本篇更新记录 2022-04-23 ❤️

  6. 【保姆级教程】Anaconda的安装教程:包括Anaconda的介绍、下载、安装及环境变量配置等

    Anaconda安装教程 1.Anaconda介绍 2.Anaconda下载 3.Anaconda安装 4.配置Anaconda环境 5.测试Anaconda是否配置成功 1.Anaconda介绍 A ...

  7. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + MQ3酒精传感器 + webserver(局域网内曲线变化图)+ 自定义飞书告警

    忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2022-05-03 ❤️ ❤️ 本篇更新记录 2022-05-03 ❤️

  8. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:UNO/Mega + MQ2烟雾传感器 + MQ3酒精传感器 + MQ7一氧化碳传感器 + OLED

    忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2022-03-30 ❤️ ❤️ 本篇更新记录 2022-04-10 ❤️

  9. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾传感器 + MQ3酒精传感器 + MQ7一氧化碳传感器 + OLED +巴法云平台

    忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2022-04-20 ❤️ ❤️ 本篇更新记录 2022-04-20 ❤️

最新文章

  1. 网络化楼宇对讲的前景
  2. Redis集群的重启
  3. Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED
  4. OpenGL Tessellation细分曲面的实例
  5. 【行为型模式】《大话设计模式》——读后感 (15)烤羊肉串引来的思考?——命令模式...
  6. HDU - 6704 K-th occurrence (后缀数组+主席树)
  7. 摆成“吉”字的一万响鞭炮
  8. goland 方法注释_goland 设置注释模板的过程图文详解
  9. URL重写 对于禁用cookie的 方法
  10. 银行测试汉字录入软件,小键盘数字练习软件(银行及各行业文员专用)
  11. 精英二代手柄测试软件,XBOX精英二代手柄评测视频:世界上最先进的手柄
  12. Javascript对象基础讲解
  13. python 使用PIL工具包中的pytesseract函数识别英文字符
  14. matlab半小提琴图,不会编程,也可以画小提琴图啦!
  15. 商品sku规格选择效果,没有商品的不能选中,选择顺序不影响展示结果
  16. scrapy-splash java,小白程序员-运用Scrapy-splash爬取动态js页面
  17. 4--STM32RCC时钟树
  18. 【Python】逆向爬虫-----模拟微信公众平台登录(MD5)
  19. C++:计算对称正定 (SPD) 矩阵的逆矩阵(附完整源码)
  20. 弹性盒子flex轴的说明

热门文章

  1. fresh air项目记录3
  2. air什么意思中文_AIR是什么意思?
  3. Capped CRF:节省编码成本和数据流
  4. 农民工傻二听说林妹妹出家之后
  5. re.S、re.I、re.M
  6. 核马公关:CEO形象管理——最好的形象就是最好的自己
  7. 人脸识别系统终端设备在零售场景的应用体现
  8. java定时器的原理_spring定时器原理是什么?
  9. unity自带LightMapping和3Ds Max烘焙贴图的小对比
  10. 72 Three.js 导入VTK格式的模型