Adc okuma

Başlatan oguztkn, 04 Şubat 2015, 22:35:46

oguztkn

Arkadaşlar arduino öğrenmeye çalışıyorum basic te yaptığım gibi gosub yada goto ile programı dallandırmak istiyoyorum.Ama yazdığım programda sanki dallanma işini yaptım ama değerler dönmüyor.Yani bu programda lcd ekranda 3 tane 0 gözüküyor bunlar büyük ihtimal adc değişkenlerinin değerleri ama değişmiyor sabit kalıyor.Bi fikir veririseniz sevinirim...

#include <LiquidCrystal.h>
int led1 = 10;
int led2 = 7;
int led3 = 8;      
int mot1 = 9;  
int mot2 = 6; 
//****************************************
int x = 0;
int y = 0;
int z = 0;
int w = 0;
int i = 0;  
//****************************************
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//****************************************
void setup () {
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  lcd.begin(16,2);
  lcd.print("Hosgeldiniz");
  delay(1000);
}
//****************************************
void loop () {
  adcoku();
  lcdyaz();
}

void adcoku () {  
  int x =analogRead(A0);
  int y =analogRead(A1);
  int z =analogRead(A2);
}
    
void lcdyaz () {  
  lcd.clear();
  lcd.setCursor(3,0);
  lcd.print(x);
  lcd.setCursor(8,0);
  lcd.print(y);
  lcd.setCursor(5,1);
  lcd.print(z);
  delay(100);
}

mehmet

Adc oku fonksiyonunu geçici olarak iptal
ediniz. x, y ve z değişkenlerine farklı değerler
veriniz. Lcd düzgün çalışıyor mu kontrol ediniz.
Ayrıca adc için nasıl bir bağlantı yaptınız. 
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

oguztkn

Dediklerinizi yaptım adc yi iptal ettim x y z değişkenlerine önceden değer atadım lcd de yazdığım değerler gözüküyor.adc için bir ucu + diğer ucu - orta ucuda an0 a bağladım gönderdiğim programdaki adcoku ve ldcyaz başlıklarını silince program istediğim şekilde çalışıyor ama benim amacım dallanma yapmak bir tek loop un içine yazmak istemiyorum

mehmet

#3
adcoku fonksiyonunda yeniden tanımlama
yapmışsınız.
Sadece aşağıdaki değişiklikleri yapmanız yeterli:
void adcoku () {  
  x =analogRead(A0);
  y =analogRead(A1);
  z =analogRead(A2);
}
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

oguztkn

Cevabınız için teşekkür ederim sorunum çözüldü