اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول rfid با آردوینو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی ماژول rfid با آردوینو

    سلام بنده یه اردوینو مدل uno دارم که میخوام باهاش ماژول RF01D که مازول RFID هست رو راه بندازم از یه سایت برنامش رو گیر آوردم اما برنامه مشکلی که داره اینه که بعد از اینکه 5 تا کارت رو بهش زدیم مدارات عمل میکنه اما کارت ششم دیگه روی ال سیدی چیزی نمایش داده نمی شه و باید یه بار میکرو ریست شه تا دوبراه به روال عادی برگرده کدش اینه :
    [code=cpp]#include <LiquidCrystal.h>
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12, 13);
    int x;
    int number[4];
    int array[10];
    int card1[] = {'0', '0', '0', '2', '3', '8', '7', '6', '9', '6'};
    int card2[] = {'0', '0', '0', '2', '3', '8', '7', '6', '7', '5'};
    int card3[] = {'0', '0', '0', '2', '3', '8', '7', '6', '8', '6'};
    int card4[] = {'0', '0', '0', '2', '9', '6', '2', '4', '2', '2'};
    void setup(){
    Serial.begin(9600);
    pinMode(5,OUTPUT);
    lcd.begin(16, 2);
    }
    void loop(){
    if (Serial.available() == 10){
    for (int i = 0; i <= 9; i++){
    array[i] = Serial.read();//read
    if (card1[i] == array[i])number[0]++;
    if (card2[i] == array[i])number[1]++;
    if (card3[i] == array[i])number[2]++;
    if (card4[i] == array[i])number[3]++;
    }

    if (number[0] == 10){
    digitalWrite(5,1);
    delay(50);
    digitalWrite(5,0);
    lcd.setCursor(0, 0);
    lcd.print("welecome"
    delay(100);
    lcd.clear();
    }

    else if (number[1] == 10) {
    digitalWrite(5,1);
    delay(50);
    digitalWrite(5,0);
    lcd.setCursor(0, 0);
    lcd.print("welecome"
    delay(100);
    lcd.clear();
    }

    else if (number[2] == 10) {
    digitalWrite(5,1);
    delay(50);
    digitalWrite(5,0);
    lcd.setCursor(0, 0);
    lcd.print("welecome"
    delay(100);
    lcd.clear();
    }

    else if (number[3] == 10) {
    digitalWrite(5,1);
    delay(50);
    digitalWrite(5,0);
    lcd.setCursor(0, 0);
    lcd.print("welecome"
    delay(100);
    lcd.clear();

    }
    number[0] = number[1] = number[2] = number[3] = 0;
    Serial.end();
    delay(500);
    Serial.begin(9600);
    }
    }[/code]
    اگر کسی مشکل رو میدونه همین جا جواب بده خیلی ممنونم
    http://electero.ir

    #2
    پاسخ : راه اندازی ماژول rfid با آردوینو

    یه مشکلی که تو برنامه دیدم اینه که مقدار خونه های آرایه number سه تا هستش و اومدی از خونه 0 تا 3 رو مقدار دهی کردی که میشه 4 تا
    خونه آخر هر آرایه NULL هستش و باید همیشه خونه آرایه رو یکی بیشتر در نظر بگیریم
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    دیدگاه

    لطفا صبر کنید...
    X