مشکل در تشخیص ورودی Arduino
سلام و خسته نباشید.
من یک برد آردوئینو تهیه کردم . تا جایی که متوجه شدم برای تشخیص ورودی ها با digitalRead میتونم تشخیص بدم که ورودی 0 هست یا 1 (باید وقتی + وصل میشه به ورودی ۱ بشه) اما وقتی یک سیم که سمت دیگش به هیچ جا وصل نیست رو به پایه ورودی وصل میکنم ، آردوئینو ۱ تشخیص میده این ورودی رو !
دلیل یا نکته ی خاصی داره ؟
یا برد مشکل پیدا کرده ؟
ممنون میشم راهنمایی کنید
با سپاس
نقل قول: مشکل در تشخیص ورودی Arduino
سلام
شما وقتی pinmode رو روی input قرار میدید تمام ورودی ها از طریق یک ثبات داخلی با مقاومت های 1k به vcc وصل میشند
یعنی خواندن پینی که pinmode = input باشه و به هیچ جایی وصل نباشه مقدار HIGH رو نشون میده
و برعکس هر پینی که به عنوان خروجی معرفی بشه بصورت پیش فرض مقدارش LOW میباشد.
موفق باشید.
نقل قول: مشکل در تشخیص ورودی Arduino
تشکر از پاسخ شما
یعنی باید به صورت دیفالت وردی ها رو به gnd وصل کنیم؟
یا برعکس منطق برنامه رو طوری درنظر بگیریم که وقتی ورودی low شد عملیات رو انجام بده؟
نقل قول: مشکل در تشخیص ورودی Arduino
نه نیازی به وصل کردن به gnd یا برعکس نیست
هر نوع مدار با خروجی دیجیتال باید در حالت غیر فعال یا با مقاومت به vcc وصل شده باشه (PULLUP) یا برعکس (PULLDOWN) تو سنسور ها این عمل خود به خود انجام شده ولی درباره بعضی از سنسور ها یا کلید ها باید خودت اینکارو انجام بدی
ولی اگه مثلا ورودی رو خودت pullup نکردی خود میکرو این کارو انجام داده و با وصل کردن به gnd میتونی تحریک کلید رو دریافت کنی ولی اگه نیاز به تحریک مثبت داشتی میتونی از یه مقاومت pulldown استفاده کنی و مقدار خروجی پایه میکرو رو خودت down کنی تا با کلید و اتصال ب vcc بتونی تحریکش کنی.
نقل قول: مشکل در تشخیص ورودی Arduino
سلام
نقل قول:
پینی که pinmode = input باشه و به هیچ جایی وصل نباشه مقدار HIGH رو نشون میده
و برعکس هر پینی که به عنوان خروجی معرفی بشه بصورت پیش فرض مقدارش LOW میباشد.
من این موضوع رو برای پیدا کردن جواب این سوال :
تست کردم . در حالت اینکه هیچ مصرف کننده ای به پین خروجی وصل نباشه ، 0 رو برمیگردونه .
وقتی مصرف کننده رو وصل هم بکنیم 0 برمیگردونه .
اما در حالت پین ورودی ، به محض وصل کردن حالت تغییر میکرد ( از 1 به 0 )
البته شاید من اشتباه میکنم و جواب سوال من نباشه این موضوع .
نقل قول: مشکل در تشخیص ورودی Arduino
همونطور که گفتن اگه درباره مقاومت های pull up و pull down مطالعه بکنید علت مشکلتون رو متوجه میشید. (چیز پیچیده ای نیست).
بعد از این کار میتونید با خوندن مستندات آردوئینو بطور خاص روی مدار خودتون تمرکز کنید.
با همین کلید واژه ها در گوگل و یوتوب یا کتابهای مدار منطقی جستجو کنید. مثلا http://www.seattlerobotics.org/encod...97/basics.html
نقل قول: مشکل در تشخیص ورودی Arduino
من هم دقیقا همین مشکل رو دارم مقاومت های pull up و pull down اندازه شون فک کنم درست نیست ممنون میشم راهنمایی کنید
نقل قول: مشکل در تشخیص ورودی Arduino
سلام من همین مشکلو هم تو دیجیتال هم تو آنالوگ دارم همینطوری از خودش چرت و پرت عدد میده وقتی هم ماژول بهش وصل می کنم بازم عدد چرت و پرت میده مثلا همین ماژول فراصوت srf05 یا ماژول تشخیص حرکت hcsr501 تو همه اینا ورودی اشتباه میده به من همه کارم کردم ولی درست نشد :افسرده::گریه: کد امم درسته هم خودم نوشتم چند بار از اینترنت کداشون گرفتم ولی خروجی بردم آردینو uno درسته اگه میشه یه راهنمایی کنید ممنون میشم