相关商品

  • 奥松 树莓派原型扩展板 Prototype Shield for Raspberry Pi 支持3B/3B+
  • 爱上Raspberry Pi 3代套件 树莓派全家福入门套件 7寸液晶屏
  • 2.4G USB 无线键盘 触摸鼠标 Banana Pi Raspberry pi3 树莓派B+ 树莓派3代
  • 双头HDMI连接线 高清外置HDMI线 转接线 树莓派 PcDuino接线
  •  树莓派 二代 Raspberry Pi Mod B 512MB REV2.0 英标绿版
  • 通用AV数据线 树莓派套件 AV视频线 优质接头 7寸液晶显示器专用
  • 树莓派 Raspberry Pi 亚克力 透明 外壳 盒子 保护盒子 防静电
  • Prototype Shield for RasPi 树莓派 Raspberry Pi 原型扩展板
  • Raspberry Pi 快速入门指南 爱上树莓派指南 中文教材
  • Raspberry Pi Python 编程入门 树莓派 快速入门指南 中文教材
  • Micro USB 数据线 Raspberry Pi 树莓派 mini usb显示器 连接线
  • 树莓派B+外壳 Raspberry PI 黑色 包装壳 Sparkfun原装 美国进口
  • 树莓派应用速成 Raspbmc媒体中心 爱上树莓派 入门指南
  • 树莓派应用速成 网络应用秘方 爱上树莓派 快速入门指南
  • 奥松机器人 树莓派1B+ Raspberry Pi 1B+
  • 动手玩转Arduino套件 爱上Arduino互动电子入门套件
  • 动手玩转 Arduino 爱上 Arduino 互动电子入门套件 Arduino必备教材
  • Raspberry pi 2代 3代 树莓派控制器B+ 支架 3D打印 机器人固定架
  • 爱上Raspberry Pi 第2版 树莓派编程快速入门手册 零基础 入门学习必备中文教材
  • 7寸液晶屏 树莓派显示器 HDMI 高清全彩 车载显示器 Raspberry Pi
  • Adafruit 原装进口 Pimoroni PiBrella Raspberry PI 树莓派配套
  • Adafruit 原装进口 Pimoroni PiGlow Raspberry PI 树莓派2代
  • Adafruit 国外原装进口 Raspberry Pi 2代 3代 树莓派原型扩展板 面包板
  • Adafruit 国外原装进口 Raspberry Pi 2代 3代 树莓派原型扩展板 面包板
  • Adafruit原装进口 PiTFT外壳 Raspberry Pi 树莓派B专用一体外壳
  • adafruit 原装进口 Printrbot 1405型号3D打印机 3D打印塑形机
  • Adafruit 原装进口 MonkMakes Raspberry Pi2 树莓派 电机驱动板
  • 树莓派爱好者学习 树莓派媒体中心 网络应用秘方 树莓派学习套餐搭配组合
  • 树莓派外壳 Raspberry Pi 外壳 适用B+/2B/3B/3B+ 彩色 通用乐高外壳
  • 树莓派3代B型套件 爱上树莓派 Raspberry Pi 编程开发套件
  • 树莓派3控制器 HiFiBox DAC 树莓派扩展板 机器人声卡 I2S DAC+
  • 树莓派瑞士军刀扩展板 SAKS April v2.0版 Raspberry Pi 通用兼容
  • 树莓派Pico 微控制器 Raspberry Pi Pico AI开发板 RP2040双核处理器
  • 当前位置: 首页 > 应用教程 > 【创客学堂】玩转树莓派之GPIO输入与输出

    【创客学堂】玩转树莓派之GPIO输入与输出

    编辑:Artech2013-12-23 浏览次数:6670

        莓派Raspberry Pi)本质上是一台Linux小电脑,但其板载的GPIO接口彰显着它的独特之处。掌握并控制好这些IO接口我们就可以将树莓派变成一块性能极高的单片机。本文通过“按键控制树莓派LED灯”的实验给大家分享一下使用树莓派GPIO进行输入输出的经验。

    树莓派V2,连接好VGA与键鼠等外设

    图1 接好各种外设的树莓派

    一 准备器材

     

        下面通过一个“按键控制树莓派LED灯”的实验给大家分享一下本人使用树莓派GPIO进行输入输出的经验。
         这个实验中我们选用Python语言对树莓派GPIO口进行编程。Python语言是一种面向对象的解释性语言。好在现在有中文版的教材
    Raspberry Pi Python 编程入门》所以学习起来还是蛮轻松地。最新版的树莓派上已经预装了Python软件以及驱动GPIO的软件包。我们直接进行编程就行了(如果没有软件包请按《爱上Raspberry Pi》书中所提方法进行安装)。
         树莓派为了减小成本,没有I/O口的外设,所以我们需要一些有I/O外设的扩展板,在这里给大家推荐一款树莓派原型扩展板,它有专门为树莓派设计的接口,它将树莓派所有的GPIO接口全部引出,板上有一颗LED接到树莓派GPIO25脚上,另有一颗按键接到GPIO24。板子的其余部分全部打上通孔可以让玩家焊上自己的电路。

    树莓派原型扩展板,用于扩展GPIO方便连接

    图2 树莓派原型扩展板


         首先,给大家演示一下用Python指令驱动GPIO。打开树莓派终端输入 sudo python 用管理员身份打开python程序。依次输入以下指令:>>>GPIO.setmode(GPIO.BCM)
    >>>GPIO.setup(25,GPIO.OUT) #设置25管脚为输出
    >>>GPIO.output(25,GPIO.HIGH) #25脚输出高电平
    >>>GPIO.output(25,GPIO.LOW) #25脚输出低电平
        以上的指令可以控制管脚的输出,python程序还可以读取引脚的输入,这将在接下来的例子中体现出来。
        指令固然能控制I/O口,当然我们最希望的还是能生成可执行文件,树莓派做到这一点自然也是毫无问题的。首先我们需要建立一个空文本,在文本中输入以下程序(程序内容如注释所示)。
    import RPi.GPIO as GPIO #调入GPIO库
    import time #调入时间库
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(24,GPIO.IN) #将24脚设置为输入
    #GPIO.setup(24,GPIO.IN,pull_up_down=GPIO.PUD_UP)
    #将24脚设置成有上拉模式,如果用不带上拉电阻的按键可以使用此句。
    GPIO.setup(23,GPIO.OUT) #将23脚设置为输出
    count=0
    while True: #循环执行
        inputValue = GPIO.input(24)#读取键值
        if(inputValue==0): #判断键值
             count=count+1
        if(count%2==0):
             print("THE LED IS ON NOW") #终端输出
        else:
             print("THE LED IS OFF NOW") #终端输出
        time.sleep(0.3) #延时等待
        if(count%2==0): #根据count的值决定LED灯是否开闭
             GPIO.output(23,GPIO.HIGH)
        else:
             GPIO.output(23,GPIO.LOW)
        time.sleep(0.01) #延时等待留给系统空闲时间
      #注意:1、程序段的前的空格数,Python程序用空格字符控制程序层次,而不是C语言的“{}”。2、Python程序中的注释符是“#”而不是“//”.
            然后按下面的电路图搭建电路,这里我用的是树莓派原型扩展板自带的面包板自己搭建的电路。如果不想自己搭建电路也可以使用原型扩展板上的自带的LED灯和按键。只需要根据程序所示用语句“GPIO.setup(channel,GPIO.IN,pull_up_down=GPIO.PUD_UP)”将该输入口设置成上拉模式即可。

    树莓派GPIO实验电路原理图

    图3 按键与LED电路原理图

    树莓派原型扩展板连线实物图

    图4 插接好元器件的原型扩展板

    二 实践环节

     


         将文本保存命名为KEYLED.py文件。然后进入树莓派终端,输入sudo python keyled.py ,运行我们所写的程序。我们可以看到当按下按键时,LED灯变亮,终端显示THE LED IS ON NOW,当按键再次按下时,LED灯变灭,终端显示THE LED IS OFF NOW。

    python运行程序指令

    图5 输入程序运行指令

     

    终端显示出LED灯的工作状态

    图6 LED灯亮灭状态显示

        树莓派的GPIO应用起来虽不如Arduino简单易用,不过稍加练习很快也能运用自如,这样Arduino的很多模块在树莓派GPIO上也同样能够玩转起来。

     相关链接:

    树莓派二代:http://www.alsrobot.cn/goods-427.html

    树莓派原型扩展板:http://www.alsrobot.cn/goods-491.html

    树莓派显示器:http://www.alsrobot.cn/goods-386.html

    爱上Raspberry Pi:http://www.alsrobot.cn/goods-410.html

    爱上Raspberry Pi套件:http://www.alsrobot.cn/goods-433.html

     

    • 用户评价

    暂时还没有任何用户评论

    总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
    用户名: 匿名用户
    E-mail:
    评价等级:
    评论内容:
    验证码:
    captcha

    Hi,大家好,我是小奥!

    欢迎来到奥松机器人的世界!

    需要咨询服务请点小奥哦!

    • 销售咨询: 销售咨询
    • 销售咨询: 销售咨询
    • 技术支持: 技术支持
    • 咨询电话:
      0451-86628691
    Top