【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实验场景图
hacker_2023.07.31
666