Добрый вечер. я только начал заниматься программированием, поэтому прошу сильно не бить хочу с компа управлять несколькими розетками, проведя в инете нашел и понял как сделать, но работает только одно реле, а мне надо несколько реле вкл и выкл, как правильно дополнить ? int val = 0; int LedPin = 13; int LedPin1 = 12; void setup() { Serial.begin(9600); pinMode(LedPin, OUTPUT); pinMode(LedPin1, OUTPUT); } void loop() { if (Serial.available() > 0) { val = Serial.read(); if (val == 'L') { digitalWrite(LedPin, HIGH); } else if (val == 'q') { digitalWrite(LedPin, LOW); } } }
Я хоть сам особо не силён. Но причём тут int LedPin = 13; int LedPin1 = 12; Вот это и реле? На сколько я понимаю это управление разного рода светодиодами.
Я низнаю на сколько правильно. Я сам блин нуб ещё тот но дальше дописываеш { if (val == 'W') { digitalWrite(LedPin2, HIGH); } else if (val == 'R') { digitalWrite(LedPin2, LOW); } Как то так. И так далее. Я думаю так
Я с планшета пишу,а с него писец как не удобно все это писать,чтоб его дописать мне минут 20надо. К том уже если честно я низнаю правильно ли я тебе подсказывают,я говорю,я тот же нуб)))) просто допиши ниже что я тебе написал и попробуй,должно 2реле работать,если заработает,я тебе дальше распаду как ещё дописать. Про скобки только не забудь.
Код (C++): int x; // глобальная переменная void setup() { Serial.setTimeout(1000); // timeout duration in milliseconds (long). It defaults to 1000 milliseconds. Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); } void loop() { serialMainMenu(); } void serialMainMenu() // draw a menu on the serial port { Serial.println( "\n----------- MENU ------------" ); Serial.println( "C - Input command only" ); Serial.println( "V - Input command with value" ); Serial.println( "R - Restart" ); Serial.println( "H - Help" ); Serial.println( "-----------------------------" ); Serial.println("Please input hotkey:\n"); while(!Serial.available()); byte key; if(Serial.available()) { key = Serial.read(); switch(key) { case 'c': serialSubmenuCommand(); break; case 'C': serialSubmenuCommand(); break; case 'v': serialSubmenuComValue(); break; case 'V': serialSubmenuComValue(); break; case 'r': serialRestart(); break; case 'R': serialRestart(); break; case 'h': serialHelp(); break; case 'H': serialHelp(); break; default: Serial.println("Unknown hoktey! Try again.\n"); // wrong character! display the menu again! break; } } } void serialSubmenuComValue() // Ввод команды с числовым параметром, через пробел: left 55 { Serial.println("Enter text command and value com separator. Example: led 87"); while(!Serial.available()); String command; if(Serial.available() > 0) { command = Serial.readStringUntil(' '); x = Serial.parseInt(); Serial.print(">I received: command = "); Serial.print(command); Serial.print(", x = "); Serial.println(x); if(command == "led") { analogWrite(A0, x); Serial.print(">pin A0 is set to "); Serial.println(x); } } } void serialSubmenuCommand() // Ввод команды без числовых параметров: power on { Serial.println("Enter text command. Enter \"M\" to return to Main Menu. Example: led on/off"); while(!Serial.available()); String command = ""; char character; while(Serial.available()) { command = Serial.readString(); } if(command != "") { if(command == "led on") { digitalWrite(LED_BUILTIN, HIGH); Serial.println(">LED on pin 13 is ON"); } else if(command == "led off") { digitalWrite(LED_BUILTIN, LOW); Serial.println(">LED on pin 13 is OFF"); } else if(command == "m" || command == "M" || command == "menu") { serialMainMenu(); } } else Serial.println("Unknown command!"); serialSubmenuCommand(); } void serialRestart() { Serial.println( "cRestarting... \n" ); serialMainMenu(); } void serialHelp() { Serial.println( "----------- HELP ------------" ); Serial.println( "Bla-bla-bla"); Serial.println( "-----------------------------" ); Serial.println( "Press input anything to return to Main Menu"); while(!Serial.available()); serialMainMenu(); } Запустить "как есть", понять как оно работает. Ненужное выкинуть, остальное доработать. Делов на 7 минут
Вот понять как оно работает это самое сложное!!!! Я так и не могу осилить понимание,вроде просто,а не разберешся