树莓派35/100 - 用graphviz画逻辑电路图
写了许多篇树莓派Pico的文章,经常要画逻辑电路连接示意图,首先我想到的是PPT,画一张图会累得半死。
当然专业的工具是Fritzing,我也试过,里面有很多现成的模具可以直接拿来用,但鼠标拖来拽去还是不方便。
程序员还是用程序员的办法来画图,用代码生成图形是最理想的,将来维护很方便,稍微修改一下,就可以生成另一张图。最后,我选中了Graphviz。因为我只想用它直观展示各个引脚的连接关系,而不是实际的连线位置。
Graphviz是一个非常有名的做图工具,非常适合做有向图、无向图,几行简单的代码可以自动排版生成你想要的图形,图形元素越多越复杂,它的威力越大。
它的绘图语言为DOT,语法还是相当强大的,如果你想精细地调整形状、线条、颜色和布局的话,需要认真看它的用户手册,尝试各种组合。
Graphviz自身带的gvedit.exe程序不太好用(在Windows10里直接找不到它了,只有在2.38版本里能找到它),对中文支持不太友好,编辑它也有些麻烦,最好在Notepad++安装一个Graphviz插件和语法高亮显示,然后按"F9"就可以随时预览图形。
我在写《读取MPU6050加速度和陀螺仪传感器数据》这篇文章时用到的绘图源代码:
digraph G {graph[rankdir = LR]node[shape=record fontname="Consolas"]pico[label="{{ {<gp0>GP0|1}|{<gp1>GP1|2}|<gnd3>GND|{<gp2>GP2|4}|{<gp3>GP3|5}|{<gp4>GP4|6}|{<gp5>GP5|7}|<gnd8>GND|{<gp6>GP6|9}|{<gp7>GP7|10}|{<gp8>GP8|11}|{<gp9>GP9|12}|<gnd13>GND|{<gp10>GP10|14}|{<gp11>GP11|15}|{<gp12>GP12|16}|{<gp13>GP13|17}|<gnd18>GND|{<gp14>GP14|19}|{<gp15>GP15|20}}| Raspberry Pi\nPico |{{40|<vbus>VBUS}|{39|<vsys>VSYS}|<gnd38>GND|{37|3v3_en}|{36|<v3>3v3_out}|{ 35|} |{34|<gp28>GP28}|<gnd33>GND|{32|<gp27>GP27}|{31|<gp26>GP26}|{30|RUN}|{29|<gp22>GP22}|<gnd28>GND|{27|<gp21>GP21}|{26|<gp20>GP20}|{25|<gp19>GP19}|{24|<gp18>GP18}|<gnd23>GND|{22|<gp17>GP17}|{21|<gp16>GP16}}}"]imu[label="{{<vcc>VCC|<gnd>GND|<scl>SCL|<sda>SDA|<xda>XDA|<xcl>XCL|<ad0>AD0|<int>INT}| MPU-6050 }"]pico:v3 -> imu:vcc:w[color=red]pico:gnd28 -> imu:gnd [color=black dir=both arrowhead=dot arrowtail=dot arrowsize=0.5]pico:gnd28 -> imu:ad0[color=black dir=both arrowhead=dot arrowtail=dot arrowsize=0.5]pico:gp16 -> imu:sda[color=green]pico:gp17 -> imu:scl[color=blue]
}
如果你有更好的绘图工具,也欢迎留言。
推荐阅读:
树莓派Pico开发系列文章
树莓派35/100 - 用graphviz画逻辑电路图相关推荐
- html5制作线路图,HTML5使用canvas画简单电路图
何问起 var canvas = document.getElementById("canHewenqi"); var cxt = canvas.getContext(" ...
- 【Verilog HDL】从逻辑电路图到门级建模——人工翻译的方法论
从左到右,从上到下 先搞定缓冲/非门,再写与/或门 1. 实例解读 先以四选一数据选择器进行说明 对于数字逻辑的部分不再说明,直接进行逻辑电路图到Verilog门级建模的人工翻译过程的描述. 1.1 ...
- 树莓4派开机动画_树莓派的 100 种玩法 2 - 树莓派 4 更新 EEPROM
树莓派 4 自带了 EEPROM (4MBits/512KB) 用于启动系统. 安装比较新的系统或安装 ESXi 需要更新树莓派 4 的 EEPROM. 本文教大家如何更新树莓派4 的EEPROM. ...
- 【C语言玩转圣诞节】100行代码画出圣诞水晶球
序 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉. 嗨!这里是狐狸~~ 今天是2021年12月23号,后天就是圣诞节了,再过一个星期就是2022年了,最近总是感觉伤感,有些事情就 ...
- python画拓扑图子图_使用 Graphviz 画拓扑图
使用 Graphviz 画拓扑图 0)前述 本文着重讲一下 Graphviz 的风格控制,基础一些的就不在这里讲啦. 1)从 Record 开始 下面通过一个简单示例开始吧: 在 Graphviz 的 ...
- graphviz 画决策树_决策树算法-实战篇
本节来介绍如何用决策树解决实际问题. 决策树是常用的机器学习算法之一,决策树模型的决策过程非常类似人类做判断的过程,比较好理解. 决策树可用于很多场景,比如金融风险评估,房屋价格评估,医疗辅助诊断等. ...
- graphviz 画决策树_决策树算法实战篇
上篇文章介绍了决策树算法的理论篇,本节来介绍如何用决策树解决实际问题. 决策树是常用的机器学习算法之一,决策树模型的决策过程非常类似人类做判断的过程,比较好理解. 决策树可用于很多场景,比如金融风险评 ...
- 三人抢答器逻辑电路图_三人抢答器plc程序图分享
plc梯形图是使用得最多的图形编程语言,被称为PLC的第一编程语言.梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制.梯形图常被称为电路或程序 ...
- 利用Graphviz画神经网络框架图
文章目录 前言 dot画神经网络图 简单神经网络 大型神经网络(伪) Python 画神经网络图 大型神经网络 前言 做了神经网络这么久,偶尔想画一下自己模型的架构图,但是又无从下手,因为网络一般都比 ...
最新文章
- 求二维数组中最大子数组的和
- npoi生成的表格数字左上角_如何用openpyxl自动化编写Excel电子表格 进阶篇 下
- 知道c语言单元测试答案西安工程大学免费,C语言程序设计(西安工程大学)知到章节测试题答案...
- java 枚举_Java中的枚举类型(Enum)详解
- json 插入数据_Power BI数据回写SQL Server(2)——存储过程一步到位
- proxmox换源_关于Proxmox 5.x的国内有效镜像源
- 为什么一般hashtable的桶数会取一个素数
- JS、Java、C 依然强势,Go、Kotlin、Python 成为潜力股,2020 开发者生态系统报告揭晓!...
- 帅炸了!乌克兰国防军队的系统账号和密码分别是 admin 和 123456!
- 中国象棋棋谱大全之一
- 聚类——K均值简介及Python实现
- gitlab 配置企业微信邮箱发送邮件
- mac 设置java环境变量_mac下java环境变量配置
- 工业交换机冗余什么意思?
- Ubuntu18.04安装后未发现Wi-Fi适配器解决办法
- EXCEL文件中的VBA模块名包含中文名导致打开失败的案例。
- golang---go mod 相关问题的解决方法(Unexpected module path、used for two different module)
- 解决无线网卡工作一段时间USB就自动断开连接(by liukun321咕唧咕唧)
- putty使用ppk远程_如何使用PuTTY远程打开GUI应用程序
- EasyEclipse for PHP运行PHP文件(关于PHP Browser的配置)
热门文章
- 基于javaweb的在线游戏商城系统(java+springboot+mybatis+mysql+layui+jsp)
- Alientek I.MX6UL Linux- 第七章 ARM汇编基础
- 河南分销系统开发|服装行业如何做引流裂变?
- 2021年河南省高考适应性测试成绩查询,2021年河南省普通高中毕业班高考适应性测试英语试题...
- XDS100V3连接Pandaboard ES OMAP4460开发板
- python笔记图片_图像 opencv - python笔记
- 最先进的微型计算机,微型计算机中的先进计算机技术.ppt
- Flash游戏制作规划与流程漫谈
- 足球游戏论坛数据分析--简单粗暴的K均值聚类
- API接口,亲测有效