نمایش نتایج: از 1 به 7 از 7
Like Tree1 لایک
  • 1 Post By hamed_ubuntu

موضوع: مشکل در ارسال و دریافت سریال بی سیم

  1. #1
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    10

    Unhappy مشکل در ارسال و دریافت سریال بی سیم

    سلام دوستان

    من دو تا برد آردینو نانو دارم و یکی رو میخوام به عنوان گیرنده و دیگری رو به عنوان فرستنده استفاده کنم.
    دو تا هم ماژول HM_R ,HM-T سریال 433 MHZ دارم که به آردینو ها وصل هستن.
    کدهای فرستنده این هست:
    کد:
    // include the library code:
    #include <LiquidCrystal.h>
    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(10,11); // RX, TX
    
    
    // initialize the library with the numbers of the interface pins
    LiquidCrystal lcd(12, 6, 5, 4, 3, 2);
    int ledPin = 13;  
    int i=0;
    void setup() {
      // set up the LCD's number of columns and rows: 
      lcd.begin(16, 2);
      Serial.begin(9600);
      pinMode(ledPin, OUTPUT); 
      // Print a message to the LCD.
    
    }
    
    void loop() {
      // set the cursor to column 0, line 1
      // (note: line 1 is the second row, since counting begins with 0):
      lcd.setCursor(0, 0);
      lcd.print("Hi User");
      delay(2000);
      lcd.setCursor(0, 1);
      // print the number of seconds since reset:
      lcd.print("Loading");
      delay(1000);
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Sender Board");
      delay(1000);
      lcd.setCursor(0, 1);
      lcd.print("Scorpine.HJ");
      delay(2000);
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("sucsess!");
      delay(2000);
      lcd.setCursor(0, 1);
      lcd.print("Start");
      delay(2000);
      lcd.clear();
    
      lcd.setCursor(0, 0);
      lcd.print("Send");
      delay(200);
    
    
    
      while(1){
    i++;
        Serial.println(i);	// send a byte with the value 45
        delay(1000);
        // int bytesSent = Serial.write("hello"); //send the string “hello” and return the length of the string.
        digitalWrite(ledPin, HIGH);   // sets the LED on
        delay(10);                  // waits for a second
        digitalWrite(ledPin, LOW);    // sets the LED off
        delay(10);  
      } 
    
    
    }
    کدهای گیرنده هم اینا هستن:
    کد:
    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(10, 11); // RX, TX
    int ledPin = 13; 
    char incomingByte = 0;  
    void setup()  
    {
    
      Serial.begin(9600);
      pinMode(ledPin, OUTPUT);
    
    }
    
    
    void loop() // اجرای پی در پی
    {
      
      incomingByte = Serial.read();
      if(incomingByte<=9){
        digitalWrite(ledPin, HIGH);   // sets the LED on
        delay(1000);                  // waits for a second
        digitalWrite(ledPin, LOW);    // sets the LED off
        delay(1000); 
      }
    }
    الان روی فرستنده چراغ tx در هنگام ارسال سریال روشن میشه .
    روی گیرنده هم چراغ rx *روشن میشه وقتی سیگنال میگیره.

    پین های مورد استفاده هم txd , rxd هستن.
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    10
    دوستان اصلا قضیه رو بی خیال.
    من میخوام بین دو آردینو ارتباط سریال بر قرار کنم.

    کدوم پایه ها و کدوم دستورات رو باید بزنم.
    کدهای ارسالی هم میخوام فقط اعداد باشند.
    ممنون

  3. #3
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    ارتباط بی سیم دیگه درسته ؟

  4. #4
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    10
    نقل قول نوشته اصلی توسط pi.siqma نمایش پست ها
    ارتباط بی سیم دیگه درسته ؟
    بله درسته بی سیم هست.
    الان زدم کدهایی رو بفرسته
    مثلا
    i++
    ولی کدی که میفرسته و قابل خواندن هست این شکلی هست
    ۱ ۱۰ ۱۳
    ۲ ۱۰ ۱۳
    ۳ ۱۰ ۱۳
    و....
    چرا این اعداد ۱۰ و ۱۳ هم پشت سر هم میاد؟

  5. #5
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    خب تا جایی که من متوجه شدم یه داده دارید که میخواد ++ شه و فرستاده بشه

    ببنید arduino فقط میتونه با دستور serial.read() یک بایت را بخونه

    اشکال کارتون همینجاست

    و اشکال بعدی اینه که اسکی میفرسته

    بهتون پیشنهااد میکنم عدد ارسالیتون را اول string کنید تا عدد عوض نشه بعد سمت گیرنده دوباره تبدیلش کنید به int

    اگر نتونستید بگید براتون کد تبدیلاشوبازرم

  6. #6
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    10
    نقل قول نوشته اصلی توسط pi.siqma نمایش پست ها
    خب تا جایی که من متوجه شدم یه داده دارید که میخواد ++ شه و فرستاده بشه

    ببنید arduino فقط میتونه با دستور serial.read() یک بایت را بخونه

    اشکال کارتون همینجاست

    و اشکال بعدی اینه که اسکی میفرسته

    بهتون پیشنهااد میکنم عدد ارسالیتون را اول string کنید تا عدد عوض نشه بعد سمت گیرنده دوباره تبدیلش کنید به int

    اگر نتونستید بگید براتون کد تبدیلاشوبازرم
    سلام ممنون که وقت میزارین.اگه میشه بیشتر راهنمایی کنین.

  7. #7
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    دقیقا کجای حرفام را متوجه نشدید ؟
    بیاید قدم به قدم پیش بریم؟

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO