#include
<wiringPi.h>
#include <stdio.h>
// gpio readall
#define GPIO2
(8)
#define GPIO3
(9)
#define GPIO4
(7)
#define GPIO17
(0)
#define GPIO27
(2)
#define GPIO22
(3)
#define GPIO10
(12)
#define GPIO9
(13)
#define GPIO11
(14)
#define GPIO5
(21)
#define GPIO6
(22)
#define GPIO13
(23)
#define GPIO19
(24)
#define GPIO26
(25)
#define GPIO14
(15)
#define GPIO15
(16)
#define GPIO18
(1)
#define GPIO23
(4)
#define GPIO24
(5)
#define GPIO25
(6)
#define GPIO8
(10)
#define GPIO7
(11)
#define GPIO12
(26)
#define GPIO16
(27)
#define GPIO20
(28)
#define GPIO21
(29)
int u_sleep(int n)
{
while(n--){};
}
#define DELAY_TIME (6000000)
void const_delay()
{
u_sleep(DELAY_TIME);
}
int main (void)
{
int pin[30],i,j;
pin[0] = GPIO2;
pin[1] = GPIO3;
pin[2] = GPIO4;
pin[3] = GPIO17;
pin[4] = GPIO27;
pin[5] = GPIO22;
pin[6] = GPIO10;
pin[7] = GPIO9;
pin[8] = GPIO11;
pin[9] = GPIO5;
pin[10] = GPIO6;
pin[11] = GPIO13;
pin[12] = GPIO19;
pin[13] = GPIO26;
if (wiringPiSetup() ==
-1)
return 1;
printf("setupOK\n");
for(i=0;i<14;i++)
pinMode(pin[i], OUTPUT);
i=10;
while (i)
{
for(j=0;j<14;j++) {digitalWrite(pin[j], 1); const_delay();}
for(j=0;j<14;j++)
{digitalWrite(pin[j], 0); const_delay();}
for(j=13;j>=0;j--)
{digitalWrite(pin[j], 1); const_delay();}
for(j=13;j>=0;j--) {digitalWrite(pin[j], 0); const_delay();}
i--;
}
return 0;
}
コンパイル方法は
gcc -o test test..c -lwiringPi
です。ポイントは -lwiringPiで必要なライブラリをリンクしておきます。
さてさて
まずはRasPiのIOをC言語で制御できることがわかりました。
最終的に何がしたいかというと、簡単なNCフライスをつくろうかと妄想しています。
というのもケースを加工するときに、穴をあけるならドリルやボール盤で済みますが、
LCDや電源インレットのような四角の穴を開けるのフライスがあると便利です。
まあ、完成はいつになるかわかりませんがまずはIOが直接制御できるコンピュータが
準備できるということまでは確認できました。
ちょっとパワーアップ! 2018.8.25
先日、秋月のお楽しみ袋(1000円)を買ったときに、中にチップLEDが入っていたので、
それを使ってみることにしました。通常のφ3mmのLEDを2.54mmピッチでとりつけることができないので
どうしても千鳥配置になってしまいますが、チップLEDなら、2.54mmピッチで並べることも簡単です。
それに、砲弾LEDだとリード処理も不要なので、取り付けも簡単です。
チップLEDはすべてのRasPiのIOに接続しました。
接続の様子のアップです。
すべて点灯すると結構明るいです。
(まずは、おしまい)