ток вместо кнопки я переключаю рукой)))) это моя суперспособность ?))) примерная схема подключения Код (C++): #define BLED 9 //9 контакт для синего вывода RGB-светодиода #define GLED 10 //10 контакт для зеленого вывода RGB-светодиода #define RLED 11 //11 контакт для красного вывода RGB-светодиода #define BUTTON 2 //2 контакт для кнопки boolean lastButton = LOW; //предыдущее состояние кнопки boolean currentButton = LOW; //текущее состояние кнопки int ledMode = 0; //статус RGB-светодиода void setup() { pinMode (BLED, OUTPUT); //Устанавливаем контакт BLED(Blue LED, т.е 9 контакт) как выход pinMode (GLED, OUTPUT); //Устанавливаем контакт GLED(Green LED, т.е 9 контакт) как выход pinMode (RLED, OUTPUT); //Устанавливаем контакт RLED(Red LED, т.е 9 контакт) как выход pinMode (BUTTON, INPUT); //Устанавливаем контакт BUTTON(т.е. 2 контакт) как вход(опционально) } void loop() { currentButton = debounce(lastButton); //считываем состояние кнопки с применением "антидребезга" if (lastButton == LOW && currentButton == HIGH) //если кнопка была нажата { ledMode++; //инкрементируем значение переменной } lastButton = currentButton; //сохраняем текущее состояние кнопки в предыдущее if (ledMode == 9) ledMode = 0; //если прошли по циклу все режимы свечения светодиода, делаем сброс до 0 setMode(ledMode); //изменить режим светодиода } boolean debounce(boolean last) { boolean current = digitalRead(BUTTON); //считываем состояние кнопки if (last != current) //если есть изменения { delay(5); //ждем 5мс current = digitalRead(BUTTON); //считываем состояние кнопки } return current; //возвращаем, считанное состояние кнопки } void setMode(int mode) { if (mode == 1) { analogWrite(RLED, 255); analogWrite(GLED, 0); analogWrite(BLED, 0); } //Зеленый else if (mode == 2) { analogWrite(RLED, 0); analogWrite(GLED, 255); analogWrite(BLED, 0); } //Синий else if (mode == 3) { analogWrite(RLED, 0); analogWrite(GLED, 0); analogWrite(BLED, 255); } //Пурпурный(Красный + Синий) else if (mode == 4) { analogWrite(RLED, 255); analogWrite(GLED, 165); analogWrite(BLED, 0); } //Бирюзовый(Синий + Зеленый) else if (mode == 5) { analogWrite(RLED, 0); analogWrite(GLED, 255); analogWrite(BLED, 255); } else if (mode == 6) { analogWrite(RLED, 255); analogWrite(GLED, 255); analogWrite(BLED, 0); } else if (mode == 7) { analogWrite(RLED, 255); analogWrite(GLED, 255); analogWrite(BLED, 255); } else if (mode == 8) { analogWrite(RLED, 255); analogWrite(GLED, 0); analogWrite(BLED, 255); } //Выключен else { digitalWrite(RLED, LOW); digitalWrite(GLED, LOW); digitalWrite(BLED, LOW); } }
надо вход на общий через резистор - там где кнопка - стянуть P.S. а вот мне мама говорила когда я был маленький - что ревит горстями есть нельзя - а то вырастут тити как у тётенек
началось в колхозе имени Леонида Ильича - утро - хорошо что я баиньки - Паровозз - айда спать - завтра дотрещим