#include <RHReliableDatagram.h>
#include <RH_ASK.h>
#include <SPI.h>
#define SUNUCU_ADRESI 1
#define ROBOT_ADRESI 2
unsigned int vericiUcu = 10;
unsigned int aliciUcu = 12;
RH_ASK robotVerici(2000, aliciUcu, vericiUcu, 0);
RHReliableDatagram radyoIletisimi(robotVerici, ROBOT_ADRESI);
void setup()
{
Serial.begin(9600);
if (!radyoIletisimi.init())
Serial.println("Radyo haberleşmesi başarısız oldu");
}
uint8_t veri[] = "Ne yaptın be yaa!";
uint8_t bellek[RH_ASK_MAX_MESSAGE_LEN];
void loop()
{
Serial.println("Sunucuya bilgileri gönderiyorum");
// Sunucuya bir veri gönder
if (radyoIletisimi.sendtoWait(veri, sizeof(veri), SUNUCU_ADRESI))
{
// Şimdi sunucudan yanıt bekle
uint8_t uzunluk = sizeof(bellek);
uint8_t kimden;
if (radyoIletisimi.recvfromAckTimeout(bellek, &uzunluk, 2000, &kimden))
{
Serial.print("Adresi ");
Serial.print("0x");
Serial.print(kimden, HEX);
Serial.print(" olan sunucudan yanıt aldım : ");
Serial.println((char*) bellek);
}
else
{
Serial.println("Yanıt yok. Sunucu çalışıyor mu?");
}
}
else
Serial.println("Veriyi tekrar tekrar gönderme denemesi başarısız oldu");
delay(500);
}
#include <RHReliableDatagram.h>
#include <RH_ASK.h>
#include <SPI.h>
#define SUNUCU_ADRESI 1
#define ROBOT_ADRESI 2
unsigned int aliciUcu = 2;
unsigned int vericiUcu = 12;
RH_ASK sunucuVerici(2000, aliciUcu, vericiUcu, 0);
RHReliableDatagram radyoIletisimi(sunucuVerici, SUNUCU_ADRESI);
void setup()
{
Serial.begin(9600);
if (!radyoIletisimi.init())
Serial.println("Radyo haberleşmesi başarısız oldu");
}
uint8_t veri[] = "Aynı be yaa. Sen ne yaptın be yaa?";
uint8_t bellek[RH_ASK_MAX_MESSAGE_LEN];
void loop()
{
if (radyoIletisimi.available())
{
uint8_t uzunluk = sizeof(bellek);
uint8_t kimden;
if (radyoIletisimi.recvfromAck(bellek, &uzunluk, &kimden))
{
Serial.print("Adresi ");
Serial.print("0x");
Serial.print(kimden, HEX);
Serial.print(" olan robottan yanıt aldım : ");
Serial.println((char*) bellek);
}
// Yanıtı alıcıya tekrar gönder
if (!radyoIletisimi.sendtoWait(veri, sizeof(veri), kimden))
Serial.println("Veriyi tekrar tekrar gönderme denemesi başarısız oldu");
}
}
#include <RHReliableDatagram.h>
#include <RH_ASK.h>
#include <SPI.h>
#define SUNUCU_ADRESI 1
#define ROBOT_ADRESI 2
#define SAGA_GIT "Sağa git"
#define SOLA_GIT "Sola git"
#define ILERI_GIT "İleri git"
#define GERI_GIT "Geri git"
#define DUR "Dur"
#define SAG_ISIGI 4
#define SOL_ISIGI 7
#define ILERI_ISIGI 8
unsigned int aliciUcu = 2;
unsigned int vericiUcu = 12;
bool hareketEdiyor = false;
RH_ASK robotVerici(2000, aliciUcu, vericiUcu, 0);
RHReliableDatagram radyoIletisimi(robotVerici, ROBOT_ADRESI);
void setup()
{
Serial.begin(9600);
pinMode(SAG_ISIGI, OUTPUT);
pinMode(SOL_ISIGI, OUTPUT);
pinMode(ILERI_ISIGI, OUTPUT);
if (!radyoIletisimi.init())
Serial.println("Radyo haberleşmesi başarısız oldu");
}
uint8_t bellek[RH_ASK_MAX_MESSAGE_LEN];
uint8_t komut[RH_ASK_MAX_MESSAGE_LEN];
bool durumaGoreBekle(unsigned long sure)
{
unsigned long bitis = millis() + sure;
while (millis() < bitis)
{
if (radyoIletisimi.available())
{
return true;
}
delay(10); /* duruma göre değişebilir */
}
return false;
}
void sagaHareketEt()
{
Serial.println("------------");
Serial.println("Sağa gidiyorum");
Serial.println("------------");
for (int i = 0; i < 3; ++i)
{
digitalWrite(SAG_ISIGI, HIGH);
durumaGoreBekle(1000);
digitalWrite(SAG_ISIGI, LOW);
durumaGoreBekle(1000);
}
}
void solaHareketEt()
{
Serial.println("------------");
Serial.println("Sola gidiyorum");
Serial.println("------------");
for (int i = 0; i < 3; ++i)
{
digitalWrite(SOL_ISIGI, HIGH);
durumaGoreBekle(1000);
digitalWrite(SOL_ISIGI, LOW);
durumaGoreBekle(1000);
}
}
void komutuIsle(char* komut)
{
if (strcmp(komut, SAGA_GIT) == 0)
{
sagaHareketEt();
}
else if (strcmp(komut, SOLA_GIT) == 0)
{
solaHareketEt();
}
}
void loop()
{
uint8_t veri[] = "Aynı be yaa. Sen ne yaptın be yaa?";
if (radyoIletisimi.available())
{
uint8_t uzunluk = sizeof(bellek);
uint8_t kimden;
if (radyoIletisimi.recvfromAck(bellek, &uzunluk, &kimden))
{
Serial.print("Adresi ");
Serial.print("0x");
Serial.print(kimden, HEX);
Serial.print(" olan sunucudan komut aldım : ");
Serial.println((char*) bellek);
}
// Yanıtı sunucuya tekrar gönder
if (!radyoIletisimi.sendtoWait(veri, sizeof(veri), kimden))
Serial.println("Veriyi tekrar tekrar gönderme denemesi başarısız oldu");
strncpy(komut, bellek, sizeof(komut));
komutuIsle(komut);
}
}
#include <RHReliableDatagram.h>
#include <RH_ASK.h>
#include <SPI.h>
#define SUNUCU_ADRESI 1
#define ROBOT_ADRESI 2
#define SAGA_GIT "Sağa git"
#define SOLA_GIT "Sola git"
#define ILERI_GIT "İleri git"
#define GERI_GIT "Geri git"
#define DUR "Dur"
#define SUNUCU_GECIKMESI 500
unsigned int vericiUcu = 10;
unsigned int aliciUcu = 12;
RH_ASK sunucuVerici(2000, aliciUcu, vericiUcu, 0);
RHReliableDatagram radyoIletisimi(sunucuVerici, SUNUCU_ADRESI);
void setup()
{
Serial.begin(9600);
if (!radyoIletisimi.init())
Serial.println("Radyo haberleşmesi başarısız oldu");
}
uint8_t bellek[RH_ASK_MAX_MESSAGE_LEN];
void veriGonder(uint8_t * veri, uint8_t uzunluk)
{
Serial.println("Robota komutları gönderiyorum");
// Robota bir komut gönder
if (radyoIletisimi.sendtoWait(veri, uzunluk, ROBOT_ADRESI))
{
// Şimdi robottan yanıt bekle
uint8_t kimden;
if (radyoIletisimi.recvfromAckTimeout(bellek, &uzunluk, 2000, &kimden))
{
Serial.print("Adresi ");
Serial.print("0x");
Serial.print(kimden, HEX);
Serial.print(" olan robottan yanıt aldım : ");
Serial.println((char*) bellek);
}
else
{
Serial.println("Yanıt yok. Robot çalışıyor mu?");
}
}
else
Serial.println("Veriyi tekrar tekrar gönderme denemesi başarısız oldu");
delay(SUNUCU_GECIKMESI);
}
void loop()
{
veriGonder(SAGA_GIT, sizeof(SAGA_GIT));
veriGonder(SOLA_GIT, sizeof(SOLA_GIT));
veriGonder(ILERI_GIT, sizeof(ILERI_GIT));
veriGonder(DUR, sizeof(DUR));
veriGonder(GERI_GIT, sizeof(GERI_GIT));
veriGonder(DUR, sizeof(DUR));
}
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?