ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

arduinoコミュのparallax rfid の使い方

  • mixiチェック
  • このエントリーをはてなブックマークに追加
parallaxのrfidリーダーを使って便利な物を作りたいと思っています。
arduino初心者です。
よろしくお願いします。

http://playground.arduino.cc/Learning/PRFID

上記のサイトにサンプルコードがあったのでこちらを少し変更して、簡単な物をつくりたいと思っています。
そこで、最初に タグコード 650012BA4D が読まれたら、シリアルモニターにYESと表示させる。としたいと思い、下記のようにスケッチしたのですが、

sketch_apr15a.ino:44:18: error: invalid suffix "BA4D" on integer constant

とエラーが出てしまいます。
エラーの原因は何でしょうか?

スケッチ

#include <SoftwareSerial.h>

int val = 0;
char code[10];
int bytesread = 0;

#define rxPin 8
#define txPin 9
// RFID reader SOUT pin connected to Serial RX pin at 2400bps to pin8

void setup()
{
Serial.begin(2400); // Hardware serial for Monitor 2400bps

pinMode(2,OUTPUT); // Set digital pin 2 as OUTPUT to connect it to the RFID /ENABLE pin
digitalWrite(2, LOW); // Activate the RFID reader
}


void loop()
{
SoftwareSerial RFID = SoftwareSerial(rxPin,txPin);
RFID.begin(2400);

if((val = RFID.read()) == 10)
{ // check for header
bytesread = 0;
while(bytesread<10)
{ // read 10 digit code
val = RFID.read();
if((val == 10)||(val == 13))
{ // if header or stop bytes before the 10 digit reading
break; // stop reading
}
code[bytesread] = val; // add the digit
bytesread++; // ready to read next digit
}

if(bytesread == 10)
{ // if 10 digit read is complete
Serial.print("TAG code is: "); // possibly a good TAG
Serial.println(code); // print the TAG code

if(code == 650012BA4D) { Serial.print("YES"); } else { Serial.print("NO"); }
}
bytesread = 0;
delay(500); // wait for a second
}
}

どなたかご存知の方よろしくお願い致します。







コメント(3)

if(code == "650012BA4D")

と変更した所書き込みができました。

しかし、650012BA4Dのものを読み込ませてもNOと表示されてしまいました。
>>[1]

C言語のお約束ではあるんですけどねぇ…。

>if(code == "650012BA4D")

というのは、文字列の比較をしているのではなく、
codeという配列の先頭アドレスと、メモリ上のどこかに格納された"650012BA4D"という文字列の先頭アドレスを比較しています。
"650012BA4D"という文字列は書き換えできては困るので配列変数の先頭アドレスと合致することはあり得ません。

ってなわけで、「arduino 文字列 比較」か「C言語 文字列 比較」辺りで検索してください。
>>[2]

ありがとうございます。

arduino 文字列 比較 で検索したところたくさん出てきました。

勉強になりました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

arduino 更新情報

arduinoのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。