【麦昆试用】迟来的第二帖——调通小车上的基础输入\输出外设
<p><span style="font-size:20px"> 小车上有许多可用的外设如RGB灯,LED点阵,超声波模块,循迹模块等,要玩通小车,就要把板上的外设调一遍。<br /> 点阵用于输出HelloWorld有许多坛友已经试过了,我就充分利用点阵上的25个点,用于对应超声波探测模块的1~25厘米探测范围,每一个点代表一厘米,动态显示小车的障碍物距离,两个红色车灯用于显示底部循迹模块的信号,而小车底部的RGB底灯就只用于检测AB按键输入情况。</span></p>
<pre>
<code class="language-cpp">#include <DFRobot_URM10.h>
#include <Maqueen_Motor.h>
#include <Microbit_Matrix.h>
#include <DFRobot_NeoPixel.h>
DFRobot_URM10 urm10(1,2);
Maqueen_Motor motor;
DFRobot_NeoPixelrgb_display_15;
void setup()
{
Serial.begin(115200);
rgb_display_15.begin(15, 4, 255);
}
int distance=0,i,j;
void loop()
{
distance=urm10.getDistanceCM();
distance/=5;
if(distance>24)distance=24;
for(i=0;i<=distance;i++)
MMatrix.drawPixel(i/5,i%5,1);
for(j=distance;j<=24;j++)
MMatrix.drawPixel(j/5,j%5,0);
if(digitalRead(13))
{
digitalWrite(8,1);
}
else digitalWrite(8,0);
if(digitalRead(14))
{
digitalWrite(12,1);
}
else digitalWrite(12,0);
if(Button_A.isPressed()&&Button_B.isPressed())
rgb_display_15.setRangeColor(-1, -1, 0xffffff);
else if(Button_A.isPressed()&&!Button_B.isPressed())
rgb_display_15.setRangeColor(-1, -1, 0xff0000);
else if(!Button_A.isPressed()&&Button_B.isPressed())
rgb_display_15.setRangeColor(-1, -1, 0x0000ff);
else rgb_display_15.setRangeColor(-1, -1, 0x00ff00);
}
</code></pre>
<p> </p>
<p><span style="font-size:20px">循迹模块控制车灯:</span></p>
<p><img alt="" src="/data/attachment/forum/201907/17/003217qs8y8ztudd36ol64.gif" /></p>
<p> </p>
<p>按键控制尾灯:</p>
<p><img alt="" src="/data/attachment/forum/201907/17/003224w0z305045p54c0y4.gif" /></p>
<p>超声波避障模块实时反馈到点阵屏:</p>
<p><img alt="" src="/data/attachment/forum/201907/17/003229q1mh9a21tanmahmn.gif" /></p>
<p>用的是Arduino编程啊</p>
dcexpert 发表于 2019-7-17 13:34
用的是Arduino编程啊
<p>嗯,因为我熟悉C/C++家族的编程习惯,用python是真心不习惯</p>
donatello1996 发表于 2019-7-18 09:35
嗯,因为我熟悉C/C++家族的编程习惯,用python是真心不习惯
<p>对嵌入式,python是一种新的开发方式,可以体验一下。</p>
页:
[1]