您的位置:首页 > 其它

树莓派的GPIO - LED实验

2015-04-09 23:15 351 查看
参考 树莓派学习笔记——GPIO功能学习

参考 树莓派Raspberry PI GPIO转接板

1. 首先,将买的GPIO转接板安装到面包板上去,如下图所示,





2. 数据线的一头插入GPIO转接板(只要卡槽对准即可插入),另外一头插入树莓派的插槽。

这里要小心了,数据线的红线要和树莓派板子的P1文字对齐。如下图所示,



3. 然后开始在面包板上搭建电路。原理图参考如下,

注意,LED 的长脚是正极,需要接到树莓派的 GPIO 0 管脚。LED 的短脚是负极,需要接到树莓派的 GND 管脚。

同时,还需要串联一个100 - 1K 欧姆的电阻,才能正常工作,切记!我就用了卖家附送的电阻,目测是220欧姆 (怎样识别五色环电阻



4. 搭建实验电路,红线是从 GPIO 0 管脚出来,然后串联一个电阻,再经过LED发光管(正负极要接对),最后通过棕色的线回到 GND 管脚。



5. 这时候,接通电源,激动人心的实验开始了。

C 语言程序如下,编译并执行,LED开始闪烁,实验圆满成功!

$ vim led.c

#include <stdio.h>

#include <bcm2835.h>



#define LED RPI_V2_GPIO_P1_11 // P1 PIN 11

int main(int argc, char **argv)

{

uint8_t counter = 0;

if (!bcm2835_init())

return 1;

// Set the pin to be an output

bcm2835_gpio_fsel(LED, BCM2835_GPIO_FSEL_OUTP);



// Blinking the LED

while (counter++ < 10) {

bcm2835_gpio_write(LED, LOW);

bcm2835_delay(1000);

bcm2835_gpio_write(LED, HIGH);

bcm2835_delay(1000);

}

bcm2835_gpio_write(LED, LOW);

bcm2835_close();

return 0;

}

$ gcc -o led led.c -lbcm2835

$ sudo ./led

Python 程序如下,同样的效果。

$ vim led.py

#!/usr/bin/env python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD)

# need to set up every channel which are using as an input or an output

GPIO.setup(11, GPIO.OUT)

count = 0

while True:

GPIO.output(11, GPIO.LOW)

time.sleep(1)

GPIO.output(11, GPIO.HIGH)

time.sleep(1)

count = count + 1

GPIO.output(11, GPIO.LOW)

$ sudo python led.py

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: