
![]() DIY带有OpenMV模块和热敏打印机的相机 描述 你可能手上有AdaFruit热敏打印机,和OpenMV。 你几年前买下了前者,知道你会用它做一些很酷的事情,你在hackaday的其他项目中了解了后者。 当这一刻到来的时候,你知道它会到来——是时候做一个拍立得相机了。 有一天,这个想法让我一直失眠到凌晨5点,我设计一个看起来像照相机的外壳。这是结果。 细节 请见视频 硬件 在硬件方面,没有什么特别的。我用无人机上的锂电池。 它为热敏打印机和5V稳压供电。稳压为OpenMV模块和LCD屏幕供电。 触发器有一个按钮,模式选择有一个滑动开关,两者都直接插入OpenMV iO口。 热敏打印机通过UART连接,而LCD屏幕使用SPI。 ![]() 软件 对于这个项目,我在Ada_Drivers_Library中增加了对OpenMV的支持。 这是个做数码相机接口(DCM )驱动程序以及两个OmniVision相机传感器、ST7735 LCD驱动程序和热敏打印机程序的机会。 热敏打印机只能打印黑色或白色像素位图(没有灰度),这对于图片效果来说不是很好。 幸运的是,打印头的像素是QQVGA图像的3倍,这是我从OpenMV相机得到的格式。 如果我也将宽度乘以3,对于摄像机中的每个RGB 565像素,我可以在纸上获得9个黑色或白色像素(从160×120到480×360 )。这意味着我可以使用抖动算法来产生更高质量的图像。 灰度值X从0到255的像素将在3×3黑白矩阵中变换,如下所示: ![]() 这是一种快速的抖动,使用Floyd-Steinberg算法或类似算法可以大大提高图像质量,但是需要更多的计算和内存。 代码在GitHub上。 ![]() 详情请见adacore |
感谢分享