现在终于到了动手实验课了,别害怕,应用初中物理知识即可轻松搞定。看似简单的实验,却蕴含着大大的道理。任何看似复杂的事务,都是由最基本的原理所构成。学会点亮发光二极管,离制作智能机器人就不遥远了。以下以树莓派4B,Ubuntu Server 20.04.2 LTS版本为例。
实验器材
实验器材
名称
数量
树莓派
1
发光二极管
1
1kΩ电阻
1
面包板
1
杜邦线(公母)
2
安装golang 1.16
下载,一定要选arm版本的安装包
wget https://golang.org/dl/go1.16.linux-arm64.tar.gz
解压
sudo tar -xvf go1.16.linux-arm64.tar.gz
移动至/usr/local目录
sudo mv go /usr/local
设置go环境变量
export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin
输入`go version`命令显示`go version go1.16 linux/arm64`表示已经成功安装了Golang 1.16。
实验电路
下面我们将使用33和39号引脚,39号引脚为Ground,表示接地,用代码控制33号引脚输出高低电压,所以33号引脚和39号引脚就相当于电源。GPIO引脚的输出电压约为3.3V,基本1mA以上的电流即可点亮发光二极管,切不可直接将二极管串联进电路,我们需要串联一个电阻。R = V / A,1000欧姆的电阻,可将电流限制在3.3mA左右。
电路图:
电路图
按照电路图连接电路:
实验链接
33号、39号引脚的位置如下图:
引脚标识
编写代码
package mainimport ( "time" "periph.io/x/conn/v3/gpio" "periph.io/x/host/v3" "periph.io/x/host/v3/rpi")func main() { host.Init() t := time.NewTicker(1000 * time.Millisecond) for l := gpio.Low; ; l = !l { rpi.P1_33.Out(l) <-t.C }}
这段代码的意思是,每隔1秒切换33号引脚的高低电压。
编译执行
运行后成功点亮LED。至此,我们已经可以控制硬件了,这是你控制硬件的一小步,却是你在树莓派世界迈出的一大步,要知道,各种机器人、智能小车,都是通过GPIO控制的呀。