回胴式遊技機技術研究 J-Slot Amusement Specification

アミューズメント仕様パチスロの日々

ラズベリーパイ入出力制御GPIO(2)

2022-09-18 20:37:44 | 日記
C言語によるラズベリーパイ入出力GPIO制御
STEP1 テキストエディターでプログラムを記述

/home/pi/Testに保存(test1.c


STEP2 gccコンパイラでプログラムを実行形式に変換

STEP3 プログラムを実行
(1)Wiring Piのインストール&設定
Wiring Piとは、ラズパイでGPIOを制御するのに必要なC言語用のライブラリィ。C言語でGPIOを使うのにこのライブラリが必要なので最初にインストールする。WiringPiをインストールするとgpioというコマンドもインストールされる。このコマンドを使うと、シェル上でGPIOを制御することができる。

 Wiring Pi のソースコードを Git で入手するための準備 
$ sudo apt-get install libi2c-dev 
$ sudo apt-get install git-core
ユーザーのホームディレクトリに移動し、ソースコードを入手 
$ cd ~ 
Wiring Pi のソースコードが wiringPiディレクトリとしてクローンされるので、ディレクトリ内に移動してビルドする。
$ cd WiringPi 
$ ./build
gpio -vとコマンド入力するとversion: 2.70が表示され、正常インストールが確認できました。

gpio readall
(2)C言語でWiringPiを操作
●インクルード宣言とライブラリ追加
プログラムの先頭でヘッダーファイルをインクルード
   #include  <wiringPi.h>
コンパイルするとWiringPiのライブラりが付加される
          sudo gcc filename.c -o objname -lwiringPi
実行コマンド
          sudo ./objname
●入出力端子の機能設定
WiringPi設定用関数
①pinMode
指定したピンの動作モード設定
書式
void  pinMode(int pin, int mode);
mode: 次のいずれか
  INPUT
  OUTPUT
  PWM_OUTPUT(pin1(GPIO18)だけ)
  GPIO_CLOCK(pin7GPIO4)だけ)
記述例
  pinMode(2,OUTPUT):
②pullupDnControl
指定したピンのプルアップとプルダウンの設定
書式
void pillUpDncontrol (int pin, int pud):
pud:次のいずれか
  PUD_OFF
       PUD_DOWN, PUD_UP
記述例
  pullUpDnControl(3, PUD_UP)
③digitalWrite
GPIOピンに出力
書式
void digitalWrite(int pin, int value);
value :次のいずれか
  HIGH, LOW, 1,0
記述例
  digitalWrite(2, HIGH);
④pwmWrite
pin1(GPIO18)のPWM出力のデューティ設定
書式
void pwmWrite(int pin, int value);
value: 0~1024の範囲
⑤digitalRead
GPIOピンから入力する
書式
int digitalRead(int pin);
戻り値:HIGH, LOW ,1, 0のいずれか
記述例
if(digitalRead(3))
(3)C言語xWiringPiでI/O!3色LEDの点滅
GPIO2,GPIO3,GPIO4の接続したLEDを順番に点滅させるプログラム
GPIO17端子の入力レベル(HまたはL)によって一定間隔を0.5秒と1秒に切り替えて点滅
最初にwiringPiのヘッダーファイルをインクルード
BCMのピン番号ですべてを制御
コマンドでコンパイル  
      sudo gcc test2.c -o test2 -lwiringPi
実行
   sudo ./test2 


ご不明の点はご遠慮なくお尋ね下さい。存じ上げていることは丁寧にご案内させていただきます。
TEL 090-3194-4902 
 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ラズベリーパイ入出力制御GPI... | トップ |  WebIOPiでGPIOをマニュアル... »
最新の画像もっと見る

コメントを投稿