[ESP32-Audio-Kit音频开发板测评]开发板的基本使用
本帖最后由 jinglixixi 于 2021-9-25 10:12 编辑<p style="text-align:justify">在ESP32-Audio-Kit音频开发板上,最基本外设当属LED和KEY了,其原理图见图1所示。</p>
<p> </p>
<p></p>
<p>图1 LED和KEY电路</p>
<p> </p>
<p>若以其中的KEY5和KEY6来分别控制LED4和LED5,则其控制程序为:</p>
<pre>
<code class="language-cpp">int key1Pin = 18;
int key2Pin = 5;
int led1Pin = 22;
int led2Pin = 19;
void setup() {
pinMode( led1Pin, OUTPUT);
pinMode( led2Pin, OUTPUT);
pinMode( key1Pin, INPUT_PULLUP);
pinMode( key2Pin, INPUT_PULLUP);
}
void loop() {
if(digitalRead(key1Pin)==0) digitalWrite(led1Pin, LOW);
else digitalWrite(led1Pin, HIGH);
if(digitalRead(key2Pin)==0) digitalWrite(led2Pin, LOW);
else digitalWrite(led2Pin, HIGH);
delay(1000);
}</code></pre>
<p> </p>
<p>比较有意思的是该电路还结合了模拟端口的使用,并通过引脚IO36来读取模拟量信号。</p>
<p>实现模拟端口信号采集的程序如下:</p>
<pre>
<code class="language-cpp">int adcPin = 36;
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val=analogRead(adcPin);
Serial.print("adc:");
Serial.println(val);
}</code></pre>
<p>经程序的编译和上传,其运行结果如图2所示,即按键KEY1未按下时,其检测值为4095,若按下KEY1,则检测值为零。按理说,在其它按键按下时也应有不同的反应,但奇怪的是没有任何的变化。这样与设想的以检测值的不同来识别按键的情况出入实在是有些不小!</p>
<p></p>
<p>图2读取模拟端口</p>
<p>按键按下时的不同的反应不知道与什么有关</p>
<p>模拟端口?</p>
<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&goto=findpost&pid=3094352&ptid=1180719" target="_blank"><font color="#999999">Jacktang 发表于 2021-9-25 10:46</font></a></font> 按键按下时的不同的反应不知道与什么有关 模拟端口?</blockquote>
</div>
<p>按说应是构成一个形成电压梯度的结构,按下不同的按键会改变电压的分压比,从而用电压的变化可以分析出按键的状态。</p>
jinglixixi 发表于 2021-9-25 10:53
Jacktang 发表于 2021-9-25 10:46 按键按下时的不同的反应不知道与什么有关 模拟端口?
按说应是构 ...
<p>应该是这样的</p>
<p>看原理图感觉按下不同按键应该会得到不同电压,但是不行?用万用表测试一下看看呗。</p>
w494143467 发表于 2021-9-26 10:46
看原理图感觉按下不同按键应该会得到不同电压,但是不行?用万用表测试一下看看呗。
<p>有道理,回头找一个看看。</p>
页:
[1]