سلام
من دوتا رله دارم و دوتا کلید وقتی که میخوام کلید دو حالته اول را وصل کردم اگر کلید دوم که به پین 5 وصله اگر روشن بود رله اول فعال شود و اگر قطع بود رله دوم فعال شود و با قطع کلید اول ، هر دو رله خاموش شوند
مقاومت داخلی رله ها را فعال کردم
کلید اول به پین سه وصله
کلید دوم به پین 5
رله اول به پین 10
رله دوم به پین دوازده
هر کاری می کنم خطا میده
در حالت تکی هر دو کلید درست کار می کنن یعنی میگم کلید یک وقتی وصل میشه هر دو رله را روشن کن و روشن میشن و موقع قطع کلید قطع میشن ولی تا میام شرط میزارم درست کار نمیکنن
این در حالت تک کلید که درست کار میکنه
و بعد از این کد کدی که دو کلید کار نمیکنه را میزارم
const int buttonPin = 3; // پین اتصال کلید
const int relayPin1 = 10; // پین اتصال رله 1
const int relayPin2 = 12; // پین اتصال رله 2
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // تنظیم پین کلید به عنوان ورودی با مقاومت Pull-up داخلی
pinMode(relayPin1, OUTPUT); // تنظیم پین رله 1 به عنوان خروجی
pinMode(relayPin2, OUTPUT); // تنظیم پین رله 2 به عنوان خروجی
digitalWrite(relayPin1, LOW); // اطمینان از خاموش بودن رله 1 در ابتدا
digitalWrite(relayPin2, LOW); // اطمینان از خاموش بودن رله 2 در ابتدا
}
void loop() {
int buttonState = digitalRead(buttonPin); // خواندن وضعیت کلید
// اگر کلید فعال باشد (فشرده شود و پین 3 به حالت LOW برود)
if (buttonState == LOW) {
digitalWrite(relayPin1, HIGH); // فعال کردن رله 1
digitalWrite(relayPin2, HIGH); // فعال کردن رله 2
} else { // اگر کلید غیرفعال باشد (رها شود و پین 3 به حالت HIGH برگردد)
digitalWrite(relayPin1, LOW); // خاموش کردن رله 1
digitalWrite(relayPin2, LOW); // خاموش کردن رله 2
}
}
************************************************** *******اینم کدی که درست کار نمیکنه البته چند راه را امتحان کردم
const int buttonPin = 3; // پین اتصال کلید
const int relayPin1 = 10; // پین اتصال رله 1
const int relayPin2 = 12; // پین اتصال رله 2
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // تنظیم پین کلید به عنوان ورودی با مقاومت Pull-up داخلی
pinMode(relayPin1, OUTPUT); // تنظیم پین رله 1 به عنوان خروجی
pinMode(relayPin2, OUTPUT); // تنظیم پین رله 2 به عنوان خروجی
digitalWrite(relayPin1, LOW); // اطمینان از خاموش بودن رله 1 در ابتدا
digitalWrite(relayPin2, LOW); // اطمینان از خاموش بودن رله 2 در ابتدا
}
void loop() {
int buttonState = digitalRead(buttonPin); // خواندن وضعیت کلید
// اگر کلید فعال باشد (فشرده شود و پین 3 به حالت LOW برود)
if (buttonState == LOW) {
digitalWrite(relayPin1, HIGH); // فعال کردن رله 1
digitalWrite(relayPin2, HIGH); // فعال کردن رله 2
} else { // اگر کلید غیرفعال باشد (رها شود و پین 3 به حالت HIGH برگردد)
digitalWrite(relayPin1, LOW); // خاموش کردن رله 1
digitalWrite(relayPin2, LOW); // خاموش کردن رله 2
}
}
من دوتا رله دارم و دوتا کلید وقتی که میخوام کلید دو حالته اول را وصل کردم اگر کلید دوم که به پین 5 وصله اگر روشن بود رله اول فعال شود و اگر قطع بود رله دوم فعال شود و با قطع کلید اول ، هر دو رله خاموش شوند
مقاومت داخلی رله ها را فعال کردم
کلید اول به پین سه وصله
کلید دوم به پین 5
رله اول به پین 10
رله دوم به پین دوازده
هر کاری می کنم خطا میده
در حالت تکی هر دو کلید درست کار می کنن یعنی میگم کلید یک وقتی وصل میشه هر دو رله را روشن کن و روشن میشن و موقع قطع کلید قطع میشن ولی تا میام شرط میزارم درست کار نمیکنن
این در حالت تک کلید که درست کار میکنه
و بعد از این کد کدی که دو کلید کار نمیکنه را میزارم
const int buttonPin = 3; // پین اتصال کلید
const int relayPin1 = 10; // پین اتصال رله 1
const int relayPin2 = 12; // پین اتصال رله 2
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // تنظیم پین کلید به عنوان ورودی با مقاومت Pull-up داخلی
pinMode(relayPin1, OUTPUT); // تنظیم پین رله 1 به عنوان خروجی
pinMode(relayPin2, OUTPUT); // تنظیم پین رله 2 به عنوان خروجی
digitalWrite(relayPin1, LOW); // اطمینان از خاموش بودن رله 1 در ابتدا
digitalWrite(relayPin2, LOW); // اطمینان از خاموش بودن رله 2 در ابتدا
}
void loop() {
int buttonState = digitalRead(buttonPin); // خواندن وضعیت کلید
// اگر کلید فعال باشد (فشرده شود و پین 3 به حالت LOW برود)
if (buttonState == LOW) {
digitalWrite(relayPin1, HIGH); // فعال کردن رله 1
digitalWrite(relayPin2, HIGH); // فعال کردن رله 2
} else { // اگر کلید غیرفعال باشد (رها شود و پین 3 به حالت HIGH برگردد)
digitalWrite(relayPin1, LOW); // خاموش کردن رله 1
digitalWrite(relayPin2, LOW); // خاموش کردن رله 2
}
}
************************************************** *******اینم کدی که درست کار نمیکنه البته چند راه را امتحان کردم
const int buttonPin = 3; // پین اتصال کلید
const int relayPin1 = 10; // پین اتصال رله 1
const int relayPin2 = 12; // پین اتصال رله 2
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // تنظیم پین کلید به عنوان ورودی با مقاومت Pull-up داخلی
pinMode(relayPin1, OUTPUT); // تنظیم پین رله 1 به عنوان خروجی
pinMode(relayPin2, OUTPUT); // تنظیم پین رله 2 به عنوان خروجی
digitalWrite(relayPin1, LOW); // اطمینان از خاموش بودن رله 1 در ابتدا
digitalWrite(relayPin2, LOW); // اطمینان از خاموش بودن رله 2 در ابتدا
}
void loop() {
int buttonState = digitalRead(buttonPin); // خواندن وضعیت کلید
// اگر کلید فعال باشد (فشرده شود و پین 3 به حالت LOW برود)
if (buttonState == LOW) {
digitalWrite(relayPin1, HIGH); // فعال کردن رله 1
digitalWrite(relayPin2, HIGH); // فعال کردن رله 2
} else { // اگر کلید غیرفعال باشد (رها شود و پین 3 به حالت HIGH برگردد)
digitalWrite(relayPin1, LOW); // خاموش کردن رله 1
digitalWrite(relayPin2, LOW); // خاموش کردن رله 2
}
}
دیدگاه