3、树莓派3 Model B ——— 树莓派GPIO点亮第一个LED
2017-06-02 15:19
549 查看
1、实验前准备
树莓派3B及电源 x1
面包板 x1
LED灯 x1
电阻220欧 x1
杜邦线 x2
2、实验原理
树莓派的IO口可以外接很多外设,如舵机、红外发送接收模块、继电器、步进电机、各类传感器、屏幕等。通过这些外设可以制作很多有趣的创客设计,改善我们的生活方式提高我们的生活质量。
树莓派的IO口驱动能力是比较弱的,驱动电平为3.3V,高电平驱动比电平驱动能力稍弱些,但这也足够驱动LED工作,为方便理解,以下实验以高电平驱动方式进行。IO口输出高电平,LED灯亮,输出低电平则灯灭。
如上图,我们使用的是wiringPi库,这里我们用11号物理引脚GPIO.0,即wiringPi的0脚。
3、实验步骤
按照如下接线。
使用SSH Secure Shell登录树莓派,切换到root权限。首先进入wiringPi目录,我这里目录是 /home/wiringPi下。
下来我们在windows是用UE编辑器或者记事本等等你喜欢的编辑器再或者可以使用linux下的VIM编辑器,新建一个“LED.c”的文件,如下输入一下代码:
# cd .. //退回一层目录
# ls //查看目录文件是否存在wiringPi目录文件夹,如果存在使用如下命令
# chmod 777 wiringPi //赋予wiringPi目录读写权限
# ls -all //查看所有文件详细信息如下
root@raspberrypi:/home# ls -all
total 16
drwxr-xr-x 4 root root 4096 Jun 1 16:23 .
drwxr-xr-x 22 root root 4096 Mar 4 00:24 ..
drwxr-xr-x 23 pi pi 4096 Jun 1 19:14 pi
drwxrwxrwx 11 root root 4096 Jun 1 16:37 wiringPi
我们看到drwxrwxrwx 表示所有用户都有对此文件夹读写运行的权限,此时我们在拖动LED.c文件就可以成功。
回到SSH命令端,进入wiringPi目录查看是否存在我们拷贝的LED.c文件。
# cd wiringPi
#ls
看到LED.c后,我们开始编译LED.c
# gcc - o LED LED.c -lwiringPi
注释:
gcc是对c语言编译的声明,
-o LED是输出工程文件到LED文件(接下来的执行文件)
LED.c是刚刚编写的c语言程序
-lwiringPi是库的调用
如果没有任何提示,表明编译已经成功,这时我们查看当前文件夹会生成LED可执行文件使用如下命令执行点灯程序。
# ./LED
如果想退出程序,使用ctrl+C退出,我们可以查看gpio 所有端口状态,使用
# gpio readall
看到如下
GPIO已经变成输出模式,这时可以看到V电平是0,如果灯停在亮的状态则这里会显示1。
执行程序这时LED会1秒亮一下1秒灭一下,一闪一闪的,恭喜你已经完成了树莓派第一个实验。
接下来我们继续学习 :
4、树莓派按键实验,即GPIO的输入模式学习。
树莓派3B及电源 x1
面包板 x1
LED灯 x1
电阻220欧 x1
杜邦线 x2
2、实验原理
树莓派的IO口可以外接很多外设,如舵机、红外发送接收模块、继电器、步进电机、各类传感器、屏幕等。通过这些外设可以制作很多有趣的创客设计,改善我们的生活方式提高我们的生活质量。
树莓派的IO口驱动能力是比较弱的,驱动电平为3.3V,高电平驱动比电平驱动能力稍弱些,但这也足够驱动LED工作,为方便理解,以下实验以高电平驱动方式进行。IO口输出高电平,LED灯亮,输出低电平则灯灭。
如上图,我们使用的是wiringPi库,这里我们用11号物理引脚GPIO.0,即wiringPi的0脚。
3、实验步骤
按照如下接线。
使用SSH Secure Shell登录树莓派,切换到root权限。首先进入wiringPi目录,我这里目录是 /home/wiringPi下。
下来我们在windows是用UE编辑器或者记事本等等你喜欢的编辑器再或者可以使用linux下的VIM编辑器,新建一个“LED.c”的文件,如下输入一下代码:
#include<wiringPi.h>//包含wiringPi头文件 int main(void) { wiringPiSetup(); //wiringPi库初始化 pinMode(0, OUTPUT); //设置0口为输出模式 for(;;) //循环执行 { digitalWrite(0, HIGH); //GPIO.0输出高电平 delay(1000); //延迟1000ms digitalWrite(0, LOW); // GPIO.0输出高电平 delay(1000); //延迟1000ms } return 0; }编辑完成后,我们使用SSH的SSH Secure File Transfer Client连接到树莓派的文件系统,拖动LED.c文件到刚才打开的wiringPi路径,如果这里出现错误,一般是文件权限没有写权限,我们在SSH向后退到wiringPi目录的上一层,使用命令:
# cd .. //退回一层目录
# ls //查看目录文件是否存在wiringPi目录文件夹,如果存在使用如下命令
# chmod 777 wiringPi //赋予wiringPi目录读写权限
# ls -all //查看所有文件详细信息如下
root@raspberrypi:/home# ls -all
total 16
drwxr-xr-x 4 root root 4096 Jun 1 16:23 .
drwxr-xr-x 22 root root 4096 Mar 4 00:24 ..
drwxr-xr-x 23 pi pi 4096 Jun 1 19:14 pi
drwxrwxrwx 11 root root 4096 Jun 1 16:37 wiringPi
我们看到drwxrwxrwx 表示所有用户都有对此文件夹读写运行的权限,此时我们在拖动LED.c文件就可以成功。
回到SSH命令端,进入wiringPi目录查看是否存在我们拷贝的LED.c文件。
# cd wiringPi
#ls
看到LED.c后,我们开始编译LED.c
# gcc - o LED LED.c -lwiringPi
注释:
gcc是对c语言编译的声明,
-o LED是输出工程文件到LED文件(接下来的执行文件)
LED.c是刚刚编写的c语言程序
-lwiringPi是库的调用
如果没有任何提示,表明编译已经成功,这时我们查看当前文件夹会生成LED可执行文件使用如下命令执行点灯程序。
# ./LED
如果想退出程序,使用ctrl+C退出,我们可以查看gpio 所有端口状态,使用
# gpio readall
看到如下
GPIO已经变成输出模式,这时可以看到V电平是0,如果灯停在亮的状态则这里会显示1。
执行程序这时LED会1秒亮一下1秒灭一下,一闪一闪的,恭喜你已经完成了树莓派第一个实验。
接下来我们继续学习 :
4、树莓派按键实验,即GPIO的输入模式学习。
相关文章推荐
- 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED
- 我的第一个GPIO实验,点亮一盏LED
- 树莓派 Learning 003 --- GPIO 001 --- 点亮LED
- 树莓派 Learning 003 --- GPIO 001 --- 点亮LED
- 在Cubieboard上通过GPIO成功点亮第一个LED【My first step on G...
- 树莓派:mmap 点亮 led 灯 example,pi2 model B 直接物理地址映射
- 树莓派的GPIO - LED实验
- 树莓派 Learning 003 — GPIO 002 输入模式 — 按键控制LED
- arm-linux 学习(1)点亮第一个led程序
- 控制GPIO, 点亮led,实现跑马灯
- 第一个裸机程序---点亮led小灯
- MSP430F1612 第一个程序,点亮一个LED灯
- 继续树莓派GPIO:两片74HC595控制一个8x8LED点阵显示爱心
- 树莓派 Learning 003 — GPIO 003 中断模式 — 按键控制LED
- erlang下 BeagleBone的GPIO控制实验、以及自带led点亮方法
- 树莓派GPIO控制RGB彩色LED灯
- 飞凌OK6410开发板(裸板) 第一个点亮LED灯程序
- 树莓派gpio控制led闪烁频率
- 在树莓派上用python和java分别点亮LED灯
- GPIO输出点亮LED灯(使用STM32Cube_FW_F4_V1.16.0固件库)