Boeing 737NG MCP Paneli Yapmak

Potun şase tarafına düşük değerli bir direnç koy. Sorun analog girişe gelen voltajın çok düşük hale gelmesinden kaynaklanıyor ve ADC artık gürültü ölçüyor.
Şase ile A0 arasına mı?
 
10r de denedim yine değişmedi.
Ama şöyle bir durum gözlemledim. Potu iyice kısıp pır pır yapmaya başladığında bir tık daha kısınca pır pırı kesip direk yanıyor. Sonrasında kısmaya devam edersem direk sönüyor. Yanı bu pır pır olayı kapanışa yakın ama arada bir yerde oluyor.
 
Olay tamamen oradaki ADC'nin çözünürlüğü ile ilgili. Referans voltajı 5 V. ADC 10 bitlik, o halde her bit 5 / 1024 = 5 mV. Yani A0 girişindeki voltajın 5 mV üzerinde kalmasını sağlaman lazım, yoksa ADC bir 0 okuyor, bir 5 mV okuyor ve pır pır meydana geliyor. Potu tam aşağı dayayınca artık ADC hep 0 okuyor.

Multimetre ile, minimum ayarda 5 mV olacak bir direnç seçebilirsin.
 
Bir diğer seçenek de, programı değiştirebilirsin. A0 girişinden okunan değer belli bir değerin üstünde ise işlem yapsın, altında ise 0 kabul etsin. 2 değeri ile başlayabilirsin denemeye. Tabi bunu yaparsan artık o yukarıda bahsettiğim direnci kullanmaman lazım.
 
Deniyorum.
 
Bir diğer seçenek de, programı değiştirebilirsin. A0 girişinden okunan değer belli bir değerin üstünde ise işlem yapsın, altında ise 0 kabul etsin. 2 değeri ile başlayabilirsin denemeye. Tabi bunu yaparsan artık o yukarıda bahsettiğim direnci kullanmaman lazım.
Abi şu şekilde yaptım ama ışıklar direk full değerde yanıyor. Ayar yapılmıyor.

Kod:
#define led 3 // Digital 3 nolu pine "led" ismini atadık
#define pot A0 //Analog A0 nolu pine "pot" ismini atadık

void setup() {
  TCCR2B = 0x06; // Işığın pot üzerinde ayarlanma seviyesini atadık. (0x04 ile 0x07 olabilir)

}

void loop() {
  int deger = analogRead(pot); // "pot"'tan gelen analog veriyi okuduk ve "değer" değişkenine aktardık
if(deger>2){
  deger = map(deger,2,1023,0,255); // değer değişkenindeki analog veriyi digital'e çevirdik
  analogWrite(led,deger); // "led" değişkenine "değer" değişkenindeki digital veriyi yazdırdık
}
}
 
Algoritmayı yanlış uygulamışsın. Şöyle olacak:

C:
#define led 3 // Digital 3 nolu pine "led" ismini atadık
#define pot A0 //Analog A0 nolu pine "pot" ismini atadık
#define esik 2 // gurultu esigi (farkli degerler denenebilir)

void setup() {
  TCCR2B = 0x06; // Işığın pot üzerinde ayarlanma seviyesini atadık. (0x04 ile 0x07 olabilir)
}

void loop() {
  int deger = analogRead(pot); // "pot"'tan gelen analog veriyi okuduk ve "değer" değişkenine aktardık
  if (deger < esik)
  {
      deger = 0;
  }

  deger = map(deger,0,1023,0,255); // değer değişkenindeki analog veriyi digital'e çevirdik
  analogWrite(led,deger); // "led" değişkenine "değer" değişkenindeki digital veriyi yazdırdık
}
 
Algoritmayı yanlış uygulamışsın. Şöyle olacak:

C:
#define led 3 // Digital 3 nolu pine "led" ismini atadık
#define pot A0 //Analog A0 nolu pine "pot" ismini atadık
#define esik 2 // gurultu esigi (farkli degerler denenebilir)

void setup() {
  TCCR2B = 0x06; // Işığın pot üzerinde ayarlanma seviyesini atadık. (0x04 ile 0x07 olabilir)
}

void loop() {
  int deger = analogRead(pot); // "pot"'tan gelen analog veriyi okuduk ve "değer" değişkenine aktardık
  if (deger < esik)
  {
      deger = 0;
  }

  deger = map(deger,0,1023,0,255); // değer değişkenindeki analog veriyi digital'e çevirdik
  analogWrite(led,deger); // "led" değişkenine "değer" değişkenindeki digital veriyi yazdırdık
}
Abi arduino "esik" tanımadığı için onu önce 2 sonra 3 ile değiştirdim. Ama hala pır pır ediyor.
 
Abi arduino "esik" tanımadığı için onu önce 2 sonra 3 ile değiştirdim. Ama hala pır pır ediyor.

esik yukarıda tanımlı yav. Kaynak kodunun son halini koy bakalım herhalde bir syntax hatası var.
 
türkçedeki i harfi ile ingiliz klavyedeki i nin yeri farklı olduğundan tanımıyordur
esik 2 değişkenindeki i leri sil
esk 2 diye kullan hepsini
 
esik yukarıda tanımlı yav. Kaynak kodunun son halini koy bakalım herhalde bir syntax hatası var.
haa ben onu görmedim. direk loop kısmını kopyaladım. Tekrar deniyorum ama if içerisinde esik yerine 2 yazdım yine olmadı. sonuçta aynı kapıya çıkıyor. Yine de deniyorum baştan.
 
esik yukarıda tanımlı yav. Kaynak kodunun son halini koy bakalım herhalde bir syntax hatası var.
10'a kadar denedim. Hiç programlamamışım gibi hep aynı tepkiyi veriyor.
map fonksiyonu içinde neden 0,1023 yapıyoruz? sonuçta yukarıda değiştiriyoruz onu.
Son kod;
Kod:
#define led 3 // Digital 3 nolu pine "led" ismini atadık
#define pot A0 //Analog A0 nolu pine "pot" ismini atadık
#define esik 10 // gurultu esigi (farkli degerler denenebilir)

void setup() {
  TCCR2B = 0x06; // Işığın pot üzerinde ayarlanma seviyesini atadık. (0x04 ile 0x07 olabilir)
}

void loop() {
  int deger = analogRead(pot); // "pot"'tan gelen analog veriyi okuduk ve "değer" değişkenine aktardık
  if (deger < esik)
  {
      deger = 0;
  }

  deger = map(deger,0,1023,0,255); // değer değişkenindeki analog veriyi digital'e çevirdik
  analogWrite(led,deger); // "led" değişkenine "değer" değişkenindeki digital veriyi yazdırdık
}
 
Akşama ben de kurayım bakalım o devreyi, benim arduino ne yapacak :D Gerçi geçenlerde benim arduino'ya oturaklı bir negatif voltaj darbesi vermiştim, sağlık durumu hakkında enim değilim ...
 
Akşama ben de kurayım bakalım o devreyi, benim arduino ne yapacak :D Gerçi geçenlerde benim arduino'ya oturaklı bir negatif voltaj darbesi vermiştim, sağlık durumu hakkında enim değilim ...
Akşama kadar bekleyecez yani :D
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,659
Mesajlar
97,343
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top