我们身处的世界中,任何随着时间或空间变化的量都是潜在的讯号,他们可以提供物理系统的状态资讯、或不同物体之间传达的讯息。
术语「讯号」包括音讯、视讯、语音、图像、通讯、地球物理、声纳、雷达、医疗和音乐讯号等。
来源: IEEE讯号处理汇刊
讯号可以分为数位讯号、类比讯号两种。
今天只会先来介绍ESP32中的数位输入、输出函式,在之前的LED闪烁范例中,已经使用过了数位输出了!也就是pinMode
与digitalWrite
的部分,那与digitalWrite
相对的就是digitalRead
,函式的取名非常直白,分别是「脚位模式」、「数位写出」、「数位读取」。
请注意:函式的大小写很重要!千万不要拼错了,拼错的话会编译失败喔!!
请注意:函式的大小写很重要!千万不要拼错了,拼错的话会编译失败喔!!
请注意:函式的大小写很重要!千万不要拼错了,拼错的话会编译失败喔!!
你选择的GPIOs(pin)编号,根据ESP32的脚位功能,除了GPIOs 6~11(以连接SPI flash)与GPIOs 34、35、36、39(仅提供input功能)等脚位外,都能自由选择下列四种模式:INPUT:、OUTPUT、INPUT_PULLUP、INPUT_PULLDOWN
如果模式选择了OUTPUT後,可以透过digitalWrite
来控制要送出高电位(3.3V)或低电位(0V),对应之参数值分别为HIGH、LOW,选择使用1、0来当参数也是可行的。
请注意:HIGH、LOW均为大写
与digitalWrite
相反,digitalRead
会读出此脚位被送入的电位为高电位(3.3V)或低电位(0V),也就是HIGH或LOW(1或0)。在类比讯号中也有类似的函数analogRead
,但後者读取的是连续变化的电压值,之後在类比讯号的函式介绍中再介绍。
除了上述三个函式外,你可以再搭配delay(ms)
函式来达到延迟的效果,里面的参数要延迟多少毫秒,如果没有适当的使用此函式,可能会造成高低电位切换太快导致看不效果的情况!
在霹雳灯的练习中,我是使用LEDBar来取代10颗单独的LED灯,可以看看自己手边来决定要如何配置你的霹雳灯~
霹雳灯的效果是LED灯会依序从左到右(反之亦然)点亮再熄灭。
const int ledCount = 10; // 总共有几颗灯
int ledPins[] = {
16, 17, 5, 18, 19, 21, 3, 1, 22, 23
}; // 使用一阵列来记录所使用的GPIOs
void setup() {
// 用一个for回圈来设定所有的LED模式
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop() {
for (int thisLed = 0; thisLed < ledCount; thisLed++){
digitalWrite(ledPins[thisLed], HIGH);
delay(50);
digitalWrite(ledPins[thisLed], LOW);
delay(50);
}
for (int thisLed = ledCount-1; thisLed >= 0; thisLed--){
digitalWrite(ledPins[thisLed], HIGH);
delay(50);
digitalWrite(ledPins[thisLed], LOW);
delay(50);
}
}
(我把影片转为.gif,所以看起来有点卡卡的><)
太康船介面的效果是,当A脚位未接收到高电位时,两颗红灯会交错闪烁,直到A脚位确实收到高电位,则两颗红灯停止闪烁,换成绿灯长亮。如果你有按钮的话,可以将A脚位串接上按钮来控制开关,如果没有的话,可以直接使用一条杜邦线拔插,是一样的效果,只是要注意杂讯的问题,至於如何处理杂讯,请参考「ESP32_DAY9 开发好夥伴-电阻」
(又是.gif)
给不熟C++的人小提示: 可以用if else来判断读取到的是高或低电位
>>: #12 No-code 之旅 — 在 Next.js 专案中显示 RSS 的资料 ft. RSS Parser
前情提要 前一篇与大家介绍了 Selenium 的基本运用,并在补充资料中给予了语法的资源。 开始之...
今天要提到一些关於 GitHub Action 内撰写 YAML 一些技巧,环境变数 (Enviro...
[Day22] Follow Along Links 需要用到的技巧与练习目标 1.getBound...
今天的重点 索引 基本索引: 先建立一个4x3的ndarray来让我们实际操作 阵列索引是由外而内的...
Terraform State 之你的 Local State 不是我的 State State 是...