目录
前言
由于最近开始学习python的协程概念。结合自己已有的知识,并尝试运用在以Arduino为主控的项目中。
通过自我学习,现在对于协程的理解是这个样子:在等待结果的过程中,为了不浪费资源,将等待的时间加以利用,从而跳转执行其他任务。所以关键就是将等待的时间加以利用。
而在工业的精益生产中,等待的浪费是最大的浪费。所以为了学习并实际理解这样的思想,通过PC上位机控制下位机Arduino的方式来举一个案例。
在生产中经常会遇到这样的情况,通过电机带动工装夹具进行移动,如果在行程很长的情况下,在工装夹具抵达限位开关前必然存在等待时间。如果按照常规思路来想,上位机在接收到下位机传来的到位信号前,只能是处于等待状态。现在按照协程的思想来看的话,我们可以在等待1号Arduino下位机传递到位信号前,给2号Arduino甚至3号Arduino下位机传递或回传指令。这也就实现了并发的功能,从而实现效率提高的目的。
实验设计
上位机:PC
下位机:两块Arduino
为了方便区别1号Arduino采用mega2560,并模拟电机带动工装夹具,等待其碰触到限位开关后停止运动的情况,这是协程1。2号Arduino采用nano,并模拟等待上位传递指令,一段时间后回传结束指令给上位机,这是协程2。上位机同时进行计数操作,这是协程3。