【掌控】mpython-加速计---十二生肖猜猜看

2018-10-051.3万
AI 快速预览详细 收起
该项目名为“十二生肖猜猜看”,使用掌控板加速度传感器实现。通过收集并处理十二生肖的图片素材,编写Python程序检测设备的摇动情况,随机显示一个生肖及其图片。适合亲子共学和编程启蒙,帮助孩子在玩乐中学习编程知识。


      今天和孩子一起听了这首儿歌《十二生肖》,挺好听

小老鼠,吱吱叫,看到猫儿就跑掉。

牛伯伯,好强壮,看到红布向前闯。

虎大王,最神气,森林之中没的比。

兔宝宝,爱睡觉,走起路来蹦蹦跳。

龙爷爷,最神秘,躺在云里猛吐气。

小白蛇,小青蛇,摇摇摆摆最有趣。

小马哥,跑得快,跑呀跑呀快快快。

羊咩咩,最贪玩,野狼来了快快跑。

小猴子,吱吱叫,红红屁股摇摇摇。

大公鸡,小公鸡,早晨起来喔喔啼。

小狗狗,尾巴摇,坏人来了汪汪叫。

小猪猪,胖嘟嘟,打个滚来踏踏脚。


于是我想借助掌控板子制作了一个十二生肖猜猜看。练习一下掌控加速度传感器的使用,方法如下:
三、
一、收集素材
【掌控】mpython-加速计---十二生肖猜猜看图1
二、处理图片
1.      美图秀秀将图片设计为64*64像素,BMP格式

2.利2.  用mg2Lcd工具取模工具对图片进行取模
【掌控】mpython-加速计---十二生肖猜猜看图2

开始三、编写程序
[mw_shl_code=applescript,true]while True:
   x1 = accelerometer.get_x()
   y1 = accelerometer.get_y()
   z1 = accelerometer.get_z()
   time.sleep_ms(100)
   x2 = accelerometer.get_x()
   y2 = accelerometer.get_y()
   z2 = accelerometer.get_z()
   if abs(x1 - x2) > 0.5 or abs(y1 - y2) > 0.5 or abs(z1 - z2) >0.5:
       #任意一轴的分时差值超过0.5,则认为检测到摇动
       display.fill(0) #清屏,以清掉以前显示数据
       display.show()  #刷新
       num = random.randint(1,12)  #随机产生1-12的数
       #display.DispChar(str(num),20,25,1) #产生的随机数送显示缓存
       #display.show() #数据送ODED显示
       if num == 1:
           display.blit(fb1,32,0)  #将fb1帧缓存送至oled显示,起始位(32,0)
           display.DispChar('子鼠 ',100,32)  
           display.show()         #刷新显示屏
       if num == 2:
           display.blit(fb2,32,0)  #将fb2帧缓存送至oled显示,起始位(32,0)
           display.DispChar('丑牛 ',100,32)
           display.show()         #刷新显示屏
       if num == 3:
           display.blit(fb3,32,0)  #将fb3帧缓存送至oled显示,起始位(32,0)
           display.DispChar('寅虎 ',100,32)
           display.show()         #刷新显示屏  
       if num == 4:
           display.blit(fb4,32,0)  #将fb3帧缓存送至oled显示,起始位(32,0)
           display.DispChar('卯兔 ',100,32)
           display.show()         #刷新显示屏  
       if num == 5:
           display.blit(fb5,32,0)  #将fb3帧缓存送至oled显示,起始位(32,0)
           display.DispChar('午马 ',100,32)
           display.show()         #刷新显示屏
       if num == 6:
           display.blit(fb6,32,0)  #将fb3帧缓存送至oled显示,起始位(32,0)
           display.DispChar('亥猪 ',100,32)
           display.show()         #刷新显示屏      
      if num == 7:                        display.blit(fb7,32,0)  #将fb7帧缓存送至oled显示,起始位(32,0)
            display.DispChar(' 辰龙',100,32)
            display.show()         #刷新显示屏
         if num == 8:
            display.blit(fb8,32,0)  #将fb8帧缓存送至oled显示,起始位(32,0)
            display.DispChar('巳蛇',100,32)
            display.show()         #刷新显示屏
         if num == 9:
            display.blit(fb9,32,0)  #将fb9帧缓存送至oled显示,起始位(32,0)
            display.DispChar('未羊',100,32)
            display.show()         #刷新显示屏
         if num == 10:
            display.blit(fb10,32,0)  #将fb10帧缓存送至oled显示,起始位(32,0)
            display.DispChar(' 申猴',100,32)
            display.show()         #刷新显示屏
         if num == 11:
            display.blit(fb11,32,0)  #将fb11帧缓存送至oled显示,起始位(32,0)
            display.DispChar(' 酉鸡',100,32)
            display.show()         #刷新显示屏   
         if num == 12:
            display.blit(fb12,32,0)  #将fb12帧缓存送至oled显示,起始位(32,0)
            display.DispChar(' 戌狗',100,32)
            display.show()         #刷新显示屏        
    time.sleep_ms(100   )[/mw_shl_code]



创作许可协议

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

评论(0)
- 没有更多了 -