Arduino Dahili Pullup Kullanma
Arduino Dahili Pullup Bu örnek, INPUT_PULLUP’un pinMode() ile kullanıldığını gösterir. Arduino’nuz ile bilgisayarınız arasında USB üzerinden seri iletişim kurarak bir anahtarın durumunu izler. Ayrıca, giriş YÜKSEK olduğunda, pim 13’e takılı yerleşik LED yanar; DÜŞÜK olduğunda, LED sönecektir.
Gerekli Donanım
- Arduino
- Anlık bir düğme, düğme veya geçiş anahtarı
- breadboard
- bağlantı teli
Devre
Arduino kartına iki kablo bağlayın. Siyah tel, zemini(-) basma düğmesinin bir ayağına bağlar. İkinci tel, dijital pim 2’den basma düğmesinin diğer ayağına gider.
Düğmeler veya anahtarlar, bastığınızda bir devre içinde iki noktaya bağlar. Basma düğmesi açık olduğunda (basılmamış) basma düğmesinin iki bacağı arasında bağlantı yoktur. Pim 2’deki dahili çekiş(pullup) aktif ve 5V’a bağlı olduğundan, düğme açıkken YÜKSEK okuruz. Düğme kapandığında, Arduino, toprağa bağlantı tamamlandığından DÜŞÜK okur.
Kod
Aşağıdaki programda, kurulum işlevinde yapacağınız ilk şey, seri iletişimi başlatmak, Arduino’nuz ile bilgisayarınız arasında, saniyede 9600 bitlik veriyi başlatmaktır:
Serial.begin(9600);
Ardından, dijital pim 2’yi dahili çekme direncinin etkin olduğu bir giriş olarak başlatınız:
pinMode(2,INPUT_PULLUP);
Aşağıdaki çizgi, yerleşik LED ile bir pini 13, bir çıkış yapmak:
pinMode(13, OUTPUT);
Artık kurulumunuz tamamlandı, kodunuzun ana döngüsüne geçin. Düğmeye basılmadığında, dahili çekme direnci 5 volta bağlanır. Bu Arduino’nun “1” veya HIGH rapor etmesine neden olur. Düğmeye basıldığında, Arduino pini toprağa çekilir ve bu da Arduino’nun “0” veya LOW olmasına neden olur.
Programınızın ana döngüsünde yapmanız gereken ilk şey, anahtarınızdaki bilgileri tutmak için bir değişken oluşturmaktır. Anahtardan gelen bilgiler ya “1” ya da “0” olacağından, bir int
veri türü kullanabilirsiniz. Bu değişken sensorValue
arayın ve dijital pin 2’de okunan her sensorValue
eşit olarak ayarlayın. Tüm bunları tek bir kod satırıyla gerçekleştirebilirsiniz:
int sensorValue = digitalRead(2);
Arduino girişi okuduğunda, bu bilgiyi bilgisayara ondalık ( DEC
) değeri olarak yazdırın. Son kod satırımızda Serial.println () komutu ile bunu yapabilirsiniz:
Serial.println(sensorValue, DEC);
Şimdi, Seri Monitörünüzü Arduino ortamında açtığınızda, anahtarınız kapalıysa veya anahtarınız açıksa “1” in bir “0” s akışı göreceksiniz.
Düğme YÜKSEK olduğunda pim 13 üzerindeki LED yanar ve DÜŞÜK olduğunda söner.
/* Arduino Dahili pullup Bu örnek, pinMode (INPUT_PULLUP) kullanımını gösterir. Bir dijital okur Pim 2'ye giriş yapın ve sonuçları Seri Monitöre yazdırır. Devre: - Pin 2'den toprağa bağlı anlık anahtar - Pin 13 dahili LED PinMode'un (INPUT) aksine, gerekli olan aşağı çekme direnci yoktur. Dahili 20K-ohm direnç 5V'a çekilir. Bu yapılandırma, girdinin okunmasına neden olur Düğme açık olduğunda YÜKSEK ve kapalı olduğunda DÜŞÜK. oluşturuldu 14 Mar 2012 ile Scott Fitzgerald Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/InputPullupSerial */ void setup() { // seri bağlantıyı başlat Serial.begin(9600); // pin 2'yi bir giriş olarak yapılandırın ve dahili çekme direncini etkinleştirin pinMode(2, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { // basma değerini bir değişkene okuma int sensorVal = digitalRead(2); // basma düğmesinin değerini yazdır Serial.println(sensorVal); // Çekme işleminin, butonun mantığının tersine çevrildiğini unutmayın. // Açık olduğunda YÜKSEK ve basıldığında DÜŞÜK. Pimi 13 // düğmesine basılmadığı ve kapatılmadığı zaman: if (sensorVal == HIGH) { // Eğer sensorVal değişkeni HIGH ise digitalWrite(13, LOW); // Ledi Kapat } else { // Değil ise digitalWrite(13, HIGH); // Ledi Aç } }
Kaynak:arduino.cc