Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
522
Tıklama
0
Öne Çıkarma
arduino pot okumak
G
12 yıl
Binbaşı
Konu Sahibi

Şöyle bir kodumuz var elimizde,

int led[10] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; // Assign the pins for the leds 

int leftChannel = 0;
int left, i;

void setup()
{
for (i = 0; i < 10; i++)
pinMode(led[i], OUTPUT);
Serial.begin(9600);
}

void loop()
{
left = analogRead(leftChannel);

Serial.println(left);

left = left / 2;

if (left == 0)
{
for(i = 0; i < 10; i++)
{
digitalWrite(led[i], LOW);

}
}

else
{
for (i = 0; i < left; i++)
{
digitalWrite(led[i], HIGH);

}

for(i = i; i < 10; i++)
{
digitalWrite(led[i], LOW);

}
}
}


left = left / 2; satırı vumetrenin hassaslığını ayarlıyor fark etmişsinizdir. Ama ben bunu potansiyometre ile kontrol etmek istiyorum. Değer olarak /2 ile /80 aralığını elde etmem lazım.

Çok teşekkürler.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Guest-4A2756470 -- 8 Aralık 2013; 20:47:50 >

N
12 yıl
Teğmen

left = analogRead(leftChannel); komutu pottan gelen değeri okuyor.

Siz, left = left / 2; satırındaki 2 yi başka bir pottan okunacak değer sayesinde değişken yapmak istiyorsunuz.

Bütün malzeme var elinizin altında:
Aşağıdaki satır ile ikinci pini okuyun.
int pot2 = analogRead(ikincipotunbaglioldugupin);

Aşağıdaki satır ile 0-1024 arasında gelecek sayıyı 0-80 arasına orantılayın.
pot2 = (pot2 * 80) / 1024;

Aşağıdaki satır ile bitirin.
left = left / pot;

Yazmadım, compile etmedim, denemedim ama mantık budur, ufak tefek yazım yanlışlarını düzeltin, çalışır...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.