Şimdi Ara

2 arduino haberleşmesi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
13
Cevap
0
Favori
3.032
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşları elimde iki tane arduino var. bunlardan biriyle elde ettiğim değerlerinin büyüklük küçüklük karşılaştırmasıni yaptıktan sonra elde ettiğim değeri bir değişkene atayıp bu değişkeninde 2. arduinoda bir fonksiyonu tetiklemesini istiyorum. bunu 3 ayrı değerin en büyük olduğu değere göre yapmak istiyoruz. örneğin 1. verinin en büyük olduğu için a, 2.verinin en büyük olduğu durum için b, 3.verinin en büyük olduğu için c değişkenlerini karşı tarafa yollayıp her bir değişkenin ayrı fonksiyonları çalıştırmasını istiyorum. anlatırken kolay görünüyor ama işin içinden çıkamadım. yardım edebiliriseniz çok sevinirim.



  • Bilgisayarla Serial bağlantısı kurduğun gibi 2 arduino arasında da kurabilirsin. Bu sefer USB kablosu değil de, dijital pinlerin en başındaki Tx ve Rx pinlerini kullanman lazım. Tx pini veriyi gönderir, Rx alır. Bir Arduino'nun Tx'i diğerinin Rx'ine bağlanacak şekilde kur devreyi, sonra her zamanki gibi Serial.write() falan filan haberleşmeni yap. Dikkat etmen gereken şey, eğer elindeki Arduino Mega değilse sadece tek bir Serial bağlantısı kurabilirsin. Bu da demek oluyor ki eğer boardlardan biri USB üzerinden bir bilgisayara bağlıysa o bahsettin verileri elde etmek için mesela, Arduinolarını birbirine Serial'la bağlayamazsın. Bu durumda ya I2C kullanman gerekir, ya da direk dijital pinleri birbirine bağlayıp 1/0 üzerinden diğer boarda bir şey anlatman.
  • o zaman 2 arduinoyuda prizden adaptörle mi beslemem gerek?
  • Yoo USB kablosu sadece güç almak için de kullanılabilir. Herhangi bir veri alışverişi olmadığı sürece sıkıntı yok.

    Bu arada iki Arduino'nun groundlarını da birbirine eşitlemen gerekebilir, emin değilim.
  • Peki hocam son bir soru.


    { digitalWrite(ledk1,HIGH); digitalWrite(ledy1,LOW); digitalWrite(ledk2,LOW); digitalWrite(ledy2,HIGH);

    delay(1000);

    digitalWrite(ledk1,LOW); digitalWrite(ledy1,HIGH); digitalWrite(ledk2,HIGH); digitalWrite(ledy2,LOW);

    delay(1500); }

    Burada takıldığım bi nokta var. Delay komutları boyunca fonksiyon duruyor. Bunun gibi cok fazla sinyalizasyon kodum var islenmesi gereken.O yüzden çok uzun bekleme süreleri oluyo. Simdi burada bu delaylerin yerine aynı şeyi yapıp ama arduinoyu bekletmeye almayacak bişey yazmak mümkün mu?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • yok mu bunu bilen arkadaşlar?
  • parametremre P kullanıcısına yanıt
    Malesef bu tip işlemciler aynı anda sadece bir çevrim yapar o an işlenen koda odaklanırlar mümkün değil aynı anda iki işlem yapması

    haberleşme için ise çıkış portlarını kullanın maksimum kaç bitlik veri gönderecekseniz o kadar çıkışı diğer arduino girişine bağlayın
  • peki 2 arduinoyu haberleştirsem sinyalizsyon kodunu yüklemediğim arduionda ki delay ler diğer arduinouyu etkiler mi? ve sağlıklı çalışıyor mu arduino haberleştirmesi? yani şöyle ki arduinon birinden aldığım değer karşı tarafa yollayıp, karşı tarafta gelen bu değere göre bir fonksiyonu tetiklememem mümkün mü?
  • Gençler bende 2 Xbee(1.seri 1mw) modülümü haberleştireceğim. İlk modülüm Arduino uno+Arduino Wireless Proto Shield'ıma takılı usb ile pc'ye taktım.Diğer modül ise Explorer Dongle modülüme takılı.XCTU'da öncelikle bu iki modülümü tanıtmam lazım birbirine fakat arduinodaki com8 portunu xctu'ya ekleyemiyorum bunun nedeni com 8 arduinonun portu olması heralde.Xbee yi nasıl ekleyeceğim eksta dongle mı almalıyım.

    Diğer bir sıkıntım da şu Arduino(setimi) kablosuz şekilde 2.Xbeeime bilgi sinyali iletmem gerek bu nasıl olacak videolar izledim fakat buna benzer bulamadım.Genelde pc ile usb yoluyla bağlıyorlar yardımcı olursanız çok sevindirik olurum.
  • bildiğim kadarıyla serial communication ve wireless communication ile bu mümküm.
  • parametremre P kullanıcısına yanıt
    Selam,
    İnterrupt lar işini görebilir.
    Donanım interruptları ve yazılım ( Timer ? ) interruptları var.
    Programı kaba taslak yazdı isen buradan yardımcı olmaya çalışırım.
    Kolay gelsin.
  • parametremre P kullanıcısına yanıt
    millis();
    kullanabilirsin ,böylece istediğin kadar işlemi zamanı gelince yapar.
  • Hocam merhabalar. Benim sorunum da arkadaşın sorununa yakın. Arduinodaki bir değeri hc 05 ile telefona anlık aktarıyorum. Delay kullanınca malum bekliyor sistem. Kullanmasam değerleri ardı ardına gönderip telefonda Up uzun değerler silsilesi yazdırıyor. Yani 10 değerini gönderiyorsa 101010101010 diye hatta alt satıra geçirerek yazıyor. Bunun önüne milis ile nasıl geceriz@Blacklabel35



    < Bu mesaj bu kişi tarafından değiştirildi kerem3474 -- 25 Ağustos 2018; 17:33:10 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.