نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

ارتباط موبایل با میکرو از طریق bluetooth قسمت 3

375
به نام خدا : تو این مطلب میخوام پروژه ترمینال بلوتوث ( چت روم بلوتوث یا هر چیزی که بهش میگید! ) با ماژول بلوتوث و اندروید رو بزارم براتون، به میکروکنترلر هم میتونید ماژول HC05 یا HC06 وصل کنید؛ برای توضیحات بیشتر فیلم ته مطلب رو ببینید؛ برنامه اندروید با Android Studio نوشتم که سورس کدش رو ته مطلب و داخل خود مطلب میزارم ( ارتباط موبایل با میکرو از طریق bluetooth قسمت 3 )
ارتباط موبایل با میکرو از طریق bluetooth قسمت 3

ارتباط موبایل با میکرو از طریق bluetooth قسمت 3

پروژه آردوینو

شماتیک پروژه : برای دیدن در اندازه اصلی، روی عکس کلیک کنید.

ارتباط موبایل با میکرو از طریق bluetooth قسمت 3کد پروژه ( آردوینو ) :

 

پروژه اندروید نوشته شده در محیط اندروید استودیو

کدهای پروژه اندروید : از زیر میتونید کدهای ظرروی این پروژه رو دانلود کنید ( حجم کمتر از 5 کیلو بایته! )

عکس پروژه در عمل : حسش نبود بگیرم؛ فایل apk ته مطلب گزاشتم، دانلود کنید تست کنید و کل پروژه رو ببینید ^_^

فیلم پروژه :

15MB ارتباط موبایل با میکروکنترلر از طریق بلوتوث - قسمت 3
0%
00:00  /  03:48

 

 

امیدوارم این پروژه مفید باشه براتون، فعلا یا علی.

آیه ای از قرآن

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
ارسال دیدگاه
14
نظرات این مطلب بسته شده است.
  1. لیلا

    مهمان

    لیلا

    سلام اقای مهندس اگه ممکنه درباره نحوه نمایش داده های دریافتی روی گوشی یعنی اون قسمت ازبرنامه که که داده ها جای دیتای خوانده شده ، نوشته میشن راهنمایی کنید ممنون

  2. زهرا

    مهمان

    زهرا

    سلام وقتتون بخیر
    من در قسمتی که اطلاعات رو از ماژول میگیره میام یک تابع معرفی میکنم که داده رو ذخیره کنم و در دیتا بیس داشته باشم ولی یه خط کد که اضافه میکنم دیگه پیام هارو از ماژول نمیگیره ممنون میشم اگر کمک کنید
    if (activity != null) {
    switch (msg.what) {
    case DataIsReady:
    if (Data == null) return;
    tv_DataReaded.append(Data);
    databaseHandler.insertNote(new Model_temp(Data, get_time()));
    //work_with_data(Data);
    Toast.makeText(ledControl.this, databaseHandler.getAllNotes().toString(), Toast.LENGTH_SHORT).show();
    break;
    }
    }

    تماما کد های شماست فقط این خط کد رو من اضافه کردم
    databaseHandler.insertNote(new Model_temp(Data, get_time()));

    که الان برنامه روی گوشی اجرا نمیشه و بریک میکنه
    ولی اگر پاک کنم مثل قبل اجرا میشه
    اگر میشه زودتر جواب بدین

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – خطایی که میده رو تو نت سرچ کنید – اندروید استدیو نصب ندارم که تست کنم کدتون رو ببینم مشکل از کجاس.

  3. علیزاده

    مهمان

    علیزاده

    سلام. با تشکر از مطالب عالیتون.
    من از برنامه اندروید شما استفاده کردم و فایل apk را مستقیما بدون تغییر در سورس در گوشیم نصب کردم و عدد 255 یا هر کلمه و عددی را که بیش از یک کاراکتر است را که میفرستم به میکرو atmega32 به صورت تک کاراکتر در میکرو دریافت میکنم مثلاعدد 255 را به این شکل در میکرو دریافت می کنم ‘2 بعد’10 بعد ‘5 و بعد ’10 و بعد ‘5 و ’10 و اکثرا هم این 5 آخر را هم دریافت نمیکند.در نهایت پروژه من این طوریه که می خوام دمارو هر لحظه بخونم و به اندروید بفرستم و تو یه نمودار هم نشون بدم و همینطور یه سری دیتا که چندتا عدد مثل 255 و … هم از اندروید به میکرو بفرستم که تو همین قسمت فرستندش موندم.
    چطوری میتونم اعداد و کلمات را کامل بفرستم نه تک تک؟؟؟ unknw و در میکرو نوع متغیری که داده های دریافتی درون اون میریزم از نوع char هست.لطفا راهنمایی بفرمایین، خیلی لازم دارم.ممنون

  4. hamidthn

    مهمان

    hamidthn

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

  5. mansour

    مهمان

    mansour

    سلام . با avr انجامش نمیدی؟؟ من اردوینر کلا کار نکردم.. ای کاش با avr هم انجام میدادین

  6. رضا

    مهمان

    رضا

    سلام
    این پروژه خیلی عالیه جناب مهندس. یک سوال در موردش دارم.چطور می تونیم تو برنامه اندرویدش وقتی داریم رشته ای دریافت می کنیم اون را مثلا تو دیتا بیس ذخیره کنیم؟من تو برنامه بلوتوث فقط دقیقا متوجه نشدم کدوم تابع داره دریافت می کنه که بتونم روی اون دستوراتی اجرا کنم مثل همین که عرض کردم ذخیره کنم تو دیتا بیس

    مشاهده پاسخ ها (4)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – آموزش کار با دیتابیس در اندروید استدیو تو نت هستش هم فارسی و هم غیر فارسی

      • رضا

        مهمان

        رضا

        بله درسته مشکل من بیشتر با خود همین برنامه هست دقیقا نمی دونم کدوم تابع داره دیتا را میگیره که اونجا تابع برای ذخیره سازی در دیتا بیس را بنویسم

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          شما یه کاری کن – آموزش برنامه نویسی جاوا رو دانلود کن و ببین – خیلی شبیه سی هستش – همت کنی تو ۱-۲ روز یادش میگیری کامل – بعد برنامه نویسی اندروید استدیو رو هم فیماش تو نت هستش – یه نگاه کن – مخصوصا فیلم سایت اسفندونه و irprogram

          • محمد صالح

            مهمان

            محمد صالح

            سلام، سایت programchi.ir می تونه بهت کمک کنه!

  7. رضا بیگدلی

    مهمان

    رضا بیگدلی

    لطفا راهنمایی بفرمائید

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      کاش تو مطلب مربوطه مطرح میکردی – رجیسترارو بررسی کن – احتمالا قسمت دریافت دیتا رو فعال نکردم.

  8. رضا بیگدلی

    مهمان

    رضا بیگدلی

    با عرض سلام و خسته نباشید
    متاسفانه ماژول بلوتوث من دیتا ارسال نمی کنه نمی دونم مشکل از برنامه است یا ؟
    این برنامه خود شماست دیتا را می گیره و موقعی که کاراکتر ؟ را ارسال می کنم ال سی دی را پاک می کنه تا اینجاش درسته ولی دستور بعدی که ارسال دیتا از طریق میکرو است و دریافت از طریق هایپر ترمینال این قسمت اجرا نمیشه
    #include
    #include
    #include
    #include
    #asm
    .equ __lcd_port=0x1b //PORTA
    #endasm
    void main()
    {
    char str[1];
    int h=16;
    int m=49;
    int s=40;
    UCSRA=0x00;
    UCSRB=0x10;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=51;
    lcd_init(16);
    //سه خط زیر رو برای این میزاریم تا ببینیم آیا فرکانس روی ۸ مگا تنظیم شده است یا نه
    //اگه فرکانس روی ۸ میگ باشه>>>وقتی متن نمایش داده شد>>۱ثانیه بعد از صفحه پاک میشه
    lcd_putsf(“Press any key : “);
    delay_ms(1000);
    lcd_clear();
    ////////////////////////////////////////////////////////////////////////////////////
    while(1)
    {
    gets(str,1);
    if(str[0]==0x3f){
    lcd_clear();
    printf(“Time=%d:%d:%d/n”,h,m,s);
    }
    else
    lcd_puts(str);
    }
    }