入手树莓派(1)--组装及点亮LED灯

187 阅读2分钟

1.套件简介

先从淘宝上主要购买了如下几个套件:

图片

❶树莓派3代B型E14    ❷彩虹40P排线  ❸GPIO扩展板  ❹面包板  ❺电阻若干  ❻跳线若干

图片

❼HDMI TO DVI 24+1公转公头电脑显示器视频转接线  ❽HDMI转HDMI 视频转接线(根据显示器情况可选一种)  ⑨LED二极管些许,如上图连线。

图片

2.系统安装

系统安装选择基于Debian的官网的Raspbian版本。

RASPBIAN STRETCH WITH DESKTOP

Image with desktop based on Debian Stretch

Version:November 2017

Release date:2017-11-29

Kernel version:4.9

链接: pan.baidu.com/s/1c275kTM 密码: a9rr

RASPBIAN STRETCH LITE

Minimal image based on Debian Stretch

Version:November 2017

Release date:2017-11-29

Kernel version:4.9

链接: pan.baidu.com/s/1gfD4Old 密码: bxwj

这里选择基于DeskTop的。

Win32DiskImager工具

链接: pan.baidu.com/s/1bpg3ben 密码: hhmv

图片

按下图连接好

图片

开机看到如下启动画面

图片

3.常用命令

windows下的终端连接工具

安装cygwin

cygwin.com/install.htm…   cygwin.com/setup-x86_6…

查看系统是64位还是32位:
getconf LONG_BIT or getconf WORD_BIT
[root@localhost ~]# getconf LONG_BIT
32

树莓派的默认账号是pi,默认密码是 raspberry
查看系统用户相关cat /etc/passwd | grep pi
cat /etc/passwd 

图片

查看组相关信息
cat /etc/group | grep gpio
cat /etc/group

图片

树莓派开启 ssh
sudo raspi-config
选择 Interfacing options项中的ssh,打开后重启即可。

登录
ssh pi@192.168.1.103
密码: raspberry
安装nodejs

curlsL https://deb.nodesource.com/setup8.x sudoEbashcurl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt install nodejs

安装完成后查看版本
$ node -v
v8.9.3

4.点亮LED

树莓派提供了一组对外的 IO 接口,称为 GPIO( 通用 IO 接口,General-purpose input/output)。

它的 40 个脚的定义如下图

图片

注意,左上角的第1针(3.3V)是一个方块,其他针脚都是圆的。将树莓派翻过来,背后可以看到 GPIO 有一个角是方的,通过这种方法就可以确认哪一个针眼是3.3V。

图片

通过 GPIO ,树莓派可以与其他电子元件连接。
这里需要用到面包板。本质上,面包板就是几根导线,上面开了许多可以连到导线的孔。

图片

+极和-极是两根垂直的导线,标着1、5、10这些数字的行,每一行都是一根水平的导线。导线与导线之间互不连接,另外,面包板的左右两半也是互不连接的。

然后把买回来的 GPIO扩展板 和 彩虹40P排线 加 面包板连接起来,如下:

图片

注意:
排线连接树莓派时,有凸起的一端 朝向树莓派

点亮效果图如下:

图片

常用计算方法如下:
蓝 绿色:
直径:3mm
电压范围:2.1-2.6V
电流范围:5mA——17.5mA
提醒,绿色二极管发出的颜色就是那种黄绿色,淡黄绿

R=(E-UF)/IF
R=(3.3-2.2)/0.01 = 110Ω

黄色:
直径:3mm
参考电压:1.8——2V
参考电流:5mA——20mA  取 0.01A
正向压降:约为2.2V
R=(E-UF)/IF
R=(3.3-1.1)/0.01 = 220Ω

红色
直径:3mm
电压范围:1.8-2.2V
电流范围:5mA——18mA
R=(E-UF)/IF
R=(3.3-2.2)/0.01 = 110Ω

白色透明色:
直径:3mm
电压范围:3.1-3.3V
电流范围:5mA——19mA

R=(E-UF)/IF
R=(3.3-2.2)/0.01 = 110Ω
限流电阻R可用下式计算:
R=(E-UF)/IF
式中E为电源电压,UF为LED的正向压降,IF为LED的正常工作电流。
发光二极管的压降是比较固定的,通常红色为1.6V左右,绿色有2V和3V两种,黄色和橙色约为2.2V,蓝色为3.2V左右。对于常用的几毫米大小的二极管,其工作电流一般在2毫安至20毫安之间,电流越大亮度越高,用电源电压减去二极管的压降,再除以设定的工作电流,就得出限流电阻的阻值 

5.LED控制脚本

下面,我们使用 Node 脚本控制 LED。
首先,将正极的导线从1号针脚(3.3V)拔出,插到第6排的11号针脚(上图的 GPIO 17)。这个针脚的电流是脚本可以控制的。
然后,在树莓派上新建一个实验目录,并安装控制 GPIO 的 Node 模块rpio。

$ mkdir led-demo && cd led-demo

$ npm init -y

$ npm install -S rpio

接着,新建一个脚本led-on.js。

// led-on.js

var rpio = require('rpio');

// 打开 11 号针脚(GPIO17) 作为输出

rpio.open(11, rpio.OUTPUT);

// 指定 11 号针脚输出电流(HIGH)

rpio.write(11, rpio.HIGH);

运行这个脚本,应该就会看到 LED 灯泡变亮了。

nodeledon.js再新建一个ledoff.js脚本,只要改一行。//指定11号针脚停止输出电流(LOWrpio.write(11,rpio.LOW);运行这个脚本,LED灯泡应该就会熄灭了。node led-on.js 再新建一个led-off.js脚本,只要改一行。 // 指定 11 号针脚停止输出电流(LOW) rpio.write(11, rpio.LOW); 运行这个脚本,LED 灯泡应该就会熄灭了。 node led-off.js
有了这两个脚本,让 LED 闪烁就轻而易举了。新建一个led-blink.js脚本。

// led-blink.js

var rpio = require('rpio');
rpio.open(11, rpio.OUTPUT);
function blink() {
rpio.write(11, rpio.HIGH);
setTimeout(function ledoff() {
rpio.write(11, rpio.LOW);
}, 50);
}
setInterval(blink, 100);

上面的脚本让 LED 每秒闪烁10次。

$ node led-blink.js