Döngü boyunca ldr_oku hep 0 olsa bile adım değişkeni hiç bir zaman 113 den büyük olamaz.
Ne atılırsa atılsın hep 5 kuruş sayar.
Nedenini açıklar mısınız? Belki sorunu çözmeme yardımcı olur.
 
Döngüde bir mantık hatası var ama bahsi geçen sorun hep 1 TL saymasıymış. Yani doğa üstü bir durum söz konusu. :D
Yok öyle değil. İlk ne atarsam hep onu sayıyor. Bir ise biri sayıyor, beş kuruş ise hep beş kuruş sayıyor.
 
Hatta şöyle söylüyeyim.
Beş kuruşu attım.
Ldr kapandı.
Değeri sıfıra düşünce if bloğuna girdi.
Adım değişkenini 106 dan başlayıp artırmaya başladı.
7 adım gittikten sonra 113 e ulaşınca paranın geçebileceği kadar açıklık oluştu ve para düştü.
Düşen paranın değeri değişkene aktarıldı ve serial monitörde görüldü.
Servo bir sonraki parayı karşılamak üzere 106 ya çekildi.

Buraya kadar herşey normal. Adımlamaya devam edelim.
Para düşünce ldr ışık aldı, değeri 1 oldu ve döngüden çıkıldı.
Peşinden 1tl attık.
İşte tam bu noktada if koşulu hep 113 adıma kadar sayıyor, para düşmemesine rağmen düşmüş gibi işlem yapıp servoyu 106 çekiyor ve kısır döngü oluşuyor.

Adım adım yazınca kafamda bir şey oluştu ama adını koyamadım henüz. Sıcak yataktan çıkabilirsem deneyeceğim.
 
Çözdüm olayı. LDR yi if bloğuna girmeden okuyup değeri sıfır ise if bloğuna sokuyordum. İçeride paranın düştüğünü kontrol etmek için ldr_oku == 1 ise komutu kullanıyordum. Bu komut analog okuma olayı if 'in dışında kaldığı için 1 değil hep 0 dönüyordu. Haliyle if 'in içine girmediğinden komutlar çalışmıyordu. Bende if içinde bir kez daha analog okuma yaptım. Böylece paranın düştüğünü kesinleştirip if 'in içindeki komutları okutabildim. Biraz karışık ama önceki kodlar ile şimdikini karşılaştırırsanız anlaşılır.

BAŞARDIM!!!
Öte yandan benim için bu bir devrimdir.
Konunun başından beri tek elemanla okumaya çalıştığım paraları sonun da bu gün okuyabildim.
Artık 1 LED, 1 LDR ve bir SERVO ile 5 adet madeni paramızı tanımlayabiliyorum.
Dolayısıyla bir önceki projede 5 ayrı servo ile bu işi başarmış olsam da kutuyu kapatmak içimden gelmedi. Çünkü 5 servo, 5 ldr ve onların dirençleri, kabloları vs derken insanı çileden çıkarır bir hal alıyor olay. Kumbara yapmak isteyeni bu kadar zorlamamak gerektiğini düşündüm.
Azmettim, Pes etmedim, Zorlandıkça sıkılıp bırakmadım, Aksine üstüne gittim.
Aşağıda gördüğünüz kodlar alelade yazılmış bir kod bloğu değil, bir başarının simgesidir. Bazılarının oturup 5dk da yazabileceği bu kodlar benim için paha biçilmezdir. Çünkü bu kodları yazabilmek için beni destekleyen arkadaşlarım, abilerim vardı. Onlarca öneri aldım, onlarca video izledim, internette sayfa sayfa konu araştırdım ve en sonun da 25sn lik bir mekanizma görüntüsünü analiz edip uygulayarak ve de bu mekanizmanın kodlarını sıfırdan kendim yazarak sonuca ulaştım.

Yakında yeni görsel ve videolar ile görüşmek üzere.

tek_servo.png


C:
void loop()
{
  lldr = analogRead(ldr);

    ldr_oku = map(lldr, 0, 800, 0, 1);
  if (ldr_oku == 0) {
    myservo.write(adim);
    adim++;
    delay(30);
    lldr = analogRead(ldr);
    ldr_oku2 = map(lldr, 0, 800, 0, 1);
    if ((ldr_oku2 == 1) && (adim >= 146)) {
        //para = 1.00;
        Serial.println("Bir TL");
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku2 == 1) && (adim >= 137)) {
        //para = 1.00;
        Serial.println("Elli Kuruş");
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku2 == 1) && (adim >= 126)) {
        //para = 1.00;
        Serial.println("Yirmibeş Kuruş");
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku2 == 1) && (adim >= 119)) {
        //para = 1.00;
        Serial.println("On Kuruş");
        adim = 106;
        myservo.write(adim);
    }else if ((ldr_oku2 == 1) && (adim >= 115)) {
        //para = 1.00;
        Serial.println("Beş Kuruş");
        adim = 106;
        myservo.write(adim);
    }
  } else {
    myservo.write(106);
  }
}
 
Paraların arasında nasıl bir ışık farkı okuyorsun? Yeterince büyük mü?
 
Paraların arasında nasıl bir ışık farkı okuyorsun? Yeterince büyük mü?
Abi ldr den 30 -ila 900 arası analog okuma yapabiliyorum. Bunu da map komutu ile 0-1 durumuna yuvarlıyorum. Sadece 2 rakam. Bu durumda para ldr yi kapatıyorsa 0'ı kullanıyorum, kapatmıyorsa 1'i kullanıyorum. Paraları asıl servo sayesinde tanımlıyorum. Para düşene kadar servo 1'er derece aralıklarla ilerliyor. Mesela 1tl 146.adım da düşüyor aşağı. Bende eğer servo 146 ya eşitse 1 tl olarak tanımlıyorum. Diğer paralarda sırasıyla 137,126,119 ve 115. Adımlarda düşüyor. En çok korktuğum 5krş ile 10krş arasında servoda 4 adım fark ediyor.

20210106_132842.jpg



20210106_132856.jpg
 
Değişik özgün bir çözüm kullanmışsın çok güzel. Bu proje oldukça fazla yeni şey öğrendin galiba. En iyi öğrenme şekli de bu zaten, bir an önce sonuca ulaşmak istiyorsun bu da senin motivasyonun oluyor, sonuca ilerlerken karşılaştığın zorluklar da sana yeni şeyler öğretiyor.
 
Değişik özgün bir çözüm kullanmışsın çok güzel. Bu proje oldukça fazla yeni şey öğrendin galiba. En iyi öğrenme şekli de bu zaten, bir an önce sonuca ulaşmak istiyorsun bu da senin motivasyonun oluyor, sonuca ilerlerken karşılaştığın zorluklar da sana yeni şeyler öğretiyor.
Evet. Artık eskisi kadar çok soru sorma ihtiyacı duymuyorum. Bazı soruları beyin yanıtlar hale geldi. Yine de koca deryada sadece 1 balık tutmuş olarak düşünüyorum kendimi. Daha tutulacak çok balık var :)
 
Buradaki kodu hep para giriş yaptı olarak düşündüm... Neden para girişi olmadan sürekli servoyu hareket ettiriyor?
Para yokken ldr hep 1. Servo 106 derecede beklemede.
Para kanala girip ldr önüne düşüyor ve servo kolu tarafından durduruluyor. Bu sırada LDR değeri 0 oluyor.
LDR değeri 0 olunca servo 1'er derece ilerlemeye başlıyor.
Eğer LDR değeri 1 olduysa, yani servo kolu yeterince ilerleyip parayı düşürdü ise if komutu içindeki işlemleri yapıyor.
 
Merhaba kolay gelsin benimde bir projem var bozuk para ayırma makinesi takıldığım nokta paraları saydırmaktı sizin yaptığınız projedeki mantıkla yapılabilir gibi duruyor yardımcı olabilirmsiniz? WhatsApp numaramı bırakıyorum yardımcı olursanız çok sevinirim.
 
Last edited by a moderator:
Merhaba kolay gelsin benimde bir projem var bozuk para ayırma makinesi takıldığım nokta paraları saydırmaktı sizin yaptığınız projedeki mantıkla yapılabilir gibi duruyor yardımcı olabilirmsiniz? WhatsApp numaramı bırakıyorum yardımcı olursanız çok sevinirim.
Tabi yardımcı olurum. Ama whatsapp'a gerek yok. Buradan çözebiliriz sorunları. Hem benim takıldığım yerde bana da yardımcı olan abilerim var.
Tam olarak nerede takıldınız? Resim yada kod olarak paylaşırsanız çözmeye çalışalım.
 
Tabi yardımcı olurum. Ama whatsapp'a gerek yok. Buradan çözebiliriz sorunları. Hem benim takıldığım yerde bana da yardımcı olan abilerim var.
Tam olarak nerede takıldınız? Resim yada kod olarak paylaşırsanız çözmeye çalışalım.
Şimdi şöyle ben üniversiteye başladım tabi pandemiden dolayı hiç yüzyüze ders göremedik ve bu programlama işi gerçekten internetten videolarla biryere kadar öğreniliyor açık konuşayım abi benim şuanki bilgimle hiçbirşey yapamıyorum burda kullanıdığınız devre elamanlarını falan araştırdım biraz ama dediğim gibi benim sıkıntım temelden
 
Şu anda elinde hangi elektronik ekipmanlar var? Arduino var mı? Multimetre? Havya? El aletler?

Şu anki bilgi seviyen önemli değil. Elektronik hakkında HİÇBİRŞEY bilmiyorsan bile önemli değil. Önemli olan öğrenmek istiyor musun? İstiyorsan o zaman biraz çaba göstermen lazım. Şimdiye kadar neler yaptın? Hangi sorunlarla karşılaştın bunları da belirt. Test kurulumunun resimlerini paylaş.
 
Şu anda elinde hangi elektronik ekipmanlar var? Arduino var mı? Multimetre? Havya? El aletler?

Şu anki bilgi seviyen önemli değil. Elektronik hakkında HİÇBİRŞEY bilmiyorsan bile önemli değil. Önemli olan öğrenmek istiyor musun? İstiyorsan o zaman biraz çaba göstermen lazım. Şimdiye kadar neler yaptın? Hangi sorunlarla karşılaştın bunları da belirt. Test kurulumunun resimlerini paylaş.
Elimde arduino var onun dışında başka hiçbirşeyim yok mekanik kısımlarını birşekilde hallettim gibi benim için önemli olan kısım şu devrede kullanılan elemanlar ve devre şemaları birde arduino kodu tabiki diyebilirsiniz hazıra kaçmak oluyor bu ama elimde hiçbirşey olmadan yol alamıyorum hangi malzemeler lazım bilmiyorum mesala ben sadece bunları öğrenmek istiyorum hazıra konmak istemem
 
Öncelikle bir multimetre ve havya seti alman lazım. Her seferinde hatasız program yazılamıyor, sorunlar çıkıyor. Çıktığı zaman da problem aramak için sağda solda ölçüm yapman lazım.

Aşağıdaki konuyu incele ve bunlardan alabildiklerini aşama aşama al. Veya ailene aldır. En önemlisi multimetre ve havya seti ve bazı temel el aletleri.

 
Öncelikle bir multimetre ve havya seti alman lazım. Her seferinde hatasız program yazılamıyor, sorunlar çıkıyor. Çıktığı zaman da problem aramak için sağda solda ölçüm yapman lazım.

Aşağıdaki konuyu incele ve bunlardan alabildiklerini aşama aşama al. Veya ailene aldır. En önemlisi multimetre ve havya seti ve bazı temel el aletleri.

Teşekkür ederim sağolun gökhan abi projenin dökümanlarını paylaşabilirmisin benimle
 
Teşekkür ederim sağolun gökhan abi projenin dökümanlarını paylaşabilirmisin benimle
Paylaşacağım ama döküman derken kodlar var elimde. Dökümandan kastın kasa ölçüleri filansa ben onları ezbere yapıyorum. İşin açıkçası projeyide daha bitirmedim. Şimdi sana kodları versem sonra değiştirme ihtimalim de var. Ayrıca bazı gerekli malzemelerin yoksa yapamazsın. Mesela havya, lehim teli filan şart.
 
Paylaşacağım ama döküman derken kodlar var elimde. Dökümandan kastın kasa ölçüleri filansa ben onları ezbere yapıyorum. İşin açıkçası projeyide daha bitirmedim. Şimdi sana kodları versem sonra değiştirme ihtimalim de var. Ayrıca bazı gerekli malzemelerin yoksa yapamazsın. Mesela havya, lehim teli filan şart.
Abi benim burda bi abinin atölyesi var onun yanına gitmeyi düşünüyorum çalışmak için bana lazım olan kodlar kullandığın malzemeler bide devre şemaları şimdiden teşekkür ediyorum
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,953
Mesajlar
118,778
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top