Arama butonu
Bu konudaki kullanıcılar: 1 misafir
12
Cevap
3271
Tıklama
0
Öne Çıkarma
2 arduino haberleşmesi
P
11 yıl
Çavuş
Konu Sahibi

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.



1
11 yıl
Teğmen

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.


Bu mesaja 1 cevap geldi.
P
11 yıl
Çavuş
Konu Sahibi

o zaman 2 arduinoyuda prizden adaptörle mi beslemem gerek?


Bu mesaja 1 cevap geldi.
1
11 yıl
Teğmen

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.



P
11 yıl
Çavuş
Konu Sahibi

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ı >
Bu mesaja 4 cevap geldi.
P
11 yıl
Çavuş
Konu Sahibi

yok mu bunu bilen arkadaşlar?



M
11 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @parametremre
P
11 yıl
Çavuş
Konu Sahibi

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ü?



D
11 yıl
Er

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.


Bu mesaja 1 cevap geldi.
C
11 yıl
Er

bildiğim kadarıyla serial communication ve wireless communication ile bu mümküm.



T
11 yıl
Yüzbaşı

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.




Bu mesajda bahsedilenler: @parametremre
B
11 yıl
Çavuş

millis();
kullanabilirsin ,böylece istediğin kadar işlemi zamanı gelince yapar.




Bu mesajda bahsedilenler: @parametremre
K
7 yıl
Teğmen

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ı >


Bu mesajda bahsedilenler: @Blacklabel35
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.