樹莓派簡單led燈實驗

樹莓派簡單led燈實驗

首先附上gpio引腳圖
(摘錄自網上:http://bbs.elecfans.com/jishu_450628_1_1.html):
這裏寫圖片描述

本文參考書籍《Raspberry Pi入門指南》

佈局爲:
從gpio25引出一條線到麪包板(右邊第11個口,從1開始數起),從gnd引一條線到麪包板(右邊第3個口),連接一個led燈。
如圖:

這裏寫圖片描述
通過寫gpio相應的文件達到點亮和關led燈的目的。
過程描述爲:
1、寫25到/sys/class/gpio/export,表示要使用gpio25這個引腳
2、這時會在/sys/class/gpio/下產生一個gpio25文件夾
3、進入該文件夾
4、寫out到裏面的direction文件,表示該gpio用於輸出(一個gpio既可以用於輸出也可以用於輸入,但不是同時)
5、寫1到value文件,此時燈亮了。
6、寫0到value文件,燈關掉。

一、用shell命令直接控制

root@raspberrypi:/sys/class/gpio# echo 25 > export
root@raspberrypi:/sys/class/gpio# ls
export  gpio25  gpiochip0  unexport
root@raspberrypi:/sys/class/gpio# cd gpio25
root@raspberrypi:/sys/class/gpio/gpio25# ls
active_low  device  direction  edge  subsystem  uevent  value
root@raspberrypi:/sys/class/gpio/gpio25# ls -l
total 0
-rwxrwx--- 1 root gpio 4096 Jan  9 15:50 active_low
lrwxrwxrwx 1 root gpio    0 Jan  9 15:50 device -> ../../../3f200000.gpio
-rwxrwx--- 1 root gpio 4096 Jan  9 15:50 direction
-rwxrwx--- 1 root gpio 4096 Jan  9 15:50 edge
lrwxrwxrwx 1 root gpio    0 Jan  9 15:50 subsystem -> ../../../../../class/gpio
-rwxrwx--- 1 root gpio 4096 Jan  9 15:50 uevent
-rwxrwx--- 1 root gpio 4096 Jan  9 15:50 value
root@raspberrypi:/sys/class/gpio/gpio25# cat direction
in
root@raspberrypi:/sys/class/gpio/gpio25# echo out > direction
root@raspberrypi:/sys/class/gpio/gpio25# cat value
0
root@raspberrypi:/sys/class/gpio/gpio25# echo 1 > value
root@raspberrypi:/sys/class/gpio/gpio25# echo 0 > value
root@raspberrypi:/sys/class/gpio/gpio25# echo 1 > value
root@raspberrypi:/sys/class/gpio/gpio25#

效果爲:
這裏寫圖片描述

二、用shell腳本控制
下面的腳本用於控制led燈交替亮滅。

root@raspberrypi:~# cat blinked.sh
#!/bin/sh

echo 25 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio25/direction

while true
do
        echo 1 > /sys/class/gpio/gpio25/value
        sleep 0.5
        echo 0 > /sys/class/gpio/gpio25/value
        sleep 0.5

done

三、用python控制
先要檢查是否有相應的gpio模塊,如果沒有要進行安裝。

pi@raspberrypi ~ $ sudo python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> GPIO.VERSION
'0.5.11'
>>> GPIO.setmode(GPIO.BCM)
>>> GPIO.setup(25,GPIO.OUT)
>>> GPIO.output(25,GPIO.HIGH)
>>> GPIO.output(25,GPIO.LOW)
>>> quit()

發佈了111 篇原創文章 · 獲贊 46 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章