Необхоимо вместо светодиода поставить 4 силиноида что бы каждый включался от нажатия той-же кнопки по очередно,то есть прописать 8 пинов на каждый селеноид по паре,что бы каждый ключался и выключался по очереди при нажатии на кнопку другими словами: нажал-включился-выключился, потом нажал опять ,но что бы время нажатия я контроллировал.
Вы же можете написать код, который включает и выключает один соленоид? Что-то вроде: Код (Text): void loop() { digitalWrite(SOLENOID_PIN, HIGH); delay(200); digitalWrite(SOLENOID_PIN, LOW); delay(200); } Теперь делаем так, чтобы это происходило при нажатии кнопки: Код (Text): void loop() { while (!digitalRead(BUTTON_PIN)) { // ничего не делаем пока с кнопки не придёт HIGH } digitalWrite(SOLENOID_PIN, HIGH); delay(200); digitalWrite(SOLENOID_PIN, LOW); delay(200); } А затем делаем так, чтобы при каждом следующем прогоне мы работали не с одним SOLENOID_PIN, а очередным с предыдущего раза: Код (Text): #define SOLENOID_COUNT 4 byte solenoidPins[SOLENOID_COUNT] = {3, 4, 5, 6}; byte nextSolenoid = 0; void loop() { while (!digitalRead(BUTTON_PIN)) { // ничего не делаем пока с кнопки не придёт HIGH } digitalWrite(solenoidPins[nextSolenoid], HIGH); delay(200); digitalWrite(solenoidPins[nextSolenoid], LOW); delay(200); // переходим к следующему и сбрасываем в 0, если дошли до последнего nextSolenoid = (nextSolenoid + 1) % SOLENOID_COUNT; }
спасибо огромное , но я нуб в этом, не могли бы вы сохранить это в файл чтобы я смог залить в плату сразу. спасибо!!
Вы действительно не можете скопировать и вставить строки в IDE? Для краткости я опустил некоторые вещи вроде объявления BUTTON_PIN, функцию setup с её выставлением pinMode. Понимаете о чём речь?
даже если прислать файл, толку мало. ведь надо еще чтобы схема подключения соответствовала коду программы. лучше потрптить пару часов и разобраться как что работает. а если и в схемотехнике знания на таком же уровне, существует не нулевая вероятность вообще спалить контроллер.