脑力机器,www.80,吴政迪
由于最近在学习ardunio的使用,其中牵涉到绘制一些简单的电路图,又不愿意使用一些复杂的软件进行绘制,调查中发现python中的schemdraw库就能很好地完成这个任务,遂学习使用之。如果你还没学到python绘制库,建议你先去小编的python学习.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新python教程项目,多跟里面的大佬请教交流进步更快哦
pip install schemdraw搞定,不赘言
附上相关的网站:
https://pypi.python.org/pypi/schemdraw/
https://cdelker.bitbucket.io/schemdraw/schemdraw.html
https://www.zhihu.com/question/23632588 (知乎上对这个库及同类方式的介绍)
schemdraw官方文档中有这么个例子,和我们的用法比较类似遂拆解学习之。
d = schem.drawing() left = {'cnt':3, 'labels':['trg','thr','dis'], 'plabels':['2','6','7'], 'loc':[.2,.35,.75], 'lblsize':12, } right = {'cnt':2, 'labels':['ctl','out'], 'plabels':['5','3'], 'lblsize':12, } top = {'cnt':2, 'labels':['rst','vcc'], 'plabels':['4','8'], 'lblsize':12, } bot = {'cnt':1, 'labels':['gnd'], 'plabels':['1'], 'lblsize':12, } ic555 = e.blackbox(d.unit*1.5, d.unit*2.25, linputs=left, rinputs=right, tinputs=top, binputs=bot, leadlen=1, mainlabel='555') t = d.add(ic555) bot = d.add(e.gnd, xy=t.gnd) # note: anchors named same as pin labels d.add(e.dot) d.add(e.res, endpts=[t.dis, t.thr], label='rb') d.add(e.res, d='up', xy=t.dis, label='ra', rgtlabel='+vcc') d.add(e.line, endpts=[t.thr, t.trg]) d.add(e.cap, xy=t.trg, d='down', toy=bot.start, label='c', l=d.unit/2) d.add(e.line, d='right', tox=bot.start) d.add(e.cap, d='down', xy=t.ctl, toy=bot.start, botlabel='.01$\mu$f') d.add(e.dot) d.add(e.dot, xy=t.dis) d.add(e.dot, xy=t.thr) d.add(e.dot, xy=t.trg) d.add(e.line, endpts=[t.rst,t.vcc]) d.add(e.dot) d.add(e.line, d='up', l=d.unit/4, rgtlabel='+vcc') d.add(e.res, xy=t.out, d='right', label='330') d.add(e.led, flip=true, d='down', toy=bot.start) d.add(e.line, d='left', tox=bot.start) d.draw()
上效果图:
import schemdraw as schem import schemdraw.elements as e d = schem.drawing() left = {'cnt':10, 'labels':['reset','reset2','aref','n/c','a0','a1','a2','a3','a4/sda','a5/scl'], 'plabels':['2','6','7'], 'lblsize':12, } right = {'cnt':17, 'labels':['tx/d0','rx/d1','d2','pwm d3','d4','pwm d5','pwm d6','d7','d8','pwm d9','ss/pwm d10','mosi/pwm d11','miso/d12','sck/d13','icsp2 miso','icsp2 sck','icsp miso'], 'plabels':['5','3'], 'lblsize':12, } top = {'cnt':3, 'labels':['3v3','5v','vin'], 'plabels':['4','8'], 'lblsize':12, } bot = {'cnt':1, 'labels':['gnd'], 'lblsize':12, } ic555 = e.blackbox(d.unit*2.5, d.unit*4.5, linputs=left, rinputs=right, tinputs=top, binputs=bot, leadlen=1, mainlabel='arduino\nuno\n(rev3)') t = d.add(ic555) d.draw()
效果图:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论