设计一个便携式TTL串行监视器
扫描二维码
随时随地手机看文章
可在现场和办公桌上使用,具有特殊的特点。它的滚动显示可以暂停和清除,可选择的速度。
当我开始这个项目时,对便携式TTL串行监视器的渴望已经达到了很高的水平。很多时候,作为程序员,我们需要一个小而便携的调试在现场的特殊条件下,我们不能有一个显示器的电脑。
这里它是一个完整的串行监视器,在不同的速度下工作,有一个清屏按钮和一个暂停按钮来停止滚动数据;最后但并非最不重要的是,我添加了特殊功能,以便在调试时在特殊情况下引起注意:播放“哔哔”并将文本的“颜色”更改为黄色,绿色,红色,青色或白色(原始颜色),只需在Serial.print()命令中添加简单的控制代码。
电路:
MCU为Arduino MiniPro 3.3V,显示屏为ILI9341 2.4“240x320 RGB(蓝色型号),带有SPI接口,纵向显示,由于修改了库,具有滚动功能。无源蜂鸣器将提供声音,TP5400模块提供给锂离子1A/h 3.7V电池充电,并升压到5V,为RAW引脚上的MCU供电,并使用其内部3.3V稳压器。
Arduino内部稳压器的电流限制是150mA,但实际上整个电路只需要65mA左右;充电让连接micro-USB数据线;USB-A母线用于为具有5Vcc需求的非潜能附加设备供电,即用于监控的电路;
电路工作在3.3V。输入可以是0V到3-5V之间的TTL逻辑电平,如果确实需要,可以更多,因为R2=4.7K, R3=10k和Q1=BC337将控制MCU输入端口的信号。R4和R5作为分压器用于测量电池电压,当需要充电时,蜂鸣器会提醒您。按下暂停键时红色LED亮起;在暂停模式下,数据停止滚动,缓冲区被清空。另一个按钮用于清除屏幕,最后一个按钮用于改变所需的速度(300、1200、2400、4800、9600、19200和38400)。
像往常一样,要将草图传输到Arduino Mini Pro,您需要一个FTDI (USB到串行)模块设置在3.3V。
组件列表:
•Arduino Mini Pro 3.3V
•显示ILI9341 2.4" TFT-LCD 240x320 RGB(蓝色型号),SPI接口
•TP5400充电升压模块(见图片)
•锂离子3.7V 1A/h可充电电池
•2个10k电阻器(可能为1%,并选择与值相似)
•1 × 4.7K电阻
•1 × 10k电阻
•1个330电阻器
•2 × 100n电容
•1个100uF 16V电解电容
•1 x自复位保险丝200mA
•1个迷你开关开/关
•1 × 3mm红色LED
•3个迷你触觉按钮13毫米高+ 3个黑色盖子
•1个被动3.3V SMD蜂鸣器(12x12mm)
•1个BC337 NPN晶体管
•2个2mm母插头(黑色和红色)
•3D打印盒子+盖子
•1 x PCB连接器8针,公母(显示)
•8 × 3mm垫片
•8颗3mm螺钉
特殊特性:
在你的设备监控,你可以添加一些控制字符在你的调试代码消息,以丰富/简化调试:这样,你可以改变文本颜色的显示和播放的声音,当你喜欢只是添加这些控制代码之一,必要时:
•CTRL-A, ASCII=01(起始黄色)
•CTRL-B, ASCII=02 (start GREEN)
•CTRL-C, ASCII=03 (start RED)
•CTRL-D, ASCII=04(开始青色)
•CTRL-E, ASCII=05(开始白色,恢复正常颜色)
•CTRL-G, ASCII=07(播放歌曲)
为例:
软件说明:
默认速度为9600,8位,无奇偶校验,1停止(SERIAL_8N1),但使用速度按钮,您可以更改为300,1200,2400,4800,9600,19200,38400波特;我测试了一个连续的RX工作到4800;较高的速度可以使缓冲区在连续接收期间满,因为显示速度比接收数据慢;偶尔的RX数据按照通常的串行监视器目的调试将工作得很好,即使在更高的速度;
为了避免在上传草图时受到干扰,我通过SoftwareSerial库为串行RX/TX使用了2个新引脚,因此通信引脚为4和5;
只显示32-126 ASCII范围内的可打印字符,因此不显示控制码和扩展ASCII码(全部忽略);
在暂停模式下,显示器停止显示更多数据,因此接收数据被忽略(丢失);
看看TP5400模块数据表,他们说它将在900mA电流下充电,因为安装在芯片引脚3上的编程电阻是1.2k欧姆;我在这个项目中使用的锂离子电池有1450mA/h,所以在1.5小时左右充满电;我认为这种情况下的充电电流是足够的,即使我通常喜欢比电池容量小的充电电流;只是提醒您不要安装容量较小的电池,或者您应该将电阻更改为更大的值(10k -> 130mA, 5.1k -> 245mA, 2k 560mA, 1.5k -> 740mA, 1.1k -> 1000mA);例如,对于小型350mA/h电池,我建议将引脚3编程电阻更改为5.1k和10k欧姆之间的值。
软件每隔30英寸检查一次电池电压:如果低于3.4v,它会发出声音作为警告,以便尽快为电池充电;充满电池应该持续15小时左右。
SoftwareSerial库缓冲区大小为64字节;我修改了SoftwareSerial.h和SoftwareSerial.cpp为512字节,所以现在更难以使缓冲区满;为了更舒适地使用,您应该根据说明和图片修改库;这个草图使用了大约1450字节的内存加上512字节的放大缓冲区,它应该保持在Arduino Mini-Pro的2kbytes限制以下。
自定义显示库:
你必须下载并安装自定义的“_AS”库,用于显示允许滚动,由Alan Senior编写,2015年2月15日:
硬件指出:
为了保持TP5400充电和升压模块的位置,您必须在USB-A连接器机箱上焊接三个牢固的引脚,并将它们与PCB上的三个点对齐。
注意保护显示器上脆弱的扁平电缆,特别是在螺丝或垫片的4个孔附近。
本文编译自hackster.io