【适用年级】小学三四年级
【课时】1
【教学目标】
1、了解超波测距的原理;
2、了解随机数的概念;
3、学习列表的初步知识。
4、使用“画图”工具将图片转换为128*64格式的bmp图片,学会图片取模的方法
学会将取模的图片显示到OLED屏幕上
【学习重点】列表与随机
【学习难点】小图片取模
【器材准备】
掌控板 1
掌控宝 1
超声波传感器 1
纸板剪刀画笔 1
一、【课程导入】
超声波是意大利科学家斯帕拉捷通过研究蝙蝠发现的。
《夜晚的实验 》— 出自苏教版语文六年级下册
意大利科学家斯帕拉捷习惯晚饭后到附近的街道上散步。他常常看到,很多蝙蝠灵活的在空中飞来飞去,却从不会撞到墙壁上。这个现象引起了他的好奇:蝙蝠凭什么特殊本领在夜空中自由自在的飞行呢?
1793年夏天,一个晴朗的夜晚,喧腾热闹的城市渐渐平静下来。斯帕拉捷匆匆吃完饭,便走出街头,把笼子里的蝙蝠放了出去。当他看到放出去的几只蝙蝠轻盈敏捷地来回飞翔时,不由得尖叫起来。因为那几只蝙蝠,眼睛全被他蒙上了,都是“瞎子”呀。
斯帕拉捷为什么要把蝙蝠的眼睛蒙起来呢?原来,每当他看到蝙蝠在夜晚自由自在的飞翔时,总认为这些小精灵一定长着一双特别敏锐的眼睛,就不可能在黑夜中灵巧的多过各种障碍物,并且敏捷的捕捉飞蛾了。然而事实完全出乎他的意料。斯帕拉捷很奇怪:不用眼睛,蝙蝠凭什么来辨别前方的物体,捕捉灵活的飞蛾呢?
于是,他把蝙蝠的鼻子堵住.结果,蝙蝠在空中还是飞的那么敏捷、轻松。“难道他薄膜似的翅膀,不仅能够飞翔,而且能在夜间洞察一切吗?”斯帕拉捷这样猜想。他又捉来几只蝙蝠,用油漆涂满它们的全身,然而还是没有影响到它们飞行。
最后,斯帕拉捷堵住蝙蝠的耳朵,把他们放到夜空中。这次,蝙蝠可没有了先前的神气。他们像无头苍蝇一样在空中东碰西撞,很快就跌落在地。
啊!蝙蝠在夜间飞行,捕捉食物,原来是靠听觉来辨别方向、确认目标的!
斯帕拉捷的实验,揭开了蝙蝠飞行的秘密,促使很多人进一步思考:蝙蝠的耳朵又怎么能“穿透”黑夜,“听”到没有声音的物体呢?
后来人们继续研究,终于弄清了其中的奥秘。原来,蝙蝠靠喉咙发出人耳听不见的“超声波”,这种声音沿着直线传播,一碰到物体就像光照到镜子上那样反射回来。蝙蝠用耳朵接受到这种“超声波”,就能迅速做出判断,灵巧的自由飞翔,捕捉食物。
现在,人们利用超声波来为飞机、轮船导航,寻找地下的宝藏。超声波就像一位无声的功臣,广泛地应用于工业、农业、医疗和军事等领域。斯帕拉捷怎么也不会想到,自己的实验,会给人类带来如此巨大的恩惠。
超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
(超声波在空气中的传播速度为340m/s,根据计时器记录的时间t(秒),就可以计算出发射点距障碍物的距离(s),即:s=340t/2)
二、【任务清单】
利用超声波传感器测距,对着传感器做剪刀石头布手势,掌控板随机出手势显示在屏幕,进行人机对战。可以加上灯光和声音。
小组讨论,任务分解。
1、三张小图片取模,做图片列表。
2、当手势进入测定的距离范围内时,掌控板随机显示图片,人机对战。
老师讲解图片取模的方法。
图片处理
1 OLED屏幕只能显示颜色深度为1或者就是黑白模式的bmp格式,您可以使用Photoshop、“画图”或者其他图片显示软件进行转换。下面以“画图”工具为例。
2 转换好格式的图片需要使用取模工具对图片进行取模
3 转换的图片大小应该为128*24,也就是掌控板屏幕的大小。
4 所选的图片线条要分明,且颜色不能太过丰富。
第一步
首先我们需要对图片进行转换,选择图片后右键点击,点击编辑打开画图工具,在画图工具栏中点击“重新调整大小”,在“保持纵横比”的条件下,设置图片的像素,将“垂直”改为64,“水平”改为128。
第二步
将图片保存为bmp格式。
第三步
接下来使用取模工具对转换格式后的图片进行取模。网上有PCtoLCD、lcd image converter等取模软件,可根据自己喜好自行选择。以下使用的是Img2Lcd工具 。
这里我们提供1张图片作为示例图片,您也可以按照贴士里提到的标准制作您自己喜欢的图片进行转换。
Img2Lcd工具下载:https://mpython.readthedocs.io/zh/master/_downloads/5e5ffffa77ef66c6a2d73d92ed8198a7/Image2Lcd.zip
步骤1.打开格式为bmp的图片
步骤2.选择参数,输出数据类型[C语言数组]、 扫描模式[水平扫描]、输出灰度[单色]、宽高[128*64],可以适当亮度、对比度,直到图片显示清晰。
步骤3.点击保存,打开保存的”.c”后缀的文件
第四步
将保存的文件用记事本程序打开,去掉红色标记的首尾两行。复制中间的16进制图像数据,这些数组就代表着图片的像素点。
第五步
将复制的16进制图像数据粘贴在下列指令的空格处。
描述:OLED绘制16进制数组图像。
将16进制数据转换成图像显示在oled屏幕的指定位置处。
【小提示:图片取模过程一定要仔细演示,交待清楚练习要点】
附:取模得到的三个64X64的”.c”后缀的文件。
【参考程序】
【拓展任务】
1、优化程序,加入声光效果。
2、增加3个9g180舵机,改成舵机版,该如何改进。
点赞