文章目录
玩电子 DIY 时入门最常用的就是 Arduino 了,Arduino 封装了大量的库,而且社区也有各种外设的库,对于开发应用来说相当便捷。再加上现在嘉立创的免费打样服务,玩电子 DIY 可以很方便地做出一个像模像样的产品。
不过在编写固件时,可能还是会踩很多坑,如果在 PCB 生产完后再验证,万一出点问题就又是漫长的等待,中间手工焊接的时间也会浪费掉。如果用面包板,又需要连接一大堆杜邦线,有些时候手头没有对应的元件,或者是不方便连接杜邦线时,还不好测试。
这个时候,我就去找了一下有没有电路的模拟器,就找到了 SimulIDE。
SimulIDE 介绍
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 中验证图片以及字体都能正常渲染后,就可以往 CH32V003 移植了。
常用设置
Arduino Uno
在 Arduino Uno 的设置中,可以设置 MCU 的频率,以及加载的固件文件,特别是 Reload hex at Simulation Start 选项,可以在每次启动模拟时,从文件位置重新加载固件,这样就可以在外部编译好之后,每次都能使用最新的固件进模拟。
SSD1306 OLED 设置
SSD1306 OLED 最常用的就是设置屏幕的尺寸和颜色了,例如在这里要吧将显示的颜色修改为黄色。
如果需要模拟 128x32 分辨率的 OLED,也可以在这里修改一下参数。
另外 SSD1306 还有一点需要注意,就是它的 I2C 通信地址,如果和代码中对应不上,就会无法正确地显示内容了。
其他示例
我还用 SimulIDE 来学习过怎么使用运算放大器,实现一个低侧电压检测电路。
更多器件
对于电子 DIY 过程中能用到的大多数器件,在 SimulIDE 里都能找到,像常用的编码器、按键、LED、显示屏、电机等,MCU 则主要是 Arduino AVR mega 系列,这算是一个小小的缺点吧,不过对于大多数场景来说,也算是够用了。
另外也有一些传感器什么的,超声波、温湿度都有。
对于刚开始玩 DIY 的朋友们来说,用这个应该可以减少一部分返工的工作 😃。
0 条评论。