楼主: liunian__92

[原创] 【RPI 2】+ 遇见树莓派

  [复制链接]
  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 09:55:31 | 显示全部楼层
    分享到:
    本帖最后由 liunian__92 于 2015-5-3 11:57 编辑


    8.python LED



    一、RPi.GPIO简介

         上一篇帖子中,我们使用了脚本来控制GPIO。这里来介绍使用python来控制GPIO。
         首先要来介绍一个库文件:RPi.GPIO
         具体的可以访问网址如下:https://pypi.python.org/pypi/RPi.GPIO/
    RPi.GPIO  提供了访问树莓派的GPIO的类和方法。

    RPi.GPIO  最新版特性如下:
    0.5.11
    • Fix - pins > 26 missing when using BOARD mode
    • Add getmode()
    • Raise exception when a mix of modes is used
    • GPIO.cleanaup() unsets the current pin mode


    以下链接中有一些关于模块的使用例子:http://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/

    关于硬件连接图,可以参考上一节中讲的连接,即可。

    二、python LED

          新建一个 .py 为后缀的文件。
         例如 reaction.py
    1. import RPi.GPIO as GPIO
    2. import time
    3. import random
    4. GPIO.setmode(GPIO.BCM)
    5. GPIO.setwarnings(False)
    6. GPIO.setup(4,GPIO.OUT)
    7. print ("hello")
    8. while 1:
    9. GPIO.output(4,1)
    10. time.sleep(0.5)
    11. GPIO.output(4,0)
    12. time.sleep(0.5)
    复制代码
    保存之后。

    # python reaction.py

    执行之后,即可看到和上一节中相同的效果,LED灯闪烁。

    5_LED_OFF.jpg

    图8-1:LED OFF


    6_LED_ON.jpg

    图8-2:LED ON






    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 09:56:04 | 显示全部楼层
    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 09:56:47 | 显示全部楼层
    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 09:57:22 | 显示全部楼层
    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:07:11 | 显示全部楼层
    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:07:44 | 显示全部楼层
    本帖最后由 liunian__92 于 2015-5-3 12:45 编辑


    9.   LCD1602+按键+RGB灯的模块简介



    模块收到了,感谢爱板网,感谢http://www.52pi.net提供的这么好的模块,来晒一晒。。。

    活动依然火热进行中,链接如下:https://www.cirmall.com/bbs/thread-41259-1-1.html

    0_活动.jpg

    图9-0:活动

    购买链接如下:http://item.taobao.com/item.htm?spm=a1z10.33-c.w4002-3978303545.67.TKLZ3B&id=39232976058


    废话不多说了,直接上图:
    打开快递竟然发现有个盒,也是开心的不行。
    下图就是全家福,
    附带了一个插槽,也是不明白干什么用的。
    1_全家福.jpg

    图9-1:全家福


    模块上的资源:一个RGB LED、5个按键、一个1602液晶屏幕。
                            一个I2C扩展IO的芯片。


    2_lcd正.jpg


    图9-2:模块正面


    由于树莓派2是兼容树莓派1 的GPIO的,所以这个模块也可以用在树莓派2上。

    3_lcd反.jpg


    图9-3:模块背面


            将它和树莓派安装一起,终于明白了插槽的用处,树莓派2比树莓派1USB接口处厚一点,所以,需要垫插槽,才能使用在树莓派2上。
    4_lcd&rpi侧面.jpg


    图9-4:模块与树莓派安装之后的侧面



    LCD 模块做的大小和树莓派相当,略小一点。两个模块安装在一起也是略显小巧精致。。。
    唯一不足就是有点小厚。
    5_lcd&rpi正.jpg


    图9-5:模块与树莓派安装之后的正面



    晒图结束,虽然不是什么高大上的东东,但还是蛮喜欢这个模块的。
    倘若用树莓派做简单的东西,加上这个模块,可以实现简单的交互设计。为树莓派增色不少。。。




    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:47:11 | 显示全部楼层

    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:47:59 | 显示全部楼层

    10. LCD1602模块第一个demo

    本帖最后由 liunian__92 于 2015-5-3 19:18 编辑


    10.   LCD1602模块第一个demo



    在上一篇帖子中简单的介绍了这个模块。
    这个模块中重要的一个芯片就是MCP23017。

    MCP23017.jpg

    图10-1:MCP23017

    MCP23017_0.jpg

    图10-2:MCP23017 Block Diagram


    关于这个模块,官方已经给了相应的使用教程,链接如下:
    http://www.52pi.net/forum.php?mod=viewthread&tid=949&extra=page%3D1

    在配置RPi2的时候有点小小的不同。
    并没有找到   /etc/modprobe.d/raspi-blacklist.conf 这个文件

    最后,只是加了下面这个步骤:
    1. 在 /boot/config.txt
    2. 加入:
    3. dtparam=i2c_arm=on
    复制代码
    编辑完成配置。
    1. #include <stdio.h>                                                                        
    2. #include <wiringPi.h>                                                            
    3. #include <mcp23017.h>                                                          //将wiringPI中提供的MCP23017的库包含到程序中
    4. #include <lcd.h>                                                               //将wirongPi中提供的LCD驱动库包含到程序中

    5. int main()
    6. {
    7.    int display,i,count;                                                 //定义几个等下需要使用的变凉
    8.    wiringPiSetup();                                                     //初始化wiringPi
    9.    mcp23017Setup (100, 0x20);                              //初始化MCP23017芯片,IO口起始编号为100,I2C地址0x20
    10.    printf ("Raspberry Pi - MCP23017 Test\n");
    11.    for(i=0;i<16;i++)
    12.        pinMode(100+i,OUTPUT);                          //将拓展出的IO口全部置为输出模式
    13. digitalWrite(107,1);                                           //将107引脚置为高电平,点亮LCD背光灯
    14. digitalWrite(101,0);                                          //将R/W置为低电平,将LCD设置为写入状态
    15. display=lcdInit(2,16,4,100,102,103,104,105,106,0,0,0,0);                       //初始化LCD屏幕
    16. lcdHome(display);                                         //将LCD的光标归位
    17. lcdClear(display);                                           //清屏
    18. lcdPosition(display,0,0);                                                  //设置LCD屏幕显示初始位置
    19. lcdPuts(display,"     EEboard");                                            //在屏幕上显示“Hello World”
    20.    while(1)
    21.    {
    22.       lcdPosition(display,0,1);                                                                                       
    23.       lcdPrintf(display,"%d",count++);                                        //自动循环加1   
    24.       delay(300);                                                             //延时300毫秒
    25.       printf("lcd1602\n");
    26.    }
    27. }
    复制代码
    效果如下图所示:
    IMG_20150502_224640.jpg

    图10-3:效果图







    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:48:41 | 显示全部楼层
    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2015-5-3 12:51:45 | 显示全部楼层

    【RPI 2】+ 遇见树莓派
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-28 19:44 , Processed in 0.191970 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.