توصيل الأزرار بأردوينو بدون مقاومات

طباعة الحلوى الخاصة بك
September 11, 2015
مهندس معماري فرنسي يبتكر سيارة للطرق الوعرة
September 23, 2015

اعتاد أغلبنا أن يقوم بتوصيل مقاومة كـ pull up resistor  أو كـ pull down resistor  مع مدخل أردوينو الذي يريد توصيل زر pushbutton  عليه حتى يعمل الزر بشكل صحيح، لكن يمكنك أن توصل الزر بدون استخدام مقاومة خارجية، حيث أن أردوينو يمتلك مقاومات داخلية قيمتها 50 كيلو أوم موصلة بالـ 5 فولت ويمكنك تفعيل توصيلها كـ pull up resistor  مع مدخل الأردوينو وتوصيل الزر مباشرة به بدون مقاومة أخرى.

أثناء كتابة الكود وتحديدا في الجزء الذي يتم الإعلان عنه عن pinMode  قم بكتابة INPUT_PULLUP  بدلا من INPUT فقط وقم بتوصيل أحد طرفي الزر بالـ GND  والطرف الآخر بمدخل الأردوينو الذي تريد استخدامه والذي قمت بالإعلان عنه مسبقا كـ INPUT_PULLUP

تابع المثال التالي لمزيد من التوضيح: 

في هذا المثال سنستخدم الزر لإضاءة اللمبة المرفقة بـ pin 13 بالأردوينو

أولا: قم بتوصيل الزر كما بالصورة

inputPullupButton

ثانيا: قم بكتابة الكود التالي

void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);
}

void loop() {
  if (digitalRead(2) == HIGH) {
    digitalWrite(13, LOW);
  } 
  else {
    digitalWrite(13, HIGH);
  }
}

بعد تحميل الكود ستجد أن الزر يعمل بشكل مستقر بدون أن يتأثر بأي ضوضاء خارجية وبدون أن يكون متصلا بمقاومة إضافية مما يوفر الوقت والمساحة في التوصيل