Arduino玩家必备,SimulIDE电路模拟器

玩电子 DIY 时入门最常用的就是 Arduino 了,Arduino 封装了大量的库,而且社区也有各种外设的库,对于开发应用来说相当便捷。再加上现在嘉立创的免费打样服务,玩电子 DIY 可以很方便地做出一个像模像样的产品。

不过在编写固件时,可能还是会踩很多坑,如果在 PCB 生产完后再验证,万一出点问题就又是漫长的等待,中间手工焊接的时间也会浪费掉。如果用面包板,又需要连接一大堆杜邦线,有些时候手头没有对应的元件,或者是不方便连接杜邦线时,还不好测试。

这个时候,我就去找了一下有没有电路的模拟器,就找到了 SimulIDE。

SimulIDE 介绍

simulide-introduce-1

SimulIDE 官网: https://simulide.com/p/

SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students to learn and experiment with analog and digital electronic circuits and microcontrollers.
It supports PIC, AVR , Arduino and other MCUs and MPUs.

SimulIDE 是一个实时的电路模拟器,支持相当多的模拟器件以及数字器件,另外还带了 PIC、AVR、Arduino 等 MCU 的支持。

一个简单的示例

之前为了移植小恐龙游戏到 CH32V003 游戏机上,需要先把这个代码编译通过,并且原作者代码中的图片是按行存储的,而 CH32V003 游戏机是按列初始化的,因此需要转换一下,为了验证转换是否正确,就用 SimulIDE 来运行一下固件看看是否可以正常操作了。

关于基于 CH32V003 的游戏机和小恐龙游戏可以看以下两篇往期文章:

这里就用了三个器件,Arduino Uno、SSD1306、按键,另外加了个示波器看 I2C 信号是否正常。

simulide-introduce-2

在 SimulIDE 中验证图片以及字体都能正常渲染后,就可以往 CH32V003 移植了。

常用设置

Arduino Uno

在 Arduino Uno 的设置中,可以设置 MCU 的频率,以及加载的固件文件,特别是 Reload hex at Simulation Start 选项,可以在每次启动模拟时,从文件位置重新加载固件,这样就可以在外部编译好之后,每次都能使用最新的固件进模拟。

simulide-introduce-3

SSD1306 OLED 设置

SSD1306 OLED 最常用的就是设置屏幕的尺寸和颜色了,例如在这里要吧将显示的颜色修改为黄色。

如果需要模拟 128x32 分辨率的 OLED,也可以在这里修改一下参数。

simulide-introduce-4

另外 SSD1306 还有一点需要注意,就是它的 I2C 通信地址,如果和代码中对应不上,就会无法正确地显示内容了。

simulide-introduce-5

其他示例

我还用 SimulIDE 来学习过怎么使用运算放大器,实现一个低侧电压检测电路。

simulide-introduce-6

更多器件

对于电子 DIY 过程中能用到的大多数器件,在 SimulIDE 里都能找到,像常用的编码器、按键、LED、显示屏、电机等,MCU 则主要是 Arduino AVR mega 系列,这算是一个小小的缺点吧,不过对于大多数场景来说,也算是够用了。

simulide-introduce-7

另外也有一些传感器什么的,超声波、温湿度都有。

simulide-introduce-8

对于刚开始玩 DIY 的朋友们来说,用这个应该可以减少一部分返工的工作 😃。

参考资料

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>