亚博智能论坛  
  
查看: 3483|回复: 1

3、树莓派3 Model B ——— 树莓派GPIO点亮第一个LED

[复制链接]
  • TA的每日心情
    慵懒
    2018-5-21 10:09
  • 4

    主题

    15

    帖子

    85

    积分

    菜鸟程序猿

    Rank: 2

    积分
    85
    发表于 2017-6-21 18:55:15 | 显示全部楼层 |阅读模式
    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”的文件,如下输入一下代码:

    [cpp] view plain copy


    • #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的输入模式学习。



    回复

    使用道具 举报

    该用户从未签到

    18

    主题

    43

    帖子

    114

    积分

    新手上路

    Rank: 1

    积分
    114
    发表于 2017-8-8 10:42:47 | 显示全部楼层
    6666666666666666
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表