nRF24L01 Haberleşme sorunu
  • Arkadaşlar merhaba iki nRF24L01 arası haberleşmede sorun yaşıyorum iki arduinoyu ilk açtığımda ilk veriler gidiyor ama sonrasında iletişim olmuyor Verici kodu #include <SPI.h> #include <nRF24L01p.h> #include <String.h> #include <OneWire.h> #include <DallasTemperature.h> #include <EEPROM.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); int kayitAdresi=10; int okunacakAdres=10; nRF24L01p verici(9,10); /* CSN - > 7, CE -> 8 olarak belirlendi */ float kaydedilecekVeri; float okunanVeri; float sicaklik; static char veri[2]; char *selenoid_vana; String eprom_degeri; int daire1_eprom; int hata_led=4; int Vana_led=5; int sys_led=6; int led=7; void setup() { Serial.begin(9600); SPI.begin(); SPI.setBitOrder(MSBFIRST); verici.channel(90); verici.TXaddress("Hasbi"); verici.RXaddress("ok"); verici.init(); sensors.begin(); pinMode(hata_led,OUTPUT); } void Bilgi_Gonder() { okunanVeri = EEPROM.read(okunacakAdres ); sensors.requestTemperatures(); sicaklik = sensors.getTempCByIndex(0); if (okunanVeri >= sicaklik ) {selenoid_vana="0";} else{selenoid_vana="1";}; Serial.print("SICAKLIK = "); Serial.print(sicaklik); Serial.println(" C"); Serial.println(selenoid_vana); eprom_degeri=String(okunanVeri, DEC); dtostrf(sicaklik,5, 2, veri); verici.txPL(veri); verici.txPL(selenoid_vana); verici.txPL(eprom_degeri); boolean gonderimDurumu = verici.send(SLOW); if(gonderimDurumu==true){ Serial.println("mesaji gonderildi"); digitalWrite(hata_led, LOW); }else{ Serial.println("mesaji gonderilemedi"); digitalWrite(hata_led, HIGH); } } void Bilgi_Al() { String met; if (verici.available()){ verici.read(); verici.rxPL(met); Serial.println(met); } } void loop() { Bilgi_Gonder(); Bilgi_Al(); } ALICI KODO #include <SPI.h> #include <nRF24L01p.h> #include <SoftwareSerial.h> #include <Nextion.h> SoftwareSerial nextion(2, 3); Nextion myNextion(nextion, 9600); nRF24L01p alici(7,8); /* CSN - > 7, CE -> 8 olarak belirlendi */ void setup(){ Serial.begin(9600); SPI.begin(); SPI.setBitOrder(MSBFIRST); /* SPI başlatıldı */ alici.channel(90); alici.RXaddress("Hasbi"); alici.TXaddress("ok"); alici.init(); /* Alıcı ayarları yapıldı */ myNextion.init(); } String sicaklik; String selenoid_vana; String eprom_degeri; int vana; String daire1_eprom; void Bilgi_Al(){ if(alici.available()) { /* Modülden veri geldiği sürece while devam edecek */ alici.read(); alici.rxPL(sicaklik); alici.rxPL(selenoid_vana); alici.rxPL(eprom_degeri); vana= selenoid_vana.toInt(); /* Modülden gelen veri okundu */ myNextion.setComponentText("t1", String(sicaklik)); myNextion.setComponentValue("bt1", vana); myNextion.setComponentText("d1", eprom_degeri); } if(sicaklik.length()>0) { Serial.println(sicaklik); Serial.println(selenoid_vana); Serial.println(eprom_degeri); /* modülden gelen veri ekrana yazdırıldı */ sicaklik=""; selenoid_vana=""; eprom_degeri=""; /* eski veri temizlendi */ } } void Bilgi_Gonder(){ String met="aaaaaaa"; alici.txPL(met); alici.send(SLOW); Serial.println(daire1_eprom); } void loop(){ Bilgi_Al(); Bilgi_Gonder(); }

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.