raspberry pi
廉价的柯达布朗尼是第一款将摄影技术带入大众的相机。 其设计的简单性意味着任何人都可以轻而易举地找到使用方法。 因为它基本上没有要学习的控件(只有快门按钮,取景器和胶卷机),所以与当今的相机相比,它甚至更易于使用。
从1900年开始的60年使用寿命中,制造了数以百万计的柯达布朗尼,其建造质量意味着其中许多人都可以在良好的工作状态下生存。 柯达布朗尼也是进行自定义修改的好选择-它可以在eBay或标签销售上轻松获得,易于破解,而且价格便宜,即使出了问题也没关系。
我最初的计划是在以前使用Raspberry Pi和网络摄像头制作的针Kong数码相机上构建一个变体。 我有一个需要目的的额外的Raspberry Pi Zero,还有一个柯达布朗尼鹰眼 ( Kodak Brownie Hawkeye) ,这是1950年代的变体,它的外壳是用胶木而不是木头或纸板制成的,我在当地的一家专卖店以不到5英镑的价格买了。 唯一缺少的关键是网络摄像头。
[输入我们的Raspberry Pi周赠品 ,有机会在这款街机游戏套件中获得机会。]
因为我花不到5英镑买了Raspberry Pi Zero和Kodak Brownie,所以我将其设置为网络摄像头的最高价格。 在拖延eBay清单的过程中,我发现许多卖家都以这个价格提供了各种50百万像素的相机 。 这些技术规格是不正确的-永远不会有这样价格的50MP传感器出售-但值得一探究竟。 我只买了一个640×480,只有0.3MP,只带原始视频,没有MJPEG ,因此也限制了帧速率。 换句话说,这很糟糕,但比预期的要可怕得多。 优点是可以很容易地卸下其外壳,从而露出了非常紧凑的电路板,这对于嵌入来说是理想的尺寸。
![摄像头 Webcam](https://i-blog.csdnimg.cn/blog_migrate/b5b948d4efd41f5263a1c2618a894b7c.jpeg)
在拆下机壳之前,“ 50MP” eBay网络摄像头实际为0.3兆像素。
掌握了关键零件后,我开始设计和组装。 我最初的想法是将布朗尼的原始镜头固定在原处,并将裸露的网络摄像头传感器放置在其后方。 为了获得清晰的聚焦,传感器必须相对于镜头处于与胶片相同的位置。 但是,布朗尼胶片底片每个为60x60mm,而网络摄像头传感器小于5x5mm。 测试证实,网络摄像头的视野范围极其狭窄,几乎无法使用粗糙的取景器镜进行拍摄。
替代方法是拆卸布朗尼并卸下其塑料镜片。 然后,可以定位网络摄像头电路板,使其镜头位于快门的正后方。 电路板太大了,只有几毫米,无法安装到正确的位置,因此我使用Dremel工具在机壳内雕刻了一个插槽,以便电路板可以滑入到位。
![柯达布朗尼的内部 interior of the Kodak Brownie](https://i-blog.csdnimg.cn/blog_migrate/ee5d8c5b9e0068256cf29f0f393ad7c3.jpeg)
柯达布朗尼内部显示镜头后方的电路板。 电路从墙上切开的槽中伸出,并用蓝色腻子固定在适当的位置。
这为网络摄像头提供了与原始布朗尼类似的视野。 实际上,视野足够宽,可以覆盖整个快门光圈,因此生成的图像具有圆形的晕影。
![网络摄像头捕获的静止图像 Still image captured by the webcam](https://i-blog.csdnimg.cn/blog_migrate/638d1891a4a10b16d54e035b8b118528.jpeg)
网络摄像头从柯达布朗尼镜头后面捕获的静止图像。 传感器的视野超出了快门光圈的最大尺寸。
第二项任务是确定在这种情况下如何将Raspberry Pi Zero定位。 幸运的是,Pi Zero的宽度与柯达布朗尼所使用的620胶卷轴的长度完全相同,因此相机的胶卷持有人可以握住Pi Zero电路板。
就像我以前的针Kong网络摄像头一样,该项目使用两个LED作为状态指示灯:一个在电源打开时点亮,另一个在网络摄像头捕获图像时点亮。 我在布朗尼盒顶部的快门按钮旁边钻了两个小Kong。 LED穿过这些Kong刺入,并有瞬间胶将其固定在正确的位置。
![布朗尼盒子的内部,显示Raspberry Pi零板,USB电源线和LED状态指示灯。 Inside of Brownie case showing the Raspberry Pi Zero board, USB power cable, and LED status indicators.](https://i-blog.csdnimg.cn/blog_migrate/7195255f970a9aab18ca360f71a128a6.jpeg)
布朗尼盒子的内部,显示Raspberry Pi零板,USB电源线和LED状态指示灯。
我的主要设计目标之一是让柯达布朗尼的快门按钮触发网络摄像头上的图像捕获。 理想情况下,按一下快门按钮将捕获单个图像。 为此,我需要在机械快门按钮和Raspberry Pi的GPIO引脚之间创建一个接口。 考虑了一段时间这个棘手的问题后,我想到了一种解决方案,其中涉及一对裸线和一些导电涂料。 一根线连接到可编程GPIO引脚,该引脚在上拉模式下配置为输入。 第二根线连接到GPIO接地引脚。 为了实施该解决方案,我在快门按钮下方的外壳上钻了一个Kong,电线穿过该Kong。 我剥去电线的绝缘层,然后将它们粘在快门按钮下方的位置。 最后,我在快门按钮的下面涂了一层导电涂料。 当按下快门按钮时,导电涂料会使两条线短路,并将GPIO引脚接地。 Pi Zero会检测到此更改并触发快门。
![修改后的快门按钮 Modified shutter button](https://i-blog.csdnimg.cn/blog_migrate/1d32d7f2986159817150ae9183a03c2b.jpeg)
柯达布朗尼上的快门按钮,带有导电涂料的斑点,可使电线短路以触发网络摄像头捕获。
布朗尼快门机构设计用于具有固定快门速度的胶卷。 将图像捕获与快门打开的精确时间(精确到几分之一秒)同步是不切实际的。 幸运的是,布朗尼具有长时间曝光模式,只要按下快门按钮,快门就保持打开状态。 通常,通过举起布朗尼蛋糕上的第二个按钮可以激活这种长时间曝光模式,但这有点乏味。 在将一点胶带粘在快门机构上后,我将它永久地钩入了长时间曝光模式。
![布朗尼快门在长时间曝光模式下录音 Brownie shutter taped in long-exposure mode](https://i-blog.csdnimg.cn/blog_migrate/79a6efc581143f29e168d2304f5b8f01.jpeg)
布朗尼百叶窗机制带有胶带,可将其永久固定在长时间曝光模式下。
测试快门机制发现了一个小问题:网络摄像头需要一到两秒钟才能自动测量和调整曝光以适应光照条件。 结果,如果在按下快门按钮后立即拍摄了图像,则通常会曝光不足。 这提示了另一项轻微的设计更改。 我没有在按下快门时立即捕获单个图像,而是将软件编程为在按下快门后等待一秒钟,然后连续每秒每秒捕获一次图像,直到释放快门为止。 换句话说,它充当延时捕获设备。
剩下的唯一任务是电源。 Pi Zero和网络摄像头的组合具有非常低的功耗要求,最高可达200毫安,并且USB锂离子电源盒提供了出色的持久电源。 问题在于,物理尺寸并不是今天出售的大多数Powerpack的重要因素,而且我还没有找到足够小以适合Brownie外壳的产品-它必须小于6厘米才能有机会安装一次插入USB电缆,并且5厘米更好。 另外,如果电池位于外壳内,则需要在Pi Zero和电池之间有一个物理电源开关,否则,您每次必须打开相机将其打开/关闭。 我的简单解决方案是在USB电缆的外壳上钻一个Kong,然后将电池放在外面。
![成品柯达布朗尼数码相机 Finished Kodak Brownie digital camera](https://i-blog.csdnimg.cn/blog_migrate/861d7e65a550b741854de41efba3e663.jpeg)
成品柯达布朗尼数码相机,带有连接外部电池组的电缆。
硬件构造完成后,我将注意力转向了对其进行控制的软件。 我没有从头开始,而是扩展了我为针Kong网络摄像头Arcturus编写的代码 。 由于廉价的网络摄像头不提供MJPEG捕获,因此我引入了libjpeg (一个用于读取/写入JPEG图像的C库),将原始帧编码为JPEG静止图像文件。 捕获原始格式的图像意味着USB设备必须传输大量数据。 虽然这不是我用于开发的笔记本电脑上的问题,但Raspberry Pi不断从网络摄像头掉落或镜架不完整。
经过无数小时的调试,我发现问题出在Pignus使用的Linux主线中的USB控制器驱动程序(Raspberry Pi ARM6板的Fedora分支)。 相比之下, Raspbian内核具有USB控制器的树外驱动程序,事实证明它可以正常工作。 我进行的另一项软件更改是我上面提到的用于连续捕获静止图像的更改。
这是我用定制的柯达布朗尼数码定时摄影机拍摄的第一个视频,该视频是在伦敦的邱桥上运行的蒸汽机的。
它最初在Red Hat软件工程师DanielBerrangé的博客f / 138上发布,并经许可被转载。
翻译自: https://opensource.com/article/18/3/creating-digital-camera-1950s-kodak-brownie
raspberry pi