CommonLispでGPIO実験 ~BCM2835ライブラリ編~


CommonLispでGPIO実験 ~BCM2835ライブラリ編~

本章では、LEDを点滅(通称Lチカ)をやります。

【目次】
1.フォルダ構成
2.Lチカプログラムの作成
3.使用した電子部品
4.回路図
5.実行

1.フォルダ構成

以下に今回のプロジェクトのフォルダ構成を示します。
■ HOME
└■ Programing
 └■ clisp
  └■ 01_Blink
   ├● blink.lisp
   └● bcm2835.lisp
 ■:フォルダ、●:ファイル



▲上へ

2.Lチカプログラムの作成

LEDを10回点滅させるLispプログラムを以下に示します。
「blink.lisp」という名前で作成し、「HOME/Programing/clisp/01_Blink/」へ保存します。

;; bcm2835.lispをロード
(load "bcm2835.lisp")

;; Lチカ処理
(defun blink (pin delay)
	(bcm2835:gpio-write pin 1)
	(bcm2835:delay delay)
	(bcm2835:gpio-write pin 0)
	(bcm2835:delay delay))

;; メイン処理
(defun main ()
	(bcm2835:init)
	(bcm2835:gpio-fsel 11 1)

	(dotimes (n 10)
		 (blink 11 500))

	(bcm2835:close))
次に、先ほどDownloadsフォルダへダウンロードした「bcm2835.lisp」を、
「HOME/Programing/clisp/01_Blink/」フォルダへコピーします。
cp ~/Downloads/6e2e11f27c18c71c32ef/bcm2835.lisp ~/Programing/clisp/01_blink/
以上で、プログラムの準備は完了です。
▲上へ

3.使用した電子部品

Lチカするにあたって、以下のものを準備しました。

・ 赤色LED 1個


・ 330Ω抵抗(橙橙茶金) 1個


・ オスメスジャンパー線 2本


・ ブレッドボード用ジャンパー線 1本


・ ブレッドボード 1個

▲上へ

4.回路図

回路図は以下のようになります。


▲上へ

5.実行

プログラムを実行して実際に動かしてみます。

「HOME/Programing/clisp/01_Blink/」フォルダへ移動します。
cd ~/Programing/clisp/01_blink/
GNU CLISPを起動します。
clisp
「blink.lisp」をロードします。
(load "blink.lisp")
ロードが成功したら、以下のコマンドで実行します。
(main)


以下に、実行した様子を示します。


これにて、Lチカは成功です。
お疲れ様でした。
▲上へ