شارژر رو عوض کردم درست شد . فقط طول انتن در بهترین حالت از نظر شما چقدره ؟
واسه بافرم کد دیگه ای دریافت میکنه مگه ؟ من فقط نوشتم مثلا اگه کد رضا رو دریافت کرد .... اگر لازمه بی زحمت بگید کد خالی کردن بافر چطوریه .ممنون
شارژر رو عوض کردم درست شد . فقط طول انتن در بهترین حالت از نظر شما چقدره ؟
واسه بافرم کد دیگه ای دریافت میکنه مگه ؟ من فقط نوشتم مثلا اگه کد رضا رو دریافت کرد .... اگر لازمه بی زحمت بگید کد خالی کردن بافر چطوریه .ممنون
طول آنتن یه فرمول داره با بردی که میخواید داده رو ارسال کنید.
http://td.irib.ir/documents/261571/f...5-69d9b11869e2
در مورد بافر هم خیلی ساده
آخر همه if هاتون یه else میزارید و تو دستور مربوط به else تو متغیر بافرتون نال( " " ) میریزید.
همین
تشکر دوستن عزیز.
الان واسه یکی از رله ها که کد روشن و خاموش جداس خالی کردن بافر به این صورت میشه :
if (vw_get_message(buf, &buflen))
{
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') )
{
digitalWrite(led, true);
digitalWrite(relay1, HIGH);
Serial.println("relay1 on");
delay(500);
digitalWrite(led, false);
}
else
buf = "";
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2') )
{
digitalWrite(led, true);
digitalWrite(relay1, LOW);
Serial.println("relay1 off");
delay(500);
digitalWrite(led, false);
}
else
buf = ""
این دستور رو قبول نمیکنه : buf = " ";
باید تمام شماره ها رو نال کنم ؟ buf[0] , buf[1] ,buf[2] ,...
قاطی کردم . مهندس میشه بگی الان واسه این تیکه چطوری این که میفرمایید انجام بدم ؟
if (vw_get_message(buf, &buflen))
{
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') )
{
digitalWrite(led, true);
digitalWrite(relay2, LOW);
Serial.println("relay2 off");
delay(700);
digitalWrite(relay1, HIGH);
Serial.println("relay1 on");
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2') )
{
digitalWrite(led, true);
digitalWrite(relay2, LOW);
Serial.println("relay2 off");
delay(700);
digitalWrite(relay1, LOW);
Serial.println("relay1 off");
digitalWrite(led, false);
}
}
ویرایش توسط feredy2011 : 08-03-2016 در ساعت 12:24 PM
اینجوری نمیتونم کامپایل کنم
کد کاملتو بزار
قسمت های if اش رو اگه میخوای عملیات های توشو پاک کن
#include <VirtualWire.h>
#include <Adafruit_SleepyDog.h>
int rx = 2;
int relay1 = 3;
int relay2 = 4;
int relay3 = 5;
int relay4 = 6;
int relay5 = 7;
int relay6 = 8;
int relay7 = 9;
int relay8 = 10;
int relay9 = 11;
int relay10 = 12;
int led = 13;
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_rx_pin(rx);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
pinMode(relay5, OUTPUT);
pinMode(relay6, OUTPUT);
pinMode(relay7, OUTPUT);
pinMode(relay8, OUTPUT);
pinMode(relay9, OUTPUT);
pinMode(relay10, OUTPUT);
Watchdog.enable(10000);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') )
{
digitalWrite(led, true);
digitalWrite(relay1, HIGH);
Serial.println("relay1 on");
delay(500);
digitalWrite(led, false);
}
else
buf = " ";
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2') )
{
digitalWrite(led, true);
digitalWrite(relay1, LOW);
Serial.println("relay1 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '3') )
{
digitalWrite(led, true);
digitalWrite(relay2, HIGH);
Serial.println("relay2 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '4') )
{
digitalWrite(led, true);
digitalWrite(relay2, LOW);
Serial.println("relay2 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '5') )
{
digitalWrite(led, true);
digitalWrite(relay3, HIGH);
Serial.println("relay3 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '6') )
{
digitalWrite(led, true);
digitalWrite(relay3, LOW);
Serial.println("relay3 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '7') )
{
digitalWrite(led, true);
digitalWrite(relay4, HIGH);
Serial.println("relay4 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '8') )
{
digitalWrite(led, true);
digitalWrite(relay4, LOW);
Serial.println("relay4 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '9') )
{
digitalWrite(led, true);
digitalWrite(relay5, HIGH);
Serial.println("relay5 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '0'))
{
digitalWrite(led, true);
digitalWrite(relay5, LOW);
Serial.println("relay5 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '1'))
{
digitalWrite(led, true);
digitalWrite(relay6, HIGH);
Serial.println("relay6 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '2'))
{
digitalWrite(led, true);
digitalWrite(relay6, LOW);
Serial.println("relay6 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '3'))
{
digitalWrite(led, true);
digitalWrite(relay7, HIGH);
Serial.println("relay7 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '4'))
{
digitalWrite(led, true);
digitalWrite(relay7, LOW);
Serial.println("relay7 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '5'))
{
digitalWrite(led, true);
digitalWrite(relay8, HIGH);
Serial.println("relay8 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '6'))
{
digitalWrite(led, true);
digitalWrite(relay8, LOW);
Serial.println("relay8 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '7'))
{
digitalWrite(led, true);
digitalWrite(relay9, HIGH);
Serial.println("relay9 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '8'))
{
digitalWrite(led, true);
digitalWrite(relay9, LOW);
Serial.println("relay9 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1')&& (buf[5] == '9'))
{
digitalWrite(led, true);
digitalWrite(relay10, HIGH);
Serial.println("relay10 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2')&& (buf[5] == '0'))
{
digitalWrite(led, true);
digitalWrite(relay10, LOW);
Serial.println("relay10 off");
delay(500);
digitalWrite(led, false);
}
}
Watchdog.reset();
}