当前位置: 首页 > news >正文

最新军事新闻热点事件西安seo顾问培训

最新军事新闻热点事件,西安seo顾问培训,微信电脑网站是什么原因,个人网站制作教程视频37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 ESP32 WiFi蓝牙4MB4闪存UNO R32开发板模块 UNO D1 R32(ESP32)开
发板 兼容Arduino

在这里插入图片描述
知识点:ESP32芯片

(包括:ESP32- d0wd、ESP32- d0wdq6、ESP32- d2wd、ESP32- s0wd)集成了Wi-Fi和双模式蓝牙。根据型号差异,ESP32包含一个或两个低功耗Xtensa®32位LX6微处理器(s),最大时钟速度240 MHz(通常是160 MHz)和Xtensa RAM / ROM,本地内存和JTAG接口。

在这里插入图片描述
在这里插入图片描述

处理器:
主处理器: Tensilica Xtensa 32位LX6微处理器
核心: 2 或 1(取决于变化)除ESP32-S0WD为单核外,ESP32系列所有芯片均为双核。
时钟频率:高达 240 MHz
性能:高达 600 DMIPS
超低功耗协处理器: 允许您在深度睡眠时进行 ADC 转换、计算和电平阈值。
无线连接:
的Wi-Fi: 802.11 B / G / N / E / I(802.11n标准@ 2.4GHz的高达150兆比特/秒)
蓝牙: v4.2 BR/EDR 和蓝牙低功耗 (BLE)
记忆:
内部存储器:
ROM: 448 KiB用于启动和核心功能。
SRAM: 520 KiB用于数据和指令。
RTC 快速 SRAM: 8 KiB用于从深度睡眠模式进行 RTC 启动期间的数据存储和主 CPU。
RTC 慢速 SRAM: 8 KiB用于深度睡眠模式下的协处理器访问。
电子保险丝: 1 Kibit其中 256 位用于系统(MAC 地址和芯片配置),其余 768 位保留用于客户应用,包括 Flash-Encryption 和 Chip-ID。
嵌入式闪存:Flash 通过 ESP32-D2WD 和 ESP32-PICO-D4 上的 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 内部连接。
0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)
2 MiB(ESP32-D2WD 芯片)
4 MiB(ESP32-PICO-D4 SiP 模块)
外部闪存和 SRAM: ESP32 最多支持四个 16 MiB 外部 QSPI闪存和 SRAM,具有基于 AES 的硬件加密,以保护开发人员的程序和数据。ESP32 可以通过高速缓存访​​问外部 QSPI flash 和 SRAM。
高达 16 MiB 的外部闪存被内存映射到 CPU 代码空间,支持 8 位、16 位和 32 位访问。支持代码执行。
多达 8 MiB 的外部闪存/SRAM 存储器映射到 CPU 数据空间,支持 8 位、16 位和 32 位访问。闪存和 SRAM 支持数据读取。SRAM 支持数据写入。
带有嵌入式 flash 的 ESP32 芯片不支持外部 flash 和外设之间的地址映射。
外设输入/输出:带有 DMA 的丰富外设接口,包括电容式触摸、ADC(模数转换器)、DAC(数模转换器)、I²C(内部集成电路)、UART(通用异步接收器/发送器) )、CAN 2.0(控制器局域网)、SPI(串行外设接口)、I²S(集成 IC 间声音)、RMII(简化的媒体独立接口)、PWM(脉宽调制)等。
安全:
支持 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI
安全启动
闪存加密
1024位OTP,客户最高768位
加密硬件加速:AES、SHA-2、RSA、椭圆曲线加密(ECC)、随机数生成器(RNG)

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十二:深度睡眠触摸唤醒(这里设置T0唤醒)

实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百七十七:Wemos D1 R32 ESP32开发板项目二十二:深度睡眠触摸唤醒(这里设置T0唤醒)
*/#define Threshold 40 //数值越大,灵敏度更高RTC_DATA_ATTR int bootCount = 0;
touch_pad_t touchPin;//打印 ESP32 已经从睡梦中醒来的原因
void print_wakeup_reason() {esp_sleep_wakeup_cause_t wakeup_reason;wakeup_reason = esp_sleep_get_wakeup_cause();switch (wakeup_reason){case ESP_SLEEP_WAKEUP_EXT0 : Serial.println("使用 RTC_IO 的外部信号引起的唤醒"); break;case ESP_SLEEP_WAKEUP_EXT1 : Serial.println("使用 RTC_CNTL 的外部信号引起的唤醒"); break;case ESP_SLEEP_WAKEUP_TIMER : Serial.println("定时器引起的唤醒"); break;case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println("触摸板引起的唤醒"); break;case ESP_SLEEP_WAKEUP_ULP : Serial.println("ULP 程序引起的唤醒"); break;default : Serial.printf("唤醒不是由深度睡眠引起的: %d\n", wakeup_reason); break;}
}//打印 ESP32 已经从睡梦中醒来的原因
void print_wakeup_touchpad() {touchPin = esp_sleep_get_touchpad_wakeup_status();switch (touchPin){case 0  : Serial.println("在 GPIO 4 上检测到触摸"); break;case 1  : Serial.println("在 GPIO 0 上检测到触摸"); break;case 2  : Serial.println("在 GPIO 2 上检测到触摸"); break;case 3  : Serial.println("在 GPIO 15 上检测到触摸"); break;case 4  : Serial.println("在 GPIO 13 上检测到触摸"); break;case 5  : Serial.println("在 GPIO 12 上检测到触摸"); break;case 6  : Serial.println("在 GPIO 14 上检测到触摸"); break;case 7  : Serial.println("在 GPIO 27 上检测到触摸"); break;case 8  : Serial.println("在 GPIO 33 上检测到触摸"); break;case 9  : Serial.println("在 GPIO 32 上检测到触摸"); break;default : Serial.println("唤醒不是通过触摸板"); break;}
}void callback() {//占位符回调函数
}void setup() {Serial.begin(115200);delay(1000); //花一些时间打开串行监视器//增加引导编号并在每次重启时打印++bootCount;Serial.println("Boot number: " + String(bootCount));//也打印 ESP32 和触摸板的唤醒原因print_wakeup_reason();print_wakeup_touchpad();//在触摸板 0 (GPIO4) 上设置中断touchAttachInterrupt(T0, callback, Threshold);//将触摸板配置为唤醒源esp_sleep_enable_touchpad_wakeup();//现在去睡觉Serial.println(" 要休眠了");esp_deep_sleep_start();Serial.println("这永远不会被打印");
}void loop() {//这永远不会到达
}

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十二:深度睡眠触摸唤醒(这里设置T0唤醒)

项目串口返回情况

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十二:深度睡眠触摸唤醒(这里设置T0唤醒)

实验场景图
在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十三:带定时器唤醒的简单深度睡眠(这里设置为五秒)

实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百七十七:Wemos D1 R32 ESP32开发板项目二十三:带定时器唤醒的简单深度睡眠(这里设置为五秒)
*/#define uS_TO_S_FACTOR 1000000ULL  /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP  5        //时间ESP32将转入休眠状态(以秒为单位)RTC_DATA_ATTR int bootCount = 0;/*Method to print the reason by which ESP32has been awaken from sleep
*/
void print_wakeup_reason() {esp_sleep_wakeup_cause_t wakeup_reason;wakeup_reason = esp_sleep_get_wakeup_cause();switch (wakeup_reason){case ESP_SLEEP_WAKEUP_EXT0 : Serial.println("Wakeup caused by external signal using RTC_IO"); break;case ESP_SLEEP_WAKEUP_EXT1 : Serial.println("Wakeup caused by external signal using RTC_CNTL"); break;case ESP_SLEEP_WAKEUP_TIMER : Serial.println("Wakeup caused by timer"); break;case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println("Wakeup caused by touchpad"); break;case ESP_SLEEP_WAKEUP_ULP : Serial.println("Wakeup caused by ULP program"); break;default : Serial.printf("Wakeup was not caused by deep sleep: %d\n", wakeup_reason); break;}
}void setup() {Serial.begin(115200);delay(1000); //Take some time to open up the Serial Monitor//Increment boot number and print it every reboot++bootCount;Serial.println("Boot number: " + String(bootCount));//Print the wakeup reason for ESP32print_wakeup_reason();/*First we configure the wake up sourceWe set our ESP32 to wake up every 5 seconds*/esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);Serial.println("Setup ESP32 to sleep for every " + String(TIME_TO_SLEEP) +" Seconds");/*Next we decide what all peripherals to shut down/keep onBy default, ESP32 will automatically power down the peripheralsnot needed by the wakeup source, but if you want to be a poweruserthis is for you. Read in detail at the API docshttp://esp-idf.readthedocs.io/en/latest/api-reference/system/deep_sleep.htmlLeft the line commented as an example of how to configure peripherals.The line below turns off all RTC peripherals in deep sleep.*///esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);//Serial.println("Configured all RTC Peripherals to be powered down in sleep");/*Now that we have setup a wake cause and if needed setup theperipherals state in deep sleep, we can now start going todeep sleep.In the case that no wake up sources were provided but deepsleep was started, it will sleep forever unless hardwarereset occurs.*/Serial.println("Going to sleep now");Serial.flush();esp_deep_sleep_start();Serial.println("This will never be printed");
}void loop() {//This is not going to be called
}

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十三:带定时器唤醒的简单深度睡眠(这里设置为五秒)

项目串口返回情况

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十四:深度睡眠与外部唤醒(这里使用10K下拉按钮到 GPIO 34)

实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百七十七:Wemos D1 R32 ESP32开发板项目二十四:深度睡眠与外部唤醒(这里使用10K下拉按钮到 GPIO 34)
*/#define BUTTON_PIN_BITMASK 0x200000000 // 2^33 十六进制RTC_DATA_ATTR int bootCount = 0;/*
Method to print the reason by which ESP32
has been awaken from sleep
*/
void print_wakeup_reason(){esp_sleep_wakeup_cause_t wakeup_reason;wakeup_reason = esp_sleep_get_wakeup_cause();switch(wakeup_reason){case ESP_SLEEP_WAKEUP_EXT0 : Serial.println("Wakeup caused by external signal using RTC_IO"); break;case ESP_SLEEP_WAKEUP_EXT1 : Serial.println("Wakeup caused by external signal using RTC_CNTL"); break;case ESP_SLEEP_WAKEUP_TIMER : Serial.println("Wakeup caused by timer"); break;case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println("Wakeup caused by touchpad"); break;case ESP_SLEEP_WAKEUP_ULP : Serial.println("Wakeup caused by ULP program"); break;default : Serial.printf("Wakeup was not caused by deep sleep: %d\n",wakeup_reason); break;}
}void setup(){Serial.begin(115200);delay(1000); //Take some time to open up the Serial Monitor//Increment boot number and print it every reboot++bootCount;Serial.println("Boot number: " + String(bootCount));//Print the wakeup reason for ESP32print_wakeup_reason();/*First we configure the wake up sourceWe set our ESP32 to wake up for an external trigger.There are two types for ESP32, ext0 and ext1 .ext0 uses RTC_IO to wakeup thus requires RTC peripheralsto be on while ext1 uses RTC Controller so doesnt needperipherals to be powered on.Note that using internal pullups/pulldowns also requiresRTC peripherals to be turned on.*/esp_sleep_enable_ext0_wakeup(GPIO_NUM_34,1); //1 = High, 0 = Low//If you were to use ext1, you would use it like//esp_sleep_enable_ext1_wakeup(BUTTON_PIN_BITMASK,ESP_EXT1_WAKEUP_ANY_HIGH);//Go to sleep nowSerial.println("Going to sleep now");esp_deep_sleep_start();Serial.println("This will never be printed");
}void loop(){//This is not going to be called
}

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十四:深度睡眠与外部唤醒(这里使用10K下拉按钮到 GPIO 34)

项目串口返回情况

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目二十四:深度睡眠与外部唤醒(这里使用10K下拉按钮到 GPIO 34)

实验场景图

在这里插入图片描述

http://www.bjxfkj.com.cn/article/101219.html

相关文章:

  • 万网站淘宝客推广一天80单
  • 做网站用asp div代码重庆网站seo多少钱
  • 店铺营业执照在哪个网站做年审重庆网络推广外包
  • rp怎么做网站百度平台营销软件
  • 南昌大型网站建设公司seosem顾问
  • 惠州开发做商城网站建设哪家好企业网站模板下载
  • 赣州网站建设咨询在线生成个人网站免费
  • 做网站邯郸宁波seo高级方法
  • 学做ppt网站淘宝seo培训
  • 北京网站建设好不好天知名seo公司
  • wordpress主题在哪里北京核心词优化市场
  • 房产中介做网站2021年十大热点事件
  • 做网站都需要会什么软件推广品牌的方法
  • 壹搜网站建设优化排名百度广告电话号码是多少
  • 手机网站返回跳转页面seo排名优化公司哪家好
  • 专做衬衣的网站网络营销这个专业怎么样
  • 做企业网站前期需要准备什么宁波seo资源
  • 在线做生存曲线的网站有哪些东莞网站营销
  • 南昌建设医院官方网站如何免费发布广告
  • 外贸网站设计制作代刷网站推广快速
  • 好的网站推广什么是关键词广告
  • 自己做电台直播的网站社交媒体推广
  • 建设运营网站竞价排名机制
  • 百石网怎么做网站网上商城网站开发
  • 网站登陆密码不隐藏 网站建设店面怎么做位置定位
  • seo网络推广到底是做什么的谷歌seo怎么做
  • 民治做网站哪家便宜seo指什么
  • 2017网站建设前景求职seo
  • 基于php做的网站下载信息流优化师面试常见问题
  • 京东这样的网站是怎么做的app注册推广任务平台