前段时间,我为 Raspberry Pi 创建了一个小型扩展板,用于进行一些硬件破解。
第一个版本是在面包板上进行的,通过一些布线连接到 Pi。 在下一个版本中,我使用条纹 PCB 并将组件焊接到上面。 它工作了,但并不美观。
当我研究这个概念时,我决定我需要一些印刷电路板 (PCB)。 主要的动机是能够在当地的 Java 用户组举办一些研讨会,人们可以在那里焊接电路板然后对其进行编程。
我尝试了一些生成布局的选项。 不幸的是,对于像我这样的业余爱好者来说,没有什么真正好的选择。 最重要的是,我也不想自己制造 PCB,因为需要用到各种化学品。 经过一番搜索,我找到了 Fritzing,这正是我一直在寻找的。
Fritzing 是一款开源应用程序,用户可以通过从大型零件库中选择零件、连接它们并将它们布局在虚拟面包板上来创建原理图。
创建原理图后,Fritzing 可以将原理图自动布线到 PCB 设计上(它支持单面和双面 PCB)。 然而,在大多数情况下,它需要一些人工帮助。
一旦您对设计和/或 PCB 感到满意,您可以将它们导出为图像(这通常是您在 Arduino 文档中看到的)。 或者您可以将它们发送到 Fritzing Fab 服务。
Fritzing 由德国的 FH Potsdam 创建,现在正通过 Friends of Fritzing Foundation 不断发展。 项目源代码可在 GitHub 上找到。
我选择了 Fab 服务,等了一会儿,收到了一些非常专业的 PCB。 下图显示了最终组装并安装在 Pi 上的 PCB。
Fritzing 的另一个优点是它允许您发布您的设计,以便其他创客可以获取、创建或根据他们的需求重新混合它们。 例如,上面的电路板可以在这里找到。
当您将电路板放到 Pi 的扩展头(最靠近 CPU 的内行)上时,以下小程序脚本将点亮所有 LED,然后每秒显示当前温度
#!/bin/sh
set -x
cd /sys/class/gpio
for i in 10 22 27
do
echo $i > export
sleep 5
echo out > gpio$i/direction
sleep 5
echo 1 > gpio$i/value
done
cd /sys/bus/w1/devices/10-*
while true
do
cat w1_slave | grep t=
sleep 60
done
有一行可能需要根据您拥有的 DS1820 温度计芯片的变体进行调整
cd /sys/bus/w1/devices/10-*
我还不确定的一件事是 DS1820 是否真的需要幻象电源。 在之前对该芯片的实验中,我根本没有连接引脚 3。 我认为这种额外的电源甚至可能会加热温度计芯片,因为我目前获得的值偏高 5-6 度。
要读取按钮的状态,您可以使用此脚本
cd /sys/class/gpio
echo 9 > export
cd gpio9
while true ; do cat value; done
本文最初发布在博客 Some things to remember. 上。
硬件
4 条评论