feiyushenyou
2021-08-04 15:24
采纳率: 50%
浏览 292

求震动按摩器震动算法

求震动按摩器震动算法C/JAVA等实现
假设震动接口是void vib(void);

有专家吗,提供算法、思路或伪代码。可发个小红包答谢

如图,模式1~模式11, 或者提供下行业一般性算法?

img

  • 点赞
  • 收藏

3条回答 默认 最新

  • soar3033 2021-08-04 20:03
    已采纳

    这是举个实现的例子,但是实际硬件并不是以这种方式驱动,请采纳,后续可私信解答

    img

    
    import matplotlib.pyplot as plt
    import math
    
    n=1000
    k=0.1
    x=[i for i in range(n)]
    
    y1=[abs(10*math.sin(i*k*0.1)) for i in range(n)]
    y2=[abs(3*math.sin(i*k*3*0.1)) for i in range(n)]
    y3=[((i*10)/10+10)*math.sin(i*k*2*0.1) for i in range(n)]
    y4=[10*math.sin(i*k*0.5) for i in range(n)]
    y5=[10*math.sin(i*k*0.5) if 10*math.sin(i*k*0.5)>0 else 0 for i in range(n)]
    y6=[i*k%20 if i*k%20<10 else 20-i*k%20 for i in range(n)]
    y7=[i*k%20 if i*k%40<20 else 40-i*k%40 for i in range(n)]
    y8=[i*k%50 if i*k%50<20 else (20 if i*k%50<30 else 50-i*k%50) for i in range(n)]
    y9=[10 if i*k%10<5 else 0 for i in range(n)]
    y10=[10 if i*k%20<5 else 0 for i in range(n)]
    y11=[0 if i*k%60<20 else ( 5 if i*k%60<40 else 10)  for i in range(n)]
    
    plt.subplot(431)
    plt.plot(x,y1)
    plt.subplot(432)
    plt.plot(x,y2)
    plt.subplot(433)
    plt.plot(x,y3)
    plt.subplot(434)
    plt.plot(x,y4)
    plt.subplot(435)
    plt.plot(x,y5)
    plt.subplot(436)
    plt.plot(x,y6)
    plt.subplot(437)
    plt.plot(x,y7)
    plt.subplot(438)
    plt.plot(x,y8)
    plt.subplot(439)
    plt.plot(x,y9)
    plt.subplot(4,3,10)
    plt.plot(x,y10)
    plt.subplot(4,3,11)
    plt.plot(x,y11)
    plt.show()
    
    
    点赞 打赏 评论
  • 幻灰龙 2021-08-04 15:36

    不是用 sin函数+cos函数组合就可以了,上面的图形用 sin+cos可以任意组合得到。

    点赞 打赏 评论
  • dceacho 2021-08-04 17:30

    就12345用到正弦,其中3复杂一点
    其他的都可以写死,没有算法可言
    一般都是PWM驱动偏心电机,PWM占空比按着图形增减就好

    点赞 打赏 评论

相关推荐 更多相似问题