telefon ile ardunioya kablosuz bağlı vericiler üzerindeki röleyi kontrol etme
  • merabalar. Öncelikle yapmak istediğim projeyle ilgili ön bilgi vermek istiyorum. Bir tane santral olacak ve iki tane de kitimiz olacak bu kitler üzerinde 1 adet röle bulunacak. santral ve kitler arasında kablosuz veri iletimi yapılacak. rölelerin enerjilenip enerjilenmeme bilgisi android bir telefondan santrale yine kablosuz aktarılacak.
    şimdi araştırdığım kadarıyla ardunio ile yapmam için; hem kit için hemde merkez olarak belirlenen nokta için ayrı ayrı iki tane arduino kullanmam gerekiyor. şimdi bu arduinolardan birini santral gibi düşündüğümde kitlerden hem bilgi alacak hemde kitlere bilgi verecek aynı zamanda telefon ile rf üzerinden bağlantı sağlayacak. bunun için merkez olarak belirlediğiö arduinoda farklı farklı iki tane alıcı mı kullanmam gerekiyor yoksa merkez olarak belirlediğim arduinoda tek alıcı üzerinden telefon ve kitlere veri alıp gönderebilir miyim ?
  • 1 tane santrale + diğer 2 tane abone için de 2 arduino gerekir. toplam 3 arduino
  • onda hemfikiriz. ben sadece modül olarak kullanılacak alıcı ve vericilerin olayını anlamadım kit ve santal arasında bilgi alışverişi olacak. bunun için hem kite ve santrale hem alıcı hemde vericiyimi koymalıyım. aynı zamanda telefon ile santral rf ile haberleşsin istiyorum telefon içinde santrale alıcı mı koymalıyım yoksa verici mi ? yada tüm bu bağlantıları santrale koyacağım tek bi alıcıdan sağlayabilir miyim ?
  • rf te santrale bir tane alıcı koyabılırsın aboneler santrale her verı yolladıgında once ve hangisini gucu yuksekse onu alır diğeri kaybolur yada hiç birini alamaz cunku kanal diğer verıcı tarafından bastırılmış olur. yollamadan once kanalı dınleyıp sınyal yoksa verı basman lazım aboneden yada aboneler alıcı olarak kanalı dınler santral tek tek herbısıne rf sınyal gonderıp durumunu sorgular ve abone kendı id sinden verı soruluyorsa ona cevap verır.
  • Merhabalar, çalışmamızı yeni yapabildik. Yukarıda daha onceden belirlediğimiz sistemi tasarladık. Sistemi, bir santral arduino ve santral arduinodan veri alan 2 adet alıcı arduino ile oluşturduk. santral arduino ise bleutooth üzerinden aldığı veriye göre alıcılara veri göndererek işlem yapmaktadır. santral ve alıcı arasındaki kablosuz veri iletimi için nRF24L01 modülünü kullanıyoruz. telefondan santral arduinoya ise bluetooth üzerinden veri aktarıyoruz. 2 adet alıcı ve her alıcı üzerinde de 1 ad led bulunmaktadır. Şimdi bluetooth tan santral arduinoya 1. alıcı üzerindeki ledi yakması için veri gönderiyoruz. led yanıyor. kapanması için de gönderdiğimiz zaman led kapanıyor. Aynı işlemi 2. Alıcı üzerindeki led için yaptığımız zamanda çalışıyor. ANCAK 1. alıcı üzerindeki Led yanarken 2. alıcıya ledi yakması için veri gönderdiğimiz de, 1. alıcıda ki led sönüyor daha sonra 2. alıcıdaki Led ile birlikte yanıyor. Benzer şekilde 1. ve 2. alıcı üzerinde yanan Ledlerden herhangi birini söndürmek için bluetoothtan veri gönderdiğimiz de yine aynı sorunla karsılasıyoruz. Sisteme LCD ekran ekledikten sonra bu problem ortaya cıktı. Sistemde bulunan LCD ekran ise 1. veya 2. Alııcıdaki Ledlerin enerjili olup olmadığını ekrana yazmaktadır. LCD devresini Sistemden cıkardığımız zaman Bluetoothtan anlık olarak gönderdiğimiz veriye bağlı olarak ledler hiç aksamadan aynı andan acılıp kapanıyor veya biri acıkken diğerini de actığımız da ilk led sönmüyor. LCD ekran sisteme bağlı iken oluşan aksaklığı ortadan kaldırabilir miyiz ? yani verici arduino aynı anda 2 veriyi 2 f arklı alıcıya aktarabilir mi (nRF24L01 ile ) ?? yazzdığımız yazılım ; VERİCİ #include < SPI.h> #include "nRF24L01.h" #include "RF24.h" //Kütüphanenin yüklenmesi #include < LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); int data; int LED1 = 3; int LED2 = 5; int mesaj[1];//mesaj isminde bir dizi tanımladık RF24 verici(7, 8); //kullanılan pinleri tanımladık const uint64_t kanal = 0xE8E8F0F0E1LL; //kanalı tanımladık void setup(void) { lcd.begin(); verici.begin(); verici.openWritingPipe(kanal); //kanal ID'sini tanımladık pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); Serial.begin(9600); } void loop(void) { if (digitalRead(LED1) == HIGH & digitalRead(LED2) == LOW) { mesaj[0] = 123; verici.write(mesaj, 1); //mesajı yolladık } if (digitalRead(LED2) == HIGH & digitalRead(LED1) == LOW) { mesaj[0] = 124; verici.write(mesaj, 1); //mesajı yolladık } if (digitalRead(LED1) == HIGH & digitalRead(LED2) == HIGH ) { mesaj[0] = 125; verici.write(mesaj, 1); //mesajı yolladık } if (Serial.available()) { int data = Serial.read(); delay(1); if (data == '1') { digitalWrite(LED1, 1); lcd.clear(); lcd.setCursor(0, 0); lcd.print("LAMBA ACIK"); } if (data == '2') { digitalWrite(LED1, 0); lcd.clear(); lcd.setCursor(0, 0); lcd.print("LAMBA KAPALI"); } if (data == '3') { lcd.clear(); lcd.setCursor(0, 1); lcd.print("PRIZ ACIK"); digitalWrite(LED2, 1); } if (data == '4') { lcd.clear(); lcd.setCursor(0, 1); lcd.print("PRIZ KAPALI"); digitalWrite(LED2, 0); } delay(1); } } 1. ALICI #include < SPI.h> #include "nRF24L01.h" #include "RF24.h" int mesaj[1]; RF24 alici(9, 10); const uint64_t kanal = 0xE8E8F0F0E1LL; int Led = 2; void setup(void) { Serial.begin(9600); alici.begin(); alici.openReadingPipe(1, kanal); alici.startListening(); pinMode(Led, OUTPUT); } void loop(void) { if (alici.available()) { bool done = false; while (!done) { done = alici.read(mesaj, 1); if (mesaj[0] == 123 || mesaj[0] == 125) { delay(10); digitalWrite(Led, HIGH); } else { digitalWrite(Led, LOW); } delay(10); } } } 2. ALICI #include < SPI.h> #include "nRF24L01.h" #include "RF24.h" int mesaj[1]; RF24 alici(9, 10); const uint64_t kanal = 0xE8E8F0F0E1LL; int Led = 2; void setup(void) { Serial.begin(9600); alici.begin(); alici.openReadingPipe(1, kanal); alici.startListening(); pinMode(Led, OUTPUT); } void loop(void) { if (alici.available()) { bool done = false; while (!done) { done = alici.read(mesaj, 1); if (mesaj[0] == 124 || mesaj[0] == 125) { delay(10); digitalWrite(Led, HIGH); } else { digitalWrite(Led, LOW); } delay(10); } } }

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.