大学之前就希望做一个激光雕刻机,我对JAVA也非常感兴趣,正好呢树莓派有pi4j作为支持,那么刚好这次e络盟举行这个比赛,就打算用树莓派和java做一个激光雕刻机。我也希望通过这次比赛让更多的人知道pi4j,希望更多的人通过pi4j和树莓派做出好的项目。
01
项目介绍
我本人是物联网专业的,雕刻机涉及到的内容比较广泛,也是边做边查资料,项目有不足,还请包涵。由于使用java编写的,所以树莓派需要安装pi4j。
1.将需要雕刻的文字或者图通过软件转换为GCode代码
2.将GCode代码文件传入树莓派内,执行对应的GCode指令。
3.将文字或者图通过树莓派控制X和Y轴的步进电机通过X轴的激光器在纸上雕刻出来。
02
算法介绍
那么如何将GCode代码转化成驱动步进电机正反转的指令呢,这就需要通过编写代码去解释GCode代码了。
二维激光雕刻机中用到算法只有:直线插补算法和圆弧插补算法。我们都知道在二维中所有的图和文字都是由直线和弧线组成,但是X和Y轴是不可能直接去画一条非X和Y平行直线的,那么我们就需要通过不断进给X和Y轴步进电机去画直线或弧线。
直线插补算法图示,可以看到如果画一条直线的话,需要X和Y轴不断正方向的进给,去画一条视觉上的直线。
圆弧插补算法也是类似,通过算法驱动步进电机使他画一个圆弧出来。
03
APP端和服务器端
树莓派工作之前先从公网服务器获取工作模式,树莓派端有两种工作模式:本地工作模式和远程工作模式。
本地工作模式:执行树莓派本地的GCode代码(断网情况下默认本地模式)
远程工作模式:执行APP端发送过来的GCode