我是初学者去语言,请提供给我的步骤,读取温度传感器值的gpio的rpi。以及如何将读出的模拟信号处理成数字信号,以显示电压。
发布于 2013-08-29 07:26:10
来自http://www.rpiblog.com/2012/11/reading-analog-values-from-digital-pins.html
“不幸的是,Raspberry Pi的17个引脚都是数字的,可以输出高或低。但通过使用一个简单的电路(可怜人的A/D转换器),你可以用一个GPIO引脚测量多个级别的值。”
您可以做类似于该指南的操作,也可以将AD转换器连接到您的Raspberry Pi。
使用 package读取值的实际过程包括将引脚设置为input模式(示例代码全部来自 example)。
若要将引脚设置为input模式,请执行以下操作:
pin, err := gpio.OpenPin(gpio.GPIO22, gpio.ModeInput)
if err != nil {
fmt.Printf("Error opening pin! %s\n", err)
return
}然后通过在输入引脚上调用BeginWatch()获得高值或低值:
err = pin.BeginWatch(gpio.EdgeFalling, func() {
fmt.Printf("Callback for %d triggered!\n\n", gpio.GPIO22)
})
if err != nil {
fmt.Printf("Unable to watch pin: %s\n", err.Error())
os.Exit(1)
}然后,将使用第一个链接中概述的过程来处理这些值,然后您必须创建正确的输出信号来驱动数字显示(这些可能因模型、功能和许多其他因素而大不相同。您需要查找正在使用的显示的引用)。
若要将引脚设置为output模式,请执行以下操作:
power, err := gpio.OpenPin(gpio.GPIO17, gpio.ModeOutput)
if err != nil {
fmt.Printf("Error opening pin! %s\n", err)
return
}您可以使用Set() (高)和Clear() (低)将值写入输出引脚:
power.Set()
power.Clear()使用后别忘了用Close()别针。
pin.Close()
power.Close()https://stackoverflow.com/questions/18502479
复制相似问题