|
本帖最后由 raspberry 于 2017-12-26 22:14 编辑
树莓派新手入门教程
windows下的终端连接工具
Xmanager Enterprise
链接:https://pan.baidu.com/s/1slTzHPb 密码:poqr
SecureCRT
链接:https://pan.baidu.com/s/1dFIsQQ1 密码:c8sr
SecureFX
链接:https://pan.baidu.com/s/1dEUnJK9 密码:ro6i
还是安装cygwin吧
https://cygwin.com/install.html https://cygwin.com/setup-x86_64.exe
重新安装 安装程序 选择新包
查看系统是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
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt install nodejs
安装完成后查看版本
$ node -v
v8.9.3
点亮 LED
树莓派提供了一组对外的 IO 接口,称为 GPIO( 通用 IO 接口,General-purpose input/output)。
它的 40 个脚的定义如下图。
注意,左上角的第1针(3.3V)是一个方块,其他针脚都是圆的。将树莓派翻过来,背后可以看到 GPIO 有一个角是方的,通过这种方法就可以确认哪一个针眼是3.3V。
通过 GPIO ,树莓派可以与其他电子元件连接。下面根据 Jonathan Perkin 的文章,使用树莓派连接 LED 二极管。
这里需要用到面包板。本质上,面包板就是几根导线,上面开了许多可以连到导线的孔。
+极和-极是两根垂直的导线,标着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毫安之间,电流越大亮度越高,用电源电压减去二极管的压降,再除以设定的工作电流,就得出限流电阻的阻值
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 灯泡变亮了。
$ node led-on.js
再新建一个led-off.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 |
|