なんかいろいろこんぴゅーたかんけいのなぐりがき

なんか勉強しているこんぴゅーた関係のことのメモやそれ以外のことを書こうかなあ...

logs

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2つのLEDを光センサにしてゲーム?をする

毎度おなじみ、まずはArduino側のプログラム

int sencer = 2;
int sencer2 = 3;
double num = 0;
double num2 = 0;
int upnum = 0;
boolean flag1 = false;
boolean flag2 = false;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
}

void loop()
{
flag1 = flag2 = false;
num = analogRead(sencer);
num2 = analogRead(sencer2);

if(num <= 160)
{
digitalWrite(13,HIGH);
flag1 = true;
}
else
{
digitalWrite(13,LOW);
flag1 = false;
}
if(num2 <= 140)
{
flag2 = true;
}
else flag2 = false;

if(flag1 && flag2 || !flag1 && !flag2) upnum=0;
else if(flag1) upnum = 1;
else if(flag2) upnum = 2;
else upnum = 3;

Serial.print(upnum,DEC);

delay(50);
}

このプログラムはそれぞれのセンサ用LEDのアナログ入力が閾値を超えたか超えてないかをflag1,flag2で管理して両flagの状態に応じてPCに値を出力している。
また、確認用にflag1がTrueだと13ピンに電気がいくようにしている。



キャプチャ

で、Pythonで書いたゲームのようなもの。ただ円が画面を動くだけ。ただし動かし方がキーボードではなくLEDに手をかざしてLEDの電圧を下げて上プログラムで設定した閾値を超えさせて操作する。
手をかざすと、どんどん円が加速して動いていくはず、画面端にくるとバウンドするようにしている。

Pythonのほうのコードは今回もtxt拡張子で保存したのをアップしておく
shapes.txt
スポンサーサイト

トラックバックURL

http://ilovevim.blog42.fc2.com/tb.php/47-de6bae54

この記事へのトラックバック

この記事へのコメント

コメント投稿フォーム

Paging Navigation

Navigations, etc.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。