回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

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

头像 驴友花雕 2023.07.29 23 1

【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灯

 项目串口返回情况
 

28.jpg

引脚的定义是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。

 

29.jpg

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

  项目串口绘图器返回

 

30.jpg

在mini面包板上面,用 6 根跳线连接两个 PCB

 

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

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

 

31.jpg

32.jpg
33.jpg
34.jpg
39.jpg

z (4).jpg

【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触发红灯报警

  项目串口返回情况

 

36.jpg

Arduino实验场景图

 

WeChat_20210717091822.gif

评论

user-avatar
  • hacker_

    hacker_2023.07.31

    666

    0
    icon 他的勋章
      展开更多