【雕爷学编程】Arduino动手做(175)---机智云ESP8266开发板模块3

news2024/11/16 1:53:22

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

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五:ESP8266机智云开发板 ESP12F wifi模块(支持云端的智能硬件开发套件)

在这里插入图片描述
知识点:机智云 (www.gizwits.com)
机智云是亚洲最大的智能硬件自助开发和云服务平台,产品及服务涵盖终端管理、连接管理、应用支持和业务分析等主要功能,为有志于进军物联网的开发者提供智能硬件一站式开发工具及云端运维服务,提供 IoT 开源嵌入式代码库、云端 API 接口、APP 端 SDK,方便开发者进行二次开发,同时支持公有云、私有云、混合云以及全球化部署,是目前 IoT 技术最成熟、云端应用功能最完善、全球量产客户最多、最受 IoT 开发者喜爱的量产级别智能硬件开发及云服务平台,被业界及媒体公认为物联网第三方云服务第一品牌。

在这里插入图片描述

ESP8266机智云开发板模块
(官方简介)这是一个支持云端的智能硬件开发套件,史上最简单最具性价比的物联网开发板,不需要你懂网络、TCP/IP、HTP、MQTT底层复杂的知识,只要你会C语音,即可用安信可的机智云SDK快速实现二次开发,这个DEMO板可以用手机流量控制板载的RGB七彩灯,手机端APP,可以通过光敏电阻显示环境亮度。代码只要少作修改半个小时即可做出一款属于你自己的远程控制设备,系统免费生成APP(安卓、IOS),开放SDK,你只需要做下APP端UI界面即可研发成一个成品。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ESP8266
1、低功耗、高集成度的 Wi-Fi 芯片
2、仅需 7 个元器件
3、超宽工作温度范围:-40°C 至 +125°C
4、ESP8285 - ESP8266 内封 8 Mbit Flash
5、高度集成——ESP8266EX 是业内集成度最高的 Wi-Fi 芯片,最小封装尺寸仅为 5mm x 5mm。ESP8266EX 高度集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,仅需很少的
电路,可将所占 PCB 空间降到最低。
6、32 位 Tensilica MCU——ESP8266EX 内置 Tensilica L10632 位微型控制器 (MCU),具有超低功耗和 16 位 RSIC,时钟速度最高可达 160 MHz。支持实时操作系统 (RTOS),目前 Wi-Fi 协议栈只用了 20% 的 MIPS,其他均可用于用户编程和开发。
7、低功耗——ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。
8、性能稳定——ESP8266EX 集成了更多的元器件,性能稳定,易于制造,工作温度范围达到 -40°C 到 +125°C。

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目二:综合测试按钮、光敏电阻和RGB LED灯

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目二:综合测试按钮、光敏电阻和RGB LED灯
*/

#define LDR A0
#define BUTTON 4
#define RED 15
#define GREEN 12
#define BLUE 13

void setup(){
  Serial.begin(115200);
  pinMode(LDR, INPUT);
  pinMode(BUTTON, INPUT);
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
}

void loop(){
  Serial.print("LDR:");
  Serial.println(analogRead(LDR));
  Serial.print("BUTTON:");
  Serial.println(digitalRead(BUTTON));
  analogWrite(RED, random(0,1023));
  analogWrite(GREEN, random(0,1023));
  digitalWrite(BLUE,HIGH);
  delay(500);
  digitalWrite(BLUE, LOW);
}

项目二:综合测试按钮、光敏电阻和RGB LED灯

项目串口返回情况

在这里插入图片描述
引脚的定义是Witty上的 Light Dependent Resistor(LDR),它连接到 A0(模拟输入),按钮连接到 GPIO 4,LED连接到GPIO 12,GPIO 13 和 GPIO 15:

loop()函数在 setup()之后连续运行,并且这里面:

  1. analogRead 函数读取LDR提供的0-1V环境光的值

  2. digitalRead 功能读取GPIO 4的值,可以在按下按钮时是0 V,如果没有按下按钮,则可以是 3.3 V.

3.使用 Serial.print 函数将数据显示到串行监视器。 Seril.pintln只是添加了一个新行

4.将 0 到 1023 之间的随机值写入 GPIO 15 和 GPIO 12,以控制红色和绿色LED的颜色强度。这是脉冲宽度调制 Pulse Width Modulation(PWM)。

5.打开连接到 GPIO 13 的蓝色LED。

6.等待 500 毫秒(0.5秒钟)。

7.关闭蓝色LED并从步骤1继续。

analogRead(pin):读取 A0 引脚上的值

digitalRead(pin):读取指定引脚的值,LOW 或 HIGH

digitalWrite(pin,val):将 LOW 或 HIGH 值写入数字引脚

Serial.println(val):这将数据打印到串行端口,作为以 \ r 结尾的人类可读 ASCII 字符和新行字符 \ n

使用 analogWrite(val),其中 val 可以在 0 到 1023 间隔内,PWM数字输出引脚的电压在 0 到 3.3V 之间,步长为 1023。

在这里插入图片描述
项目二:综合测试按钮、光敏电阻和RGB LED灯

项目串口绘图器返回

在这里插入图片描述
在mini面包板上面,用 6 根跳线连接两个 PCB

GND : 电源和信号地
VCC : 从底部 PCB 的微型 USB 端口向 AMS1117 提供 5V 电源
RX : 从计算机到 ESP8266 的信号
TX : ESP8266 到电脑的信号
REST : 复位信号
GPIO0 : flash 编程模式选择信号

在这种配置下,不仅可以将固件刷入 Witty Cloud 板上的 ESP8266,还可以使用 Arduino 的串口监视器调试带有外围设备的固件。

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

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 Witty Cloud 机智云开发板 ESP Witty
项目三:自定义阈值,低照度<100触发红灯报警

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目三:自定义阈值,低照度<100触发红灯报警
*/

const int redPin = 15;
const int greenPin = 12;
const int bluePin = 13;
const int ldrPin = A0;

void setup () {
  Serial.begin(9600);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(ldrPin, INPUT);
  digitalWrite(bluePin, HIGH);
  delay (5000);
  digitalWrite(bluePin, LOW);
}

void loop() {
  int ldrStatus = analogRead(ldrPin);
  Serial.println(ldrStatus);
  if (ldrStatus <= 100) { // 自定义阈值
    digitalWrite(greenPin, LOW);
    digitalWrite(redPin, HIGH);
    delay(100);
    digitalWrite(redPin, LOW);
    delay(100);
    Serial.println("LOW LIGHT LEVEL");
  }
  else {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, HIGH);
    delay(100);
    Serial.println("NORMAL LIGHT LEVEL");
  }
}

项目三:自定义阈值,低照度<100触发红灯报警

项目串口返回情况

在这里插入图片描述
Arduino实验场景图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/806321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flask中的蓝图

flask中的蓝图 在 Flask 中&#xff0c;蓝图&#xff08;Blueprint&#xff09;是一种组织路由和服务的方法&#xff0c;它允许你在应用中更灵活地组织代码。蓝图可以大致理解为应用或者应用中的一部分&#xff0c;可以在蓝图中定义路由、错误处理程序以及静态文件等。然后可以…

vcruntime140_1.dll无法继续执行代码重新安装方法

cruntime140_1.dll是Windows操作系统中的一个动态链接库文件&#xff0c;它包含了一些与C运行时相关的函数和资源。在Windows系统中&#xff0c;许多应用程序和游戏都依赖于vcruntime140_1.dll文件来正常运行。当系统中缺少或损坏了vcruntime140_1.dll文件时&#xff0c;就会出…

Unity源码分享-黄金矿工游戏完整版

Unity源码分享-黄金矿工游戏完整版 项目地址&#xff1a;https://download.csdn.net/download/Highning0007/88118933

flask创建数据库连接池

flask创建数据库连接池 在Python中&#xff0c;您可以使用 Flask-SQLAlchemy 这个扩展来创建一个数据库连接池。Flask-SQLAlchemy 是一个用于 Flask 框架的 SQLAlchemy 操作封装&#xff0c;实现了 ORM(Object Relational Mapper)。ORM 主要用于将类与数据库中的表建立映射关系…

superset为何无法上传excel,csv等外部文件

superset为何无法上传excel&#xff0c;csv等外部文件 这是由于没有打开数据库的上传外部文件的权限 1.打开数据库连接设置&#xff0c;选择Allow file uploads to database 2.发现这里的上传链接都可以使用

HTML+CSS+JavaScript:实现京东官网固定导航栏

一、需求 在京东官网首页&#xff0c;只要页面滚动到京东秒杀倒计时的位置&#xff0c;顶部的导航栏就会自动出现且固定在窗口最上方&#xff0c;如下图 我们将模仿京东官网的效果&#xff0c;做一个简易的固定导航栏&#xff0c;如下图 二、代码素材 以下是缺失JS部分的代码…

你应该知道的关于PCB布线的31条建议

1、走线长度应包含过孔和封装焊盘的长度。 2、布线角度优选135角出线方式&#xff0c;任意角度出线会导致制版出现工艺问题。 图1 PCB布线的角度 3、布线避免直角或者锐角布线&#xff0c;导致转角位置线宽变化&#xff0c;阻抗变化&#xff0c;造成信号反射&#xff0c;如图2…

AVL/B-/+ Tree查找

文章目录 0 树表的查找1 二叉排序树1.1 二叉排序树的操作1.1.1 二叉排序树的存储1.1.2 二叉排序树的递归查找1.1.3 二叉排序树的插入1.1.4 二叉排序树的生成1.1.5 二叉排序树的删除 1.2 二叉排序树的查找性能分析 2 平衡二叉树&#xff08;AVL树&#xff09;2.1 失衡二叉排序树…

WEB:web2

背景知识 代码审计 题目 由上述可知&#xff0c;这段代码定义了一个函数encode&#xff0c;接受一个字符串参数$str&#xff0c;并返回对其进行加密后的结果 加密算法包括&#xff1a; 使用strrev函数将字符串进行翻转&#xff1b;对翻转后的每个字符&#xff0c;将其ASCII值…

【playbook】Ansible的脚本----playbook剧本

Ansible的脚本----playbook剧本 1.playbook剧本组成2.playbook剧本实战演练2.1 实战演练一&#xff1a;给被管理主机安装Apache服务2.2 实战演练二&#xff1a;使用sudo命令将远程主机的普通用户提权为root用户2.3 实战演练三&#xff1a;when条件判断指定的IP地址2.4 实战演练…

企业如何制定数字化管理决策方案

数字化管理决策是指通过利用数字技术和数据分析来辅助和支持管理决策的过程。它利用计算机、互联网和其他技术来收集、分析和解释大量的数据&#xff0c;从而帮助管理者做出更准确、更有效的决策。 数字化管理决策的关键 数据收集与分析&#xff1a;数字化管理决策依赖于数据…

FreeRTOS之队列

什么是队列&#xff1f; 队列又称消息队列&#xff0c;是一种常用于任务间通信的数据结构&#xff0c;队列可以在任务与任务间、中断和任 务间传递信息。 关于队列的几个名词&#xff1a; 队列项目&#xff1a;队列中的每一个数据&#xff1b; 队列长度&#xff1a;队列能够…

PHP生成动态小程序二维码自定义路径和参数

PHP生成动态小程序二维码自定义路径和参数 小程序路径src 参数params http://test.com?srcindex/index/index&paramsstore_id10<?php $src$_GET[src]; $params$_GET[params];doPageNewQr($src,$params); function doPageNewQr($src,$params){//配置APPID、APPSECRET$A…

品牌触点:特别关注消费者的关键接触点

品牌触点&#xff1a;特别关注消费者的关键接触点 有个专门岗位&#xff1a;触点经理 打造品牌是超级工程 关键触点要持久不断地努力 很受启发 趣讲大白话&#xff1a;让消费者见一次喜欢一次 【趣讲信息科技240期】 **************************** 品牌触点是品牌与消费群体接触…

2023-将jar包上传至阿里云maven私有仓库(云效制品仓库)

一、背景介绍 如果要将平时积累的代码工具jar包&#xff0c;上传至云端&#xff0c;方便团队大家一起使用&#xff0c;一般的方式就是上传到Maven中心仓库&#xff08;但是这种方式步骤多&#xff0c;麻烦&#xff0c;而且上传之后审核时间比较长&#xff0c;还不太容易通过&a…

Spring 6【数据绑定之类型转换(Type Conversion)】(十一)-全面详解(学习总结---从入门到深化)

目录 数据绑定之类型转换(Type Conversion) 数据绑定之类型转换(Type Conversion) 1.PropertyEditor 在Spring框架3.0之前并没有提供类型转换器&#xff0c;而是使用JDK原生的java.beans.PropertyEditor进行类型转换&#xff08;提供了PropertyEditor接口的几个实现类&#x…

指令调度(Instruction Scheduling)

指令调度&#xff08;Instruction Scheduling&#xff09; 指令调度的约束基本机器模型基本块调度全局调度 指令调度是为了提高指令级并行&#xff08;ILP&#xff09;&#xff0c;对于超长指令字&#xff08;VLIW, Very Long Instruction Word&#xff09;和多发射系统&#x…

Jvm的一些技巧

反编译字节码文件 找到对应的class文件所在的目录&#xff0c;使用javap -v -p 命令 查询运行中某个Java进程的Jvm参数 【案例】查询 MethodAreaDemo 这个类运行过程中&#xff0c;初始的元空间大小 MetaspaceSize jps 查询 Java 进程的进程ID ![在这里插入图片描述](https…

GRACE数据反演的新理解

一、问题提出 “重力恢复与气候实验”&#xff08;GRACE&#xff09;为监测地球系统内全球大尺度质量变化提供了一种新途径。自2002年3月发射以来&#xff0c;GRACE一直在生成时间变化的重力场模型&#xff0c;这些模型可用于量化与全球气候变化相关的地球系统不同组成部分内的…

【C++11】——类的新功能

目录 1. 默认成员函数 2. 类成员变量初始化 3. 强制生成默认函数的关键字default 4. 禁止生成默认函数的关键字delect 5. 继承和多态的final与override关键字 6. 测试案例 1. 默认成员函数 原来C类中&#xff08;C11之前&#xff09;&#xff0c;有6个默认成员函数&…