极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15954|回复: 4

【分享】给书写时间的plotclock写一个图形化的摆臂调试上位机程序

[复制链接]
发表于 2014-6-28 23:01:47 | 显示全部楼层 |阅读模式
本帖最后由 沧海笑1122 于 2014-6-28 23:11 编辑

【分享的项目】图形化的PlotClock摆臂调试上位机程序
【时间】2014-06-26~27
【内容描述】
    1、为什么要校准摆臂: plotclock(书写时间的小钟)是一个好玩的开源项目,很多极客制作了套件,改进了硬件和
代码,为这个玩具赋予了更多的乐趣。在套件加工精度满足要求、舵机工作正常的情况下。书写的位置准确以及书写字
体圆润主要取决于左右摆臂的调试精度。因为舵机的参数、工作状态的细微差别,每个plotclock摆臂的工作也不尽相
同。这就需要在下载书写程序之前,校准左右摆臂的位置。
    而这个校准的过程,目前是基于一个arduino的校准程序。用户每次在校准程序中设定左右摆臂的四个参数,下载给arduino,运行校准程序后,观察摆臂的位置。如果不满足要求,再重复上述程序。这样做比较麻烦,调试时间长,当
然也影响了校准的精度和小钟最终的效果。
  2、图形界面的上位机参数下发程序: 为了便于摆臂调试,这次专门为左右摆臂调试写了一个上位机小程序,是python的,所以也可以跨平台,将来树莓派也能运行。
   3、下位机那边,用到了ajson进行数据解析,把上位机下发的四个参数解析开,驱动两只摆臂,玩家立即马上看到摆
臂的工作状态,不满意,可以立即在上位机上修改参数,再次下发。这些过程都是在线的,不需要给arduino一次次下
载校准程序,下发的仅仅是参数。
   上位机程序是图形界面,很友好。玩家可以直接拖动鼠标就可以完成参数设置。在得到满意的参数后,记录下来,
写入时钟书写程序就大功告成了。

【鸣谢及PlotClock背景】
       这个小程序的资源,主要也是来自极客工坊,
       (1)感谢plotclock的原作者Joo,没有他,就少了这样一个有趣的玩具。     
          http://www.thingiverse.com/thing:248009
           http://wiki.fablab-nuernberg.de/w/Dinglotclock
    (2)会员shihaipeng04,一个快乐的极客。感谢他提供了plotclock的调试方法、激光切割套件以及耐心的帮助。
            http://www.geek-workshop.com/thread-10024-1-1.html
          我用的套件,来自于他的某宝小铺,传送门:http://item.taobao.com/item.htm?id=39370904218
          我这些修改的摆臂调试程序,是他提供的程序基础上修改的。
       (3)会员quqianghao,感谢他提供了ajson的教程, http://www.geek-workshop.com/thread-3407-1-1.html
       (4)极客工坊里还发了很多会员的plotclock相关帖。虽然没有一一拜读,一并感谢。

【代码分享】
    附上python源码以及arduino端的校准程序,供大家参考,如果大家进行了更好的修订完善,别忘了分享到这里啊。
    注:(1)图上的那个文本框,就是json格式的参数,这个字符串通过串口下发给arduino,经过解析后,就可以驱
动摆臂了。
       (2)我是在win7上编写并且测试的。python 2.7.6,你需要安装pyserial模块。我是用BOA写的图形界面。你需要
安装wxpython库吧。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-6-29 00:52:23 来自手机 | 显示全部楼层
对了,我的UNO在PC上被识别为Com27,各位玩家必须自己在代码中改啊。
回复 支持 反对

使用道具 举报

发表于 2014-6-29 22:34:10 | 显示全部楼层
{:soso_e118:} 会者不难难者不会。。楞没搞明白。吼吼。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-29 22:59:18 | 显示全部楼层
shihaipeng04 发表于 2014-6-29 22:34
会者不难难者不会。。楞没搞明白。吼吼。。

@shihaipeng04兄,arduino那边用我提供的程序下载,舵机连接方式没有变化,依然是D2,3,4.
把arduino插在USB上,PC这边会识别一个端口(如COM27),记下来。打开附件里面的frame1.py。把里面的端口号改为你实际的端口号。然后在python环境下,运行plotclock1.py。就可以了。

参数调整用鼠标点击、拖动即可。然后按"SEND"键,在arduino板子上,会看到RX闪烁,然后就可以看到舵机按照校准状态运行了,左右臂各一次,中间间隔1000ms.

如果对参数不满意,继续调整,继续send。。。。
不清楚的可以留言。
希望能有用。
python我用的是2.7.6,还需要pyserial和wxpython库。
回复 支持 反对

使用道具 举报

发表于 2014-7-27 18:49:27 | 显示全部楼层
400是什么个意思,舵机不是500-2500的范围吗?
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 13:06 , Processed in 0.042516 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表