2018-10-6 16:32:42 [显示全部楼层]
3994浏览
查看: 3994|回复: 4

[入门教程] 【掌控】mpython-14…带上handpy走四方

[复制链接]
走四方 路迢迢水长长 迷迷茫茫一村又一庄
看斜阳 落下去又回来 地不老天不荒 岁月长又长
走四方 路迢迢水长长 迷迷茫茫一村又一庄
看斜阳 落下去又回来 地不老天不荒 岁月长又长
做个简易计步器,带上handpy走四方。【掌控】mpython-14…带上handpy走四方图1

其实ESP32可以实现很强大的功能的,可是我还在低水平上徘徊。
入门课程,入门哈。
希望我能够把掌控的神力打开。

【程序】
功能,走路计步。
按A键清0。

[mw_shl_code=python,true]from machine import Pin #导入引脚库
from mpython import *   #此库为掌控板内置传感器驱动
import time   #导入时间库

#定义按钮引脚
BTNA = Pin(0, mode=Pin.OPEN_DRAIN, pull=Pin.PULL_UP, value=1)
BTNB = Pin(2, mode=Pin.OPEN_DRAIN, pull=Pin.PULL_UP, value=1)

#初始化读数变量
step = 0
#定义计步函数
def jibu():
    display.fill(0)#清屏,以清掉以前显示数据
    display.DispChar('diy 计步器', 32, 0)
    display.text("%d" % (step), 40, 32)
    display.show()  #刷新显示屏
   
#x1 = accelerometer.get_x() #获取初始加速度数据   
y1 = accelerometer.get_y()
#z1 = accelerometer.get_z()

jibu()
while True:
    if BTNA.value() == 0 and  BTNB.value() == 1 :#按下按钮A数据回0
        step = 0
        jibu()   
    #x2 = accelerometer.get_x() #获取第2个加速度值
    y2 = accelerometer.get_y()
    #z2 = accelerometer.get_z()
    if abs(y1 - y2) > 0.5:  
        #abs(x1 - x2) > 0.5 or abs(y1 - y2) > 0.5 or abs(z1 - z2) > 0.5:
        #y轴的分时差值超过0.5,则认为检测到走动
        step = step + 1  #步数加1
        jibu()
        y1 = y2          #将y2数据存入y1
    time.sleep_ms(400)   #延时和个人行走步速有关,请根据个人情况调整[/mw_shl_code]

后面将尝试掌控的蓝牙及物联网功能。
虽是入门,也要有进阶不是吗。

germanpan  见习技师

发表于 2018-10-6 23:19:31

学习了,支持支持:O
回复

使用道具 举报

digi_cow  高级技匠

发表于 2018-10-8 08:56:14

这是一拨可谓掌控“开天辟地”系列教程!
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-10-8 10:05:45

digi_cow 发表于 2018-10-8 08:56
这是一拨可谓掌控“开天辟地”系列教程!

哈哈,早拿到试用板而已。
这是一块属于大家的板子,期待后面的图形化软件出来,小朋友也能玩起来。
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-12-28 21:26:46

  1. from mpython import *   #此库为掌控板内置传感器驱动
  2. import time   #导入时间库
  3. #初始化读数变量
  4. step = 0
  5. #定义计步函数
  6. def jibu():
  7.     oled .fill(0)#清屏,以清掉以前显示数据
  8.     oled.DispChar('diy 计步器', 32, 0)
  9.     oled.text("%d" % (step), 40, 32)
  10.     oled.show()  #刷新显示屏
  11.      
  12. x1 = accelerometer.get_x() #获取初始加速度数据   
  13. y1 = accelerometer.get_y()
  14. z1 = accelerometer.get_z()
  15. jibu()
  16. while True:
  17.     x2 = accelerometer.get_x() #获取第2个加速度值
  18.     y2 = accelerometer.get_y()
  19.     z2 = accelerometer.get_z()
  20.     if abs(x1 - x2) > 0.5 or abs(y1 - y2) > 0.5 or abs(z1 - z2) > 0.5:
  21.         #x or y or z轴的分时差值超过0.5,则认为检测到走动
  22.         step = step + 1  #步数加1
  23.         jibu()
  24.         x1 = x2          #将x2数据存入x1
  25.         y1 = y2
  26.         z1 = z2
  27.     time.sleep_ms(500)   #延时和个人行走步速有关,请根据个人情况调整
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail