利用写字机定制你的专属绕线画-Arduino中文社区 - Powered by Discuz!
查看: 1706|回复: 2

利用写字机定制你的专属绕线画

[复制链接]

该用户从未签到

发表于 2021-5-22 18:08 | 显示全部楼层 |阅读模式
本帖最后由 xuexibanyun 于 2021-5-22 18:17 编辑

情人节、520想给女朋友送一个特别的礼物?打开某宝搜一搜,发现了如下东东:

点进去看看,根据自己提供的照片定制的价格。。。打扰了。。。
然后百度了一下绕线画,发现了一个开源项目,网页链接如下:
https://halfmonty.github.io/StringArtGenerator/
1、设置好参数
2、上传图片,等待一小会儿,就会看见下边逐渐生成了绕线画和一个数组。
生成的效果图,我设置了2000线,线宽80,这样更接近我用写字机画出来的实际效果,如果用40或更小的参数,效果图会更好。

下边是生成的数组,把框里的数组复制出来,动手能力强的同学就可以找个板子,画个大圆,按照设置的pin数等分,按顺序标上序号,钉上钉子,开始按照数组顺序拉线啦。

但是,作为理工男,就这?太不高级了
然后一边查语法手册,一边撸了一段简单的python代码,把这一大串数组转化成了G代码。所以大家应该知道我想做什么了吧,嘿嘿。
  1. import math

  2. f=open('D:\gcode_output.txt','a')
  3. list=[******]  #把数表copy到方括号里

  4. #生成的数表
  5. line=len(list)     #线数
  6. n=360              #钉子数
  7. r=90              #圆形半径(mm)
  8. i=0
  9. f.write('S1000\n')
  10. f.write('F12000\n')
  11. f.write('G21\n')
  12. f.write('G90\n')
  13. f.write('G92 X0 Y0\n')

  14. while i<line:
  15.     x=r*(1+math.cos((2*list[i]*math.pi)/n))
  16.     y=r*(1+math.sin((2*list[i]*math.pi)/n))
  17.     #print('G1 X%.3f'%x,' Y%.3f'%y)
  18.     f.write('G1 X%.3f'%x)
  19.     f.write(' Y%.3f\n'%y)
  20.     if i==0:
  21.         f.write('M3\n')
  22.         f.write('G4 P0.5\n')
  23.     i+=1
  24. f.write('M5\n')
  25. f.write('G0 X0 Y0\n')
  26. f.close()
复制代码
运行这段python代码,就可以在D盘目录下找到gcode_output.txt这个文件,打开就能看到生成的G代码了。

里边的半径r等参数需要根据你的写字机绘图面积进行更改。
接下来连接写字机,导入G代码,运行。。。

经过三个小时的等待,终于画好了,其实可以把写字机的速度设置更快一点的。

画出来的是镜像,不过大体已经实现了。
写字机上的笔是0.5mm的签字笔,画的线太粗,换个0.2或者更细的笔效果应该会更好,以后试试看。




该用户从未签到

发表于 2021-6-20 05:37 来自手机 | 显示全部楼层
太强了,牛皮

该用户从未签到

发表于 2021-7-22 00:33 | 显示全部楼层
太强啦,上次看到G代码还是去参观智能车床的时候,顺便提一嘴,网站收下啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

继电器断开瞬间esp32重启或者网络断开
继电器断开瞬间esp32重启
主要模块: 芯片ESP32-WROOM-32D 供电用的220V转5V模块,700mA 网络LAN8720A模块 继电
【Arduino】168种传感器系列实验(171)---HLK-V20离线语音模块
【Arduino】168种传感器系
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
【Arduino】168种传感器系列实验(181)---1.3寸OLED液晶屏模块
【Arduino】168种传感器系
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
大佬们,帮帮忙
大佬们,帮帮忙
为什么我写的子程序,单独使用运行没问题,两个程序合起来就只会运行一个程序
OLED 128*64自制可达10000000个选项的菜单(已更新)
OLED 128*64自制可达10000
OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表