c_014_小车绕学校操场跑


一、课程名称:小车跑操场
适合年龄段:五年级及以上;十二岁及以上
课程时长:120分钟
主体分两个阶段,各1小时:第一个是探索比例巡线,二元一次方程组求解,完成项目一[绕圆圈];第二个是用刚学的方法完成项目二[跑操场]。
二、活动准备:2个地面灰度传感器,双电机小车一辆。
三、小车任务:绕着操场外圈跑道跑一次,再内圈球场外围跑一圈。效果好,可以套上“无限循环”让车一直转悠。
四、需要用到的算法:
(1)通过系统时间计时,在一定时刻中断某一循环。
(2)比例巡线,通过二元一次方程组求解,求出一侧电机的“变量”。

五、课程内容:

(1)复习基础单光感巡线
教师和学生讨论之前学到的“单光感”巡线方法“判断两种颜色发射光强度的中间值”分别执行左右偏航。让学生编辑第一个函数<二黑左侧>,这里我给它的意思是“二号传感器在黑线左侧巡线”。
function blackleft_2()
{
}

根据场地可知,不管如何,二分支结构内的电机差速效果都应使小车向同一侧偏航。区别在于接触黑线时,偏航角度大一些。

(2)探索比例巡线
建立第二个函数<P巡线>。教师结合上文基础巡线的数值,把信息转化为一组二元一次方程组。过程中,教师要说清楚,方程组的由来。随后,若学生没有能力解方程便有教师来进行。先求出K,再求出X。最后得出马达输出量为:(-k*地面灰度数值+固定值)
其中X代表“被减数的固定值”,地灰是已知数,k代表“差速的比率”。
function p_xunxian2()
{
}

这里也许会用到浮点变量,float。

(3)两次实验
学生分别让小车在同一起点运行这两个的[巡线函数]。
学生调用系统时间,通它计时,循环中断条件为计时器超过5秒时,中断“巡线函数”,以此验证:相同时间内,比例巡线能让小车行驶得更远。



(4)进入项目二:绕着操场跑

学生需要分析地图,思考第二个函数<P巡线>能否直接套用在该项目上呢?学生拿起小车直接运行了之前的程序,发现小车在跑直线时会向操场内偏移。这是为什么呢?

(5)修改二元一次方程组等号右边的电机功率,应使小车航向出现左右两个航向。随后开始解方程。求出新的k与x。

(6)随后建立第三个函数<绕操场>
function aroundground()
{
}


7)建立第四个函数<转向>
function turnleft_90()
{
}

两种算法:方法1,可以使用延时等待,双电机固定功率转向,让传感器在黑线左侧,随后我们可以直接调运第三函数寻直线,重复执行四次,即可回到起点。方法2,利用循环条件,让传感器正正好好抵达黑线边缘,但还是要调整电机功率或者小车转向的起始位置。这里需要教师自己结合实际场景做变通。比如先前进0.5秒再原地转向。

(8)完成项目二

绕着地图无限跑。

六、课程结束
