【智控万物】乐高播放“极乐净土badapple”

2021-02-244957
AI 快速预览详细 收起
本文介绍了如何使用乐高EV3播放“极乐净土badapple”。首先,需要将5062张JPG图片批量转换为PBM格式,每张图片平均处理时间为20秒。然后,通过编写Python程序,利用ev3dev2库控制乐高EV3屏幕显示这些图片,最终实现动画效果。这个项目不仅展示了乐高EV3的强大功能,还激发了孩子们对编程和机器人的兴趣。
【智控万物】乐高播放“极乐净土badapple”图2

有屏幕的地方,就有“极乐净土badapple”
【准备工作】参考:https://mc.dfrobot.com.cn/thread-308419-1-1.html
【乐高EV3】
帖子最后附件中有从网上下载的badapple图片资源包,我用Fireworks已处理成178*128(乐高EV3屏幕大小),但格式是JPG。如果想转成pbm格式请使用如下方法。
  1. #安装
  2. sudo apt-get install imagemagick
  3. #转化
  4. convert 1.jpg 2.pbm
复制代码

使用如下命令进行批量转换。

图片名格式为,0001.jpg ——5062.jpg,程序中利用判断语句处理文件名问题。
  1. for i in {1..5062} ; do
  2. >if [ $i -lt 10 ] ; then
  3. > str1="000"${i}
  4. > elif [ $i -lt 100 ] ; then
  5. > str1="00"${i}
  6. > elif [ $i -lt 1000 ] ; then
  7. > str1="0"${i}
  8. > fi
  9. > convert ${str1}.jpg ${str1}.pbm
  10. >echo $i
  11. >done
复制代码
由于EV3的处理能力,平均20秒处理一张图片。

【图片资源包】
下载附件badapple.zip

【Python程序】

  1. from ev3dev2.display import Display
  2. import time
  3. display=Display()
  4. i=0
  5. for i in range(1,5062):
  6.   if i<10:
  7.     str_i='000'+str(i)
  8.   else:
  9.     if i<100:
  10.       str_i='00'+str(i)
  11.     else:
  12.       if i<1000:
  13.         str_i='0'+str(i)
  14.   display.image_filename('badapple/'+str_i+'.pbm');display.update();
复制代码

【演示视频】


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
帅猫
帅猫
建议投到B站,必火
- 没有更多了 -