Raspberry Pi 4Bのセットアップ方法を記録します。
Geanyを使ってC言語でGPIOを制御するまでの環境の作り方について記載します。
記事の概要
Raspberry Pi のGPIOを使ったプログラミング開発をC言語で行うための準備、手順を記載します。
開発環境に必要な小物類の紹介をします。
OSのセットアップは、実際の画面キャプチャ上で手順を図示します。
GPIOを使うための手順を説明します。
プログラミングはGeanyを使いC言語で記述します。
Lチカ動作するまでを配線と手順を掲載します。
◆こんな方にお勧め
・RaspberryPiのセットアップをしてGPIOを制御したい。
・C言語でGPIOの制御をしたい。
この記事ではRaspberry PiやOSの説明、C言語についてのレクチャーはありません。
用意するもの
Raspberry Pi 4Bを使用します。
ラズパイOS(Bullseye 32bit)はこの後用意します。
・Raspberry Pi 4B 本体
・マイクロSDカードリーダ(FAT32フォーマット済み)
・ACアダプタ(5V 3A以上 TypeCコネクタ)
・モニタ (時々認識しないことがあるので2セットあると安心)
・キーボード
・マウス

そのほかにあると便利安心なもの
・ラズパイケース
・CPUファン、冷却フィン(CPUはそれなりに発熱します。)
OSのセットアップ
OSのイメージをSDカードに書き込み、SDカードから起動します。
アプリケーションのインストール、実行については自己責任で行ってください。
ダウンロードサイト、OSの書き込みを行う「Raspberry Pi Imager」は2024/9のものです。
1.Raspberry Pi Imagerをダウンロード
Raspberry Pi サイトからOSイメージを書き込むためのツール「Raspberry Pi Imager」をダウンロードします。
Raspberry Pi サイト : https://www.raspberrypi.com/software/
サイトに移動したら以下の手順でダウンロードしてください。

DLしたファイルを実行してインストールを開始します。

2.SDカードにOSを書き込み
SDカードをパソコンに挿入します。
必要に応じてカードリーダなどを使用してください。
Raspberry Pi Imagerを起動したのち、使用するデバイス(Raspberry Pi の種類)、OSの選択、書き込みを行うストレージを選択します。
今回はRaspberry Pi 4B、OSは「Raspberry Pi OS 32bit Bullseye」を使用します。
ストレージはOSを書き込むストレージを選択します。
複数認識されていると間違えて書き込みを行うことがあるので、今回使用するストレージだけ挿入することをお勧めします。

デバイス、OS、ストレージの選択が終わると「次へ」ボタンが押せるようになります。
クリックすると初めにRaspberryPiの初期設定を行うか問われます。
アカウントとネットワーク情報をはじめに設定できますが、ここでは「いいえ」でスキップします。
(「設定を編集する」にてあらかじめ設定しておくこともできます。)
最後にSDカードの内容を削除しても構わないか確認がありますので良ければ「はい」をクリックします。
OSの書き込みは数十分ほどかかります。

3.Raspberry Pi 本体にSDカードを差し込み電源を投入
イメージの書き込みが終わったら、SDカードをRaspberryPiのカードリーダに挿入し電源を投入します。
画像のようにRaspberry Piが起動しました。
トラブルについて
Raspberry Pi 4Bのモニタ出力はHDMIで行いますが、時々モニタが表示されないことがあります。
別のモニタに繋ぎ変えることで解消することがあります。
4.初期設定
Raspberry Piを起動すると初めにいくつかの設定をします。
ログインアカウント情報、ネットワーク情報を画面の指示に従い入力します。

再起動後デスクトップ画面が表示されRaspberry Piの操作をできるようになります。

GPIOを使用する準備
当サイトでは、C/C++を前提に電子工作プログラミングを紹介します。
C/C++でお手軽にGPIOを使用するためにWiringPiを使用します。
WiringPiをインストールしてGPIOを使用できるようにします。
1.WiringPiのダウンロード
LXTerminalを起動し以下コマンドを入力します。
githubよりWiringPiを /home/(account) にダウンロードされます。
git clone https://github.com/WiringPi/WiringPi.git
2.WiringPiのインストール
引き続きLXTerminalから以下コマンドを入力します。
ダウンロードした WiringPi フォルダに移動し、buildを実行することでインストールが開始されます。
cd WiringPi
./build
3.GPIOの動作確認
インストールできたことを確認するために、LXTerminalから以下コマンドを入力します。
正常にインストールがされていると gpio versionが表示されます。
gpio -v
ここまででWiringPiのインストールは完了です。
GPIOを使う
LX TerminalからLチカ
説明
実際の動作することを確認するために簡単なLチカ回路を作って動作させてみます。
LX Terminalからコマンドを入力し、GPIO21から電圧を出力しLEDを点灯させます。
LX Terminalから以下コマンドを入力します。
1行目はGPIO21を出力に設定、2行目で電圧を出力(High)にします。
2行名を実行したところでLEDが点灯します。
4行目は出力の停止(Low)にし、LEDは消灯します。
回路

コマンド
gpio -g mode 21 out
gpio -g write 21 1
gpio -g mode 21 0
Geanyを使ってLチカ(C言語)
説明
Raspberry PiをC言語で開発をするために「Geany]を使用します。
Raspberry Pi Imagerから作った環境ではプレインストールされている軽量な開発環境です。
Geany環境のC言語でGPIO(WiringPi)を使った開発をするためにコンパイルオプションの設定を変更します。
GPIOを使ったLEDの点滅プログラムを作成します。
環境作成
Raspberry PiのデスクトップからGeanyを起動します。
GeanyからWiringPiを使用できる設定にします。
以下手順により「ビルドコマンドを設定」ウインドウを開き、コマンドの編集をします。

Cコマンドの Compile と Build項目を以下の内容に変更します。
Compile : gcc -Wall -c “%f” -lwiringPi
Build : gcc -Wall -o “%e” “%f” -lwiringPi
変更後「OK」ボタンをクリックします。
回路
回路はLX Terminalを使ったLEDの点灯と同じ配線を使用します。

プログラム
#include <stdio.h>
#include <wiringPi.h>
int main(void)
{
wiringPiSetupGpio();
pinMode(21, OUTPUT);
while(1)
{
digitalWrite(21, HIGH);
delay(500);
digitalWrite(21, LOW);
delay(500);
}
return(0);
}
結果
500ms点灯、500ms消灯の点滅動作をしました。

コメント