查看: 1386|回复: 0

[FireBeetle] 介绍一下ESP32的触控功能

[复制链接]
32.jpg 不多说了,直接上图做说明
wifi.jpg
2018-10-29_213950.jpg
2018-10-29_214007.jpg
特色
ESP32是双核,即它可以执行多任务
ESP32内置了蓝牙和wifi功能
ESP32可以运行32位程序
内置时钟频率可达240MHz
内存是512K
针脚多达30个
其外设功能可以有: 触控, ADCs, DACs,
UART, SPI, I2C 等。
2018-10-29_214512.jpg
烧录工具多样
2018-10-29_214544.jpg
这里并不想不时间浪费在安装ESP32到Arduino上,这里假定您已经安装了esp32 到Arduino上了。
2018-10-29_215125.jpg
这里要调用一个arduino的命令,叫touchRead()。
函数表达是touchRead (pin),问题来了这个pin是用哪个呢?还记得pinout图吗。
2018-10-29_215533.jpg
pin 0 对应的是GPIO4.
程序超简单的。我们用串口看一下触控结果
[AppleScript] 纯文本查看 复制代码
// Done by gada888
//  Touch0 is T0 which is on GPIO 4.
void setup()
{
Serial.begin(115200);
delay(1000); // give me time to bring up serial monitor
Serial.println("ESP32 Touch Test");
}
void loop()
{
Serial.println(touchRead(T0)); // get value using T0
delay(1000);
}


2018-10-29_215943.jpg
简单吧。下面来个进阶的。如果我们设置一个值。如果变量大于这个值,高电平,低于这个值,低电平。
2018-10-29_220312.jpg
[AppleScript] 纯文本查看 复制代码
// 设触控针脚
#define touchPin T0
const int ledPin = 16;
// 设灯针脚
const int threshold = 20;
// 变量存放触控值
int touchValue;
void setup(){
Serial.begin(115200);
delay(1000); // 缓冲
//初始化LED
pinMode (ledPin, OUTPUT);
}
void loop(){
// 读按键值
touchValue = touchRead(touchPin);
Serial.print(touchValue);
// 检查变量值大小,确定LED高或低电平
if(touchValue < threshold){
// 开灯
digitalWrite(ledPin, HIGH);
Serial.println(" - LED on");
}
else{
//关灯
digitalWrite(ledPin, LOW);
Serial.println(" - LED off");
}
delay(500);
}







您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail