نمایش نتایج: از 1 به 2 از 2

موضوع: کنترل led با وب سرور و push button خارجی

  1. #1
    Junior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    14

    کنترل led با وب سرور و push button خارجی

    سلام به دوستان. یه پروژه وب سرور دارم که مشکلی داره. کنترل خروجی یا همون led توسط کلیدهای تعریف شده در صفحه وب و کلید خارجی.

    کلید فشاری فیزیکی در حالتintrrupt و در حالت rising قرار داره. یعنی به محض فشار دادن چون حساس به لبه است، عمل میکنه و led رو روشن و خاموش میکنه. مشکل از طرف صفحه وب و کلیدهای صفحه وب هست که پس از فشار دادن هر کدوم، مقدار value که در کد html براش تعریف شده، جلوی آدرس ip در نوار آدرس مرورگر ظاهر میشه. و این یعنی تا کلید بعدی از صفحه وب فشار داده نشده و این عبارت تغییر نکرده، همون حالت برقراره و فشار دادن کلید فیزیکی فقط برای چند ثانیه عمل میکنه. چون وقتی برنامه از اول حلقه void loop اصلی اجرا میشه، کلاینت دوباره خوانده میشه و مقدار value رو میگیره و دوباره حالت قبل اتفاق میفته.
    نظری ندارید همکاران محترم؟ میشه کاری کرد که مثلا با فشار دادن کلید فیزیکی این value تغییر کنه؟ عملکرد کلید فیزیکی مشکلی نداره و در html هم فکر نکنم بشه دستور شرطی رو نوشت که فقط به بار این value رو با متد GET ارسال کنه. اگه اشتباه میگم تصحیح کنید.


    client.println("<form method=get name=form>");
    client.println("<button name=led_control value=1 type=submit style=height:80px;width:150px> LED ON </button>");
    client.println("<button name=led_control value=2 type=submit style=height:80px;width:150px> LED OFF </button>");

    دستوارت بالا فرم کلیدهای صفحه وب یا همون BUTTON هارو تشکیل میده و میگه در مقابل کلید LED ON مقدار (value) 1 و در مقابل کلید LED OFF مقدار 2 رو برگردون. مشکل توی همین تو خط هست. اگه بشه یه دستور شرطی به این ها اضافه کرد که اگه led روشن شده بود دیگه مقدار 2 رو برنگردونه و اگه led خاموش بود دیگه مقدار 1 رو برنگردونه که حالت قبل رو بهم بزنه، مسئله حل میشه.
    میشه کدهای شرطی رو در این دستورات اضافه کرد؟ البته فکر میکنم متغیری هم لازم باشه که در html تعریف بشه تا بفهمه خروجی مون چه حالتی داره.

    این هم لینک برنامه آردوینو هست.
    test-web-page.rar - آپلود عکس و فایل رایگان

    از شیلد شبکه w5100 استفاده شده. یعنی انتقال با کابل نه wifi.
    ویرایش توسط mhrt : 06-19-2019 در ساعت 04:23 PM

  2. #2
    Junior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    14
    البته اضافه میکنم که برنامه هایی در این زمینه یافته میشه که با تکنیک ajax نوشته شده (ajax ترکیبی از html و جاوا است) که عملیات رفرش کردن صفحه وب رو حذف میکنه و اطلاعات بسیار سریع به سرور منتقل میشه و بالعکس. اما تو این پروژه فعلا نمی خوام از این تکنیک استفاده کنم چون هم مشکله هم نیاز نیست. یعنی حجم اطلاعات اونقدری نیست که بخوام ازش استفاده کنم.

    دوستان و همکاران گرامی لطف کنن اگه کسی با همین کدهای html و دستورات آردوینو اینکار رو انجام داده راهنمایی کنه.

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

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

SEO by vBSEO