Şimdi Ara

Arduino Serial Print Sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
8
Cevap
0
Favori
195
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar. Sizlere bir kou hakkında danışmak istedim. Az önce ufak çaplı bir proje yaptım. Bluetooth'tan '1' değeri gelince Led yanacak ve Serial Port'a bildirme yazısı gidecek. Ben bu bildirme yazısının 1 kere gitmesini istiyorum.

    Kod aşağıdaki gibidir:


    if (veri=='1'){

    Serial.println("Anlaşıldı Kaptan; Led, 1 saniye içinde yanacak. ");

    delay(1000);

    digitalWrite(KLed, HIGH);

    delay(1000);

    }


    Kısaca veri değişkeni 1 olunca Serial Port'a bildiri gidiyor ve 1 saniye sonra led yanıyor. Ama bu kod ile Serial Port'a aynı yazı sürekli olarak gidiyor.

    İstediğim bu yazı 1 kere gidecek ve led yanacak. Devre sonraki kodu bekleyecek. Nasıl yapabilirim.


    Arduino Serial Print Sorunu







  • Yeni bir şey fark ettim. Eklemek istedim. HC-05 modülden 1 değeri gelince; Arduino üzerindeki TX ışığı sürekli olarak veri aldığından yanıyor. Bluetooth tan sürekli veri çekiyor. Sorunu çözmenize yardımcı olabilir.

  • Yeni birşey daha farkettim. Telefonumdaki Arduino Bluetotth Control uygulaması ile HC-05 modülüne bağlanınca uygulamadan gönderdiğim komut sürekli olarak gönderiliyor. Yani 1 ledi Bluetooth ile yakarsam sadece Bluetooth ile kapatabilirim. Yani ledi farklı bir komut ile kapatmak istesemde telefonumdaki uygulamadan gelen "aç" komutu sürekli olarak geliyor. Ve tekrar led yanıyor.

  • While komutunu araştır. Öğren. Onu kullanarak işlemi bir defa yaptırabilirsin. Sürekli veri almak istemiyorsan da öncesinde bir anahtarlama yapabilirsin. ''Eğer burası 1 ise veri geliyor mu diye bak'' gibi.

  • Ledi kısa üre yakıp söndürseniz dahi ilgili tetikleyici uç HIGH yani tetik halinde olduğundan tekrar edecektir. Bunu engellemek için döngü sonuna pinin LOWa düşmesi şartıyla döngünün bitirilmesi komutunu eklersiniz ve ilgili pin low olmadan tekrar led yakma satırına dönmez. Tabi ledi yaktıktan sonra söndürmesi komutunu da vermelisiniz.


    1-->lpin HIGHsa ledi yak

    2-->bekle, ledi söndür

    3-->pin low ise başa dön


    Lowdan HIGHa geçiş anını tespit eden bir komut da olmalıydı. BU sayede ilgili pin lowa düşmeden işlem tekrarı olmaz. AYnı pin HIGHda kalsa da işi yapmaz.


    NOT--> her çözümün avantajı dezavantajı olur, fikir versin diye yazdım.




    < Bu mesaj bu kişi tarafından değiştirildi karafetva -- 14 Ekim 2022; 17:11:13 >
  • OglumGeldinMi O kullanıcısına yanıt

    Biraz daha açarmısın anlatmak istediğini örnek kod gibi mesela? Lütfen.

  • modülün kesme pini var mı? varsa dış kesme kurun. kesme gelince veri 1'e eşitse ledi yaksın seri porta yazdırsın. dış kesme tetiklendiğinde fonksiyon yalnızca bi kere çalışır.

  • Yapay Zeka’dan İlgili Konular
    laptop Print(insert) tuşu
    18 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.