کلید فشاری فیزیکی در حالت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 تعریف بشه تا بفهمه خروجی مون چه حالتی داره.