Site icon elektromanyetix

Arduino Analog Giriş Uygulaması

Arduino Analog Giriş

Arduino Analog Giriş. Bu örnekte bir değişken direnç (bir potansiyometre veya bir fotoezitör(LDR) kullanıyoruz, bir Arduino veya Genuino kartının bir analog girişini kullanarak değerini okuyoruz ve dahili LED’in göz kırpma oranını buna göre değiştiriyoruz. Direnç analog değeri bir voltaj olarak okunur, çünkü analog girişler böyle çalışır.

Gerekli Donanım

  • Arduino veya Genuino
  • Potansiyometre veya
  • 10K ohm fotodirenç ve 10K ohm direnç
  • pin 13 üzerinde dahili LED veya
  • 220 ohm direnç ve kırmızı LED

Arduino Analog Giriş Devre

Burada İster LDR’li olan isterseniz de potansiyometre kullanılan örnedği deneyebilirsiniz. İkisinde de mantık ve örnek sonucumuz aynıdır.

Arduino veya Genuino kartına üç kablo bağlayın. İlk önce potansiyometrenin dış pimlerinden birinden (-)’ye gider. İkincisi 5 volttan, potansiyometrenin diğer dış pimine gider. Üçüncüsü analog girişten 0 potansiyometrenin orta pimine gider.

Bu örnekte, kartın pim 13’e takılı yerleşik yerleşik LED’in kullanılması mümkündür. Ek bir LED kullanmak için, daha uzun olan bacağını (pozitif bacak veya anot), 220 ohm dirençle seri halde dijital pim 13’e takın, ve pim 13’ün yanındaki zemine (negatif bacak veya katot) kısa bacak (GND) pimi.

Bir LDR olan devrede, gerilimi ölçmek için ve Analog girişine izin vermek için bir direnç bölücü kullanır. Bu girişler hemen hemen herhangi bir akım çekmez, bu nedenle Ohm yasası ile 5V’a bağlı bir direncin diğer ucunda ölçülen voltaj direnç değerine bakılmaksızın her zaman 5V olur. Fotodirenç değerine orantılı bir voltaj elde etmek için bir direnç bölücü gereklidir. Bu devre bir değişken direnç, sabit bir direnç kullanır ve ölçüm noktası dirençlerin ortasındadır. Ölçülen voltaj (Vout) bu formülü takip eder:

Vout = Vin * (R2 / (R1 + R2))

Burada Vin 5V, R2 10k ohm ve R1 karanlıkta 1M ohm’dan gün ışığında 10k ohm’a (10 lümen) ve parlak ışık veya güneş ışığında (> 100 lümen) 1k ohm’dan az olan fotorezistör değeridir.

Kod

Bu sensorPin başlangıcında, sensorPin değişkeni, potansiyometrenin takılı olduğu analog pim 0’a ve ledPin dijital pim 13’e ayarlanmıştır. Ayrıca sensörünüzden okunan değerleri saklamak için başka bir değişken olan sensorValue de yaratabilirsiniz. .

analogRead() komutu, 0 ila 5 volt arasındaki bir dijital değere, 0 ila 5 volt arasındaki giriş voltajı aralığını dönüştürür. Bu, analog-dijital dönüştürücü veya ADC olarak adlandırılan mikrodenetleyicinin içindeki bir devre tarafından yapılır.

Potansiyometrenin milini çevirerek, potansiyometrenin merkez piminin (veya silicinin) her iki tarafındaki direnç miktarını değiştirirsiniz. Bu, orta pim ile iki dış pim arasındaki göreceli rezistansları değiştirerek, analog girişte farklı bir voltaj verir. Mil tek yönde tamamen çevrildiğinde, merkez pim ile zemine bağlı pim arasında direnç yoktur. Merkez analogRead() voltaj 0 volttur ve analogRead() 0 analogRead() döndürür. Şaft diğer yönde tamamen çevrildiğinde, orta pim ile pim +5 volta bağlandığında direnç yoktur. analogRead() voltaj 5 volttur ve analogRead() döndürür. analogRead() arasında, analogRead() uygulanan voltajın miktarı ile orantılı olan 0 ile 1023 arasında bir sayı döndürür.

sensorValue saklanan bu değer, göz kırpma döngüsünüz için bir delay() ayarlamak için kullanılır. Değer ne kadar yüksekse, döngü ne kadar uzun olursa, değer o kadar küçük olur, döngü o kadar kısa olur. Değer çevrimin başında okunur, bu nedenle açma / kapama zamanı her zaman eşittir.

/*
Analog giriş

Analog pin 0 üzerinde bir analog sensör okuyarak analog girişi gösterir ve
dijital pim 13'e bağlanan bir ışık yayan diyot (LED) açılıp kapatılır.
LED'in açık ve kapalı olacağı süre, elde edilen değere bağlıdır.
analogRead () tarafından.

Devre:
- potansiyometre
potansiyometrenin merkez pini analog girişe 0
bir yan pin (bir tane) toprağa
diğer taraftaki pin + 5V'a
- LED
Dijital çıkışa bağlı anot (uzun bacak) 13
yere bağlı katot (kısa bacak)

- Not: Çoğu Arduino'nun pin 13'e takılı yerleşik bir LED'i var.
kartı, LED isteğe bağlıdır.

David Cuartielles tarafından oluşturuldu
değiştirildi 30 Ağu 2011
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/AnalogInput
*/

int sensorPin = A0;    // potansiyometre için giriş pimini seçin
int ledPin = 13;      // LED'in pinini seçin
int sensorValue = 0;  // sensörden gelen değeri saklamak için değişken

void setup() {
  // ledPin'i bir OUTPUT olarak bildirir:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // sensörden gelen değeri oku:
  sensorValue = analogRead(sensorPin);
  // ledPin'i aç
  digitalWrite(ledPin, HIGH);
  // <sensorValue> milisaniye için programı durdur:
  delay(sensorValue);
  // ledPin'i kapatın:
  digitalWrite(ledPin, LOW);
  // <sensorValue> milisaniye için programı durdurun:
  delay(sensorValue);
}

Kaynak:arduino.cc

Exit mobile version