・Raspberry Pi Noobsで簡単リモートデスクトップ
・WiringPiのセットアップ・・・C言語でGPIOを動かしてみる
・Pythonのセットアップ・・・人気のPythonで動かしてみる
・WebからPHPで簡単アクセス・・・PHP、Pythonで遠隔GPIO
以下、昔の記事です。
前回はC言語でLEDの点滅テストをしてみました。
※ラズベリーパイ側に I2C通信用のプルアップ抵抗が入っているため、MCU Gearを使う場合はI2Cの抵抗をMCU Gearのベースボードから半田で取り外す必要があります。しかし、ボードの回路自体を改造するとベースボードがサポート対象外になってしまうので、I2Cをバッファを介して使う方が無難かもしれません。そのためのボードも考えてみます。
まず、ラズベリーパイ単体でI2Cを動かしてみましょう。
(I2C通信はもう知ってるから、一気に飛ばしてAD変換、DA変換を知りたい方はこちらへ)
準備です。I2Cのバスが使えるようにします。
このサイトを参考にします。
ターミナルを開いて
sudo apt-get install libi2c-dev
次にカーネルにロードします。
sudo gpio load i2c
この時デフォルトでは100kbpsのI2Cなので1Mbpsなどにするときは
sudo gpio load i2c 1000とするそうです。ここでは一旦デフォルトの100kbpsにしておきます
プログラムはblink.cの適当な所に
#include <wiringPiI2C.h>
int main(void){
int fd;
int ID = 0x78;
fd = wiringPiI2Csetup(ID>>1); //1bit 動かしてみる。
if((wiringPiI2CWrite(fd,0x13))<0){
printf("error");
}
return 1;
}
ロジックアナライザに直接つなぐと図のような波形が出ます。
0x78 を 1bit 右にずらした値 (ID >> 1) が 0x3c なので問題なく動いています。
この wiringPi のC言語は~ディーノ系とよく似ているので、プログラムを流用して、実際に信号が出る部分を書き換えれば動きそうです。
次回はC++ と AD DA が使えうるMCU Gearをつなぐ準備をしてみようと思います
RSコンポーネンツさん等で市販されている Raspberry Pi がMCU Gearと接続できるのかを検証してみようと思います。
0 件のコメント:
コメントを投稿