donatello1996 发表于 2019-7-17 00:33

【麦昆试用】迟来的第二帖——调通小车上的基础输入\输出外设

<p><span style="font-size:20px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 小车上有许多可用的外设如RGB灯,LED点阵,超声波模块,循迹模块等,要玩通小车,就要把板上的外设调一遍。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 点阵用于输出HelloWorld有许多坛友已经试过了,我就充分利用点阵上的25个点,用于对应超声波探测模块的1~25厘米探测范围,每一个点代表一厘米,动态显示小车的障碍物距离,两个红色车灯用于显示底部循迹模块的信号,而小车底部的RGB底灯就只用于检测AB按键输入情况。</span></p>

<pre>
<code class="language-cpp">#include &lt;DFRobot_URM10.h&gt;
#include &lt;Maqueen_Motor.h&gt;
#include &lt;Microbit_Matrix.h&gt;
#include &lt;DFRobot_NeoPixel.h&gt;

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&gt;24)distance=24;

for(i=0;i&lt;=distance;i++)
    MMatrix.drawPixel(i/5,i%5,1);
for(j=distance;j&lt;=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()&amp;&amp;Button_B.isPressed())
        rgb_display_15.setRangeColor(-1, -1, 0xffffff);
else if(Button_A.isPressed()&amp;&amp;!Button_B.isPressed())
rgb_display_15.setRangeColor(-1, -1, 0xff0000);
else if(!Button_A.isPressed()&amp;&amp;Button_B.isPressed())
    rgb_display_15.setRangeColor(-1, -1, 0x0000ff);
else rgb_display_15.setRangeColor(-1, -1, 0x00ff00);

}
</code></pre>

<p>&nbsp;</p>

<p><span style="font-size:20px">循迹模块控制车灯:</span></p>

<p><img alt="" src="/data/attachment/forum/201907/17/003217qs8y8ztudd36ol64.gif" /></p>

<p>&nbsp;</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>

dcexpert 发表于 2019-7-17 13:34

<p>用的是Arduino编程啊</p>

donatello1996 发表于 2019-7-18 09:35

dcexpert 发表于 2019-7-17 13:34
用的是Arduino编程啊

<p>嗯,因为我熟悉C/C++家族的编程习惯,用python是真心不习惯</p>

dcexpert 发表于 2019-7-18 09:46

donatello1996 发表于 2019-7-18 09:35
嗯,因为我熟悉C/C++家族的编程习惯,用python是真心不习惯

<p>对嵌入式,python是一种新的开发方式,可以体验一下。</p>
页: [1]
查看完整版本: 【麦昆试用】迟来的第二帖——调通小车上的基础输入\输出外设