"в том что бы были нажаты 3 кнопки не одновременно". тьфу ты, точно ) интрига развеялась )
Ну, вот облом - я этого не заметил и думал, что ему надо как раз, когда все три одновременно нажаты. А проблема, которую я держал в уме (как раз, как у внука было) примерно такая: "факт нажатия конкретной кнопки отслеживается по её индивидуальному светодиоду, но он же их никогда не гасит! Единожды включившись они горят всегда, даже когда кнопка уже давно отпущена". Отсюда и кажимость, что "всё нажато", а на 13 не светится. Для этого достаточно их все по очереди нажать-отпустить :)))
Надеюсь, ты девочка. А то ведь мы тут дремучие и нетолерантные, можно и по рылу ... :)
Та ладна, вспомни детство и дарагого Леонида Ильича. Даж по программе "Время" регулярно казали и "Голубой вагон", по стране, безпрепятственно рассекал.))))
А тут как-то катился с Питера в Нижний, в объезд Москвы, указатель читаю - "Загорские дали", пля думаю, ну нахрена на дороге-то всех об этом информировать.))))
од из #7 работает - D4 загорается при нажатии 3х кнопок. Расходимся :)
Конечно, работает, а куда ему деваться.
Но расходиться рано, ТС то надо понять что у него за проблема (а она (проблема), подозреваю такая же, как у моего внука была пару недель назад) :)
од из #7 работает - D4 загорается при нажатии 3х кнопок. Расходимся :)
Конечно, работает, а куда ему деваться.
Но расходиться рано, ТС то надо понять что у него за проблема (а она (проблема), подозреваю такая же, как у моего внука была пару недель назад) :)
ВЫ ИНТРИГАН!!! ;-)))
Код из #7 работает - D4 загорается при нажатии 3х кнопок. Расходимся :)
нет, ему надо при последовательном нажатии всех кнопок, еще пяток постов и не удержусь, выложу вариант решения )))
"в том что бы были нажаты 3 кнопки не одновременно". тьфу ты, точно ) интрига развеялась )
"в том что бы были нажаты 3 кнопки не одновременно". тьфу ты, точно ) интрига развеялась )
Ну, вот облом - я этого не заметил и думал, что ему надо как раз, когда все три одновременно нажаты. А проблема, которую я держал в уме (как раз, как у внука было) примерно такая: "факт нажатия конкретной кнопки отслеживается по её индивидуальному светодиоду, но он же их никогда не гасит! Единожды включившись они горят всегда, даже когда кнопка уже давно отпущена". Отсюда и кажимость, что "всё нажато", а на 13 не светится. Для этого достаточно их все по очереди нажать-отпустить :)))
"в том что бы были нажаты 3 кнопки не одновременно". тьфу ты, точно ) интрига развеялась )
блин, я тоже этого не заметил.
Ну тогда я ему уже в #14 написал причину, почему у него не работает.
Вот погасил =)
boolean L1 = 0 ; boolean L2 = 0; boolean L3 = 0; byte diod_1 = 8; byte diod_2 = 10; byte diod_3 = 7; byte knopka_1 = 12; byte knopka_2 = 11; byte knopka_3 = 9; byte bigdiod = 13; void setup() { pinMode(bigdiod, OUTPUT); pinMode(knopka_1, INPUT); pinMode(knopka_2, INPUT); pinMode(knopka_3, INPUT); pinMode(2, OUTPUT); pinMode(diod_1, OUTPUT); pinMode(diod_2, OUTPUT); pinMode(diod_3, OUTPUT); digitalWrite(knopka_1,HIGH); //включение подтягивающего резистора digitalWrite(knopka_2,HIGH); //включение подтягивающего резистора digitalWrite(knopka_3,HIGH); //включение подтягивающего резистора } void loop() { Serial.begin(9600); Serial.print("rabotaet"); digitalWrite(2, HIGH); if(digitalRead(knopka_1)==0) { digitalWrite(diod_1,HIGH); L1=1; Serial.println(L1); } if(digitalRead(knopka_2)==0) { digitalWrite(diod_2,HIGH); L2=1; Serial.println(L2); } if(digitalRead(knopka_3)==0) { digitalWrite(diod_3,HIGH); L3=1; Serial.println(L3); } Serial.println(L1); Serial.println(L2); Serial.println(L3); if(L1==1&&L2==1&&L3==1) { digitalWrite(bigdiod, HIGH); delay(1000); L1=0; L2=0; L3=0; digitalWrite(diod_1,LOW); digitalWrite(diod_2,LOW); digitalWrite(diod_3,LOW); } }У меня получилось!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Спасибо за подсказки"!!!! Чмоки вас
только вот не фига виртуальный не работает. буду разбираться
boolean L1 = 0 ; boolean L2 = 0; boolean L3 = 0; byte diod_1 = 8; byte diod_2 = 10; byte diod_3 = 7; byte knopka_1 = 12; byte knopka_2 = 11; byte knopka_3 = 9; byte bigdiod = 13; void setup() { pinMode(bigdiod, OUTPUT); pinMode(knopka_1, INPUT); pinMode(knopka_2, INPUT); pinMode(knopka_3, INPUT); pinMode(2, OUTPUT); pinMode(diod_1, OUTPUT); pinMode(diod_2, OUTPUT); pinMode(diod_3, OUTPUT); digitalWrite(knopka_1,HIGH); //включение подтягивающего резистора digitalWrite(knopka_2,HIGH); //включение подтягивающего резистора digitalWrite(knopka_3,HIGH); //включение подтягивающего резистора Serial.begin(9600); } void loop() { Serial.print("rabotaet"); digitalWrite(2, HIGH); if(digitalRead(knopka_1)==0) { digitalWrite(diod_1,HIGH); L1=1; Serial.println(L1); } if(digitalRead(knopka_2)==0) { digitalWrite(diod_2,HIGH); L2=1; Serial.println(L2); } if(digitalRead(knopka_3)==0) { digitalWrite(diod_3,HIGH); L3=1; Serial.println(L3); } Serial.println(L1); Serial.println(L2); Serial.println(L3); if(L1==1&&L2==1&&L3==1) { digitalWrite(bigdiod, HIGH); delay(100); L1=0; L2=0; L3=0; digitalWrite(diod_1,LOW); digitalWrite(diod_2,LOW); digitalWrite(diod_3,LOW); digitalWrite(bigdiod, LOW); } }void setup() { pinMode(7, OUTPUT); //PD7 - LED D2 pinMode(8, OUTPUT); //PB0 - LED D3 pinMode(10, OUTPUT); //PB2 - LED D4 pinMode(13, OUTPUT); //PB5 - LED D1 (на плате нано) //входные кнопки, доп.входные резисторы не нужны pinMode(9, INPUT_PULLUP); //PB1 - BTN1 pinMode(11, INPUT_PULLUP); //PB3 - BTN2 pinMode(12, INPUT_PULLUP); //PB4 - BTN4 //Serial.begin(9600); } void loop() { byte L1; byte L2; byte L3; // читаем состояния кнопок if(digitalRead(12)==0) { L1=1;} if(digitalRead(11)==0) { L2=1;} if(digitalRead(9)==0) { L3=1;} // реагируем на считанное состояние кнопок if(L1==1) { digitalWrite(7, HIGH);} if(L2==1) { digitalWrite(8, HIGH);} if(L3==1) { digitalWrite(10, HIGH);} // Если были нажаты все кнопки (порядок нажатия безразличен) ТО (то входит то выходит (С) Ослик) if (bitRead(PORTD,7)==1 && bitRead(PORTB,0)==1 && bitRead(PORTB,2)==1) { digitalWrite(13, !digitalRead(13)); delay(1000); L1=0; L2=0; L3=0; digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(10, LOW); } }Это более правильно? спасибо.
Что значит INPUT_PULLUP?
и bitRead(PORTD,7)==1?
И помоему ты не заглушил диод на 13 =) в конце
у меня получилось #58
В него можно кликнуть и провалиться в настройки - там 9600 стоит ?
да 9600
Это более правильно? спасибо.
Что значит INPUT_PULLUP?
и bitRead(PORTD,7)==1?
И помоему ты не заглушил диод на 13 =) в конце
у меня получилось #58
смотри строку 33 скетча, если еще три раза нажать кнопки он погаснет ))) (я надеюсь, проверять не на чем)
да 9600
Поставьте лучше и в программе и в нем 115200, а в коде поменьше вывода - оно кажется немного с ума сходит.
Конечный вариант
boolean L1 = 0 ; boolean L2 = 0; boolean L3 = 0; byte diod_1 = 7; byte diod_2 = 8; byte diod_3 = 10; byte knopka_1 = 12; byte knopka_2 = 11; byte knopka_3 = 9; byte bigdiod = 13; void setup() { pinMode(bigdiod, OUTPUT); pinMode(knopka_1, INPUT); pinMode(knopka_2, INPUT); pinMode(knopka_3, INPUT); pinMode(2, OUTPUT); pinMode(diod_1, OUTPUT); pinMode(diod_2, OUTPUT); pinMode(diod_3, OUTPUT); digitalWrite(knopka_1,HIGH); //включение подтягивающего резистора digitalWrite(knopka_2,HIGH); //включение подтягивающего резистора digitalWrite(knopka_3,HIGH); //включение подтягивающего резистора Serial.begin(9600); } void loop() { Serial.println("rabotaet i eto horocho"); Serial.println("L1="); Serial.println(L1); Serial.println("L2="); Serial.println(L2); Serial.println("L3="); Serial.println(L3); digitalWrite(2, HIGH); if(digitalRead(knopka_1)==0) { digitalWrite(diod_1,HIGH); L1=1; } if(digitalRead(knopka_2)==0) { digitalWrite(diod_2,HIGH); L2=1; } if(digitalRead(knopka_3)==0) { digitalWrite(diod_3,HIGH); L3=1; } if(L1==1&&L2==1&&L3==1) { Serial.println("L1="); Serial.println(L1); Serial.println("L2="); Serial.println(L2); Serial.println("L3="); Serial.println(L3); Serial.println("Seichas zagoritsa big diod"); delay(5000); digitalWrite(bigdiod, HIGH); delay(1000); L1=0; L2=0; L3=0; digitalWrite(diod_1,LOW); digitalWrite(diod_2,LOW); digitalWrite(diod_3,LOW); digitalWrite(bigdiod, LOW); } }и тадам:
и тухнеч через секунду все обновлется =)
Ну, и слава Богу!
"У меня все ходы записаны" ...в задании не было, что тухнут через одну секунду, импровизация она хороша на кухне )))
Надеюсь, ты девочка. А то ведь мы тут дремучие и нетолерантные, можно и по рылу ... :)
Та ладна, вспомни детство и дарагого Леонида Ильича. Даж по программе "Время" регулярно казали и "Голубой вагон", по стране, безпрепятственно рассекал.))))
А тут как-то катился с Питера в Нижний, в объезд Москвы, указатель читаю - "Загорские дали", пля думаю, ну нахрена на дороге-то всех об этом информировать.))))
Испорченный ты...
Что верность, что не верность всё равно...