Çok sayıda RF vericiden alıcıya tek yönlü haberleşmede ekran ekleme

Tamam gelen değeri if ile karşılaştırıp verici no diye bir değişkene eşitle
o değişkeni lcd.print ile yazdır



if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}
if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

gibi birşey olacak.
Denedim ama hata veriyor, başaramadım sayın peugeot98..
 
Nasıl bir hata veriyor.?
Ve kodu paylaşınız
Ben bilemesem bile ustalara sorarız.
 
sayın peugeot98;
Aşağıdaki ekran alıntısındaki kodlama, uzaktan kumanda tuşlarına basıldığında üç adet ledin değişik şekillerde yakılması ile ilgili bir kodlamanın benim amacıma uygun hale getirerek değişiklikler yaptığım bir kodlama. Sizin iki satırlık kodlama önerinizi eklemeye çalıştım ama hata veriyor.
Seri port ekranına benim tanıttığım bütün vericilerin düğmesine basıldığında her vericinin 6-7 haneli numarası yazıyor. Buraya kadar tamam. Ancak buradaki değerleri lcd ekrana yazdırma aşamasında sıkıntım var.
Kodlamayı bilenler için belki de çok basit ve komik bir hata. Ama ingilizce ve kodlama bilmeyen kişi için işin içinden çıkılmıyor. Belki de beş altı satırlık bir kodlama benim sorunu çözecek ama bilmeyince olmuyor işte. İki verici için yapmaya çalıştığım kodlama aşağıda. Amacım basılan kumandanın numarası basıldığı an lcd ekrana yazılsın ve bir dakika süreyle yazı durup sonra silinsin.
deneme.JPG

aşağıdaki de hata raporu;

In function 'void loop()':
ucled2:33:9: error: 'gelen' was not declared in this scope
if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:33:9: note: suggested alternative: 'getenv'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~
getenv

ucled2:33:15: error: expected ')' before 'deger'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~

ucled2:33:32: error: 'verici' was not declared in this scope

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:33:32: note: suggested alternative: 'Serial'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~~

Serial

ucled2:33:62: error: expected ')' before 'no'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~

ucled2:34:5: error: 'gelen' was not declared in this scope

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:34:5: note: suggested alternative: 'getenv'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

getenv

ucled2:34:11: error: expected ')' before 'deger'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

ucled2:34:28: error: 'verici' was not declared in this scope

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:34:28: note: suggested alternative: 'Serial'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~~

Serial

ucled2:34:58: error: expected ')' before 'no'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~

exit status 1

'gelen' was not declared in this scope
 
sayın peugeot98;
Aşağıdaki ekran alıntısındaki kodlama, uzaktan kumanda tuşlarına basıldığında üç adet ledin değişik şekillerde yakılması ile ilgili bir kodlamanın benim amacıma uygun hale getirerek değişiklikler yaptığım bir kodlama. Sizin iki satırlık kodlama önerinizi eklemeye çalıştım ama hata veriyor.
Seri port ekranına benim tanıttığım bütün vericilerin düğmesine basıldığında her vericinin 6-7 haneli numarası yazıyor. Buraya kadar tamam. Ancak buradaki değerleri lcd ekrana yazdırma aşamasında sıkıntım var.
Kodlamayı bilenler için belki de çok basit ve komik bir hata. Ama ingilizce ve kodlama bilmeyen kişi için işin içinden çıkılmıyor. Belki de beş altı satırlık bir kodlama benim sorunu çözecek ama bilmeyince olmuyor işte. İki verici için yapmaya çalıştığım kodlama aşağıda. Amacım basılan kumandanın numarası basıldığı an lcd ekrana yazılsın ve bir dakika süreyle yazı durup sonra silinsin.Ekli dosyayı görüntüle 85632
aşağıdaki de hata raporu;

In function 'void loop()':
ucled2:33:9: error: 'gelen' was not declared in this scope
if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:33:9: note: suggested alternative: 'getenv'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~
getenv

ucled2:33:15: error: expected ')' before 'deger'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~

ucled2:33:32: error: 'verici' was not declared in this scope

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:33:32: note: suggested alternative: 'Serial'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~~~~~

Serial

ucled2:33:62: error: expected ')' before 'no'

if (gelen deger==242212) { verici no=1;lcd.print (verici no) ;}

^~

ucled2:34:5: error: 'gelen' was not declared in this scope

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:34:5: note: suggested alternative: 'getenv'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

getenv

ucled2:34:11: error: expected ')' before 'deger'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~

ucled2:34:28: error: 'verici' was not declared in this scope

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~~

C:\Users\gulse\Documents\Arduino\ucled2\ucled2.ino:34:28: note: suggested alternative: 'Serial'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~~~~~

Serial

ucled2:34:58: error: expected ')' before 'no'

if (gelen deger==7201636) {verici no=2;lcd.print (verici no) ;}

^~

exit status 1

'gelen' was not declared in this scope
{
if(gelen****
if(gelen
}
bu dört satırı sil
serial.println yazan satırı aşagıda yazanla degiştir.

if(num == 242212) Serial.println("verici no=1")
if(num == 7201636) Serial.println("verici no=2")

daha fazla kumandan varsa kumanda da okudugun rakamları benzer şekilde ekle
 
{
if(gelen****
if(gelen
}
bu dört satırı sil
serial.println yazan satırı aşagıda yazanla degiştir.

if(num == 242212) Serial.println("verici no=1")
if(num == 7201636) Serial.println("verici no=2")

daha fazla kumandan varsa kumanda da okudugun rakamları benzer şekilde ekle


Sayın alarmko;
Çok teşekkür ederim, önerinizi uyguladım, bu sefer hata vermedi, ama lcd ekrana yazdırma yapmıyor. Kablo bağlantılarını da kontrol ettim ama sonuç değişmedi.
EKRAN ALINTISI.JPG

Bir de seri port ekrana baktığımda ise sadece ilk basılan kumandanın çok haneli numarası yazıyor, peşi sıra basılan kumandaların çok haneli no'ları yazmıyor.
 
Son düzenleme:
Değiştirdim, lcd ekrana yazmıyor. Seri port ekranında ise ilk basılan vericinin uzun no'sunun yanında "C" harfi eklenmiş halde yazıyor. peşi sıra basılan vericileri yazmıyor. Fotoğraflar altta.
Not: Boşta gibi görünen mavi kablo yanıltmasın, rf alıcının geçici anten görevi görüyor.
 

Ekli dosyalar

  • Ekran Alıntısı 2.JPG
    Ekran Alıntısı 2.JPG
    80.7 KB · Görüntüleme: 3
  • seri port ekranı.JPG
    seri port ekranı.JPG
    30.9 KB · Görüntüleme: 3
  • photo_2022-03-10_12-25-07aB.jpg
    photo_2022-03-10_12-25-07aB.jpg
    324.3 KB · Görüntüleme: 3
  • photo_2022-03-10_12-25-08aB.jpg
    photo_2022-03-10_12-25-08aB.jpg
    280 KB · Görüntüleme: 3
Son düzenleme:
SORUN ÇÖZÜLDÜ
Sayın alarmko ve sayın peugeot98,
Sorunu buldum. Aşağıdaki fotoğrafta transparan sarı renkle işaretlediğim 29. satırdaki switch(num) bitiminde noktalı virgül koymayı denedim, lcd ekrana doğru olarak yazmaya başladı. Sizlere çok teşekkür ederim, sorunumu çözdünüz. Sağ olunuz.

Ekran Alıntısı 3.JPG
 
"switch" orada ne iş yapıyormuş, sordunuz mu kendisine?
Sayın Mehmet bey,
Yukarıdaki kodlama benim amacıma en uygun diyerek seçtiğim "rf alıcı-verici ile üç led yakma" üzerine yazılmış bir kodlama. Ben kendi amacıma uygun değişiklikler yaparak çalıştırmak istedim. Başaramayınca forumdaki ustalardan yardım istedim. Arkadaşların önerdiği bir kodlama değil kısaca. Sonunda amacıma ulaştırdılar. Bir "noktalı virgül" canımıza yetti yani. Gözden kaçabiliyor işte.
 

Forum istatistikleri

Konular
128,162
Mesajlar
915,577
Kullanıcılar
449,922
Son üye
11akif

Yeni konular

Çevrimiçi üyeler

Geri
Üst