Есть 5 кнопок, для корректной работы схемы нужно, чтобы все они были подключены к земле, но если подключать их через макетную плату к GND, они становятся параллельными и перестают быть независимыми
Как можно добавить землю?
На скриншоте видно, что каждая кнопка подключена к своей земле, нужно сделать по аналогии
Как вы это поняли?
А если не через макетную плату. Как кнопки должны подключаться? Шедевральный скриншот. Особенно в части зелёных проводов.)))
Потому что при нажатии одной кнопки флаги, отвечающие за остальные, тоже становятся true
Вы про тот ужас справа? Первая слева подключена к A0 и своей земле, вторая к A1 и так далее
А где вы столько земель набрали?
В эмуляторе) хотелось бы знать, можно ли сделать что-то подобное или надо придумывать костыли другого рода
Общий провод таки один. Даже в эмуляторе
@D4rQ Вы бы скетч свой привели. А то мало ли, что у Вас там за флаги…
bool first = false;
bool second = false;
bool third = false;
bool fourth = false;
bool fifth = false;
unsigned long time = 0;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
}
void loop() {
if (millis() - time < 10000){
attention();
}
else if (10000 < millis() - time && millis() - time < 20000){
start();
}
if (millis() - time > 20000) time = millis();
Serial.print(first);
Serial.print(second);
Serial.print(third);
Serial.print(fourth);
Serial.println(fifth);
}
void attention(){
for(int i = 0; i < 10; i++){
if (i % 2 == 0)
digitalWrite(i, 1);
else
digitalWrite(i, 0);
}
}
void start(){
digitalWrite(13, HIGH);
for(int i = 0; i < 10; i++){
if (i % 2 == 1)
digitalWrite(i, 1);
else
digitalWrite(i, 0);
}
if (digitalRead(A0) == 1) first = true;
if (digitalRead(A1) == 1) second = true;
if (digitalRead(A2) == 1) third = true;
if (digitalRead(A3) == 1) fourth = true;
if (digitalRead(A4) == 1) fifth = true;
}
Извиняюсь за говнокод. Как программисту мне очень стыдно, но тут отладка только через печать
Если это упростит понимание проблемы
Делаю проект установки для пятизарядного пистолета
Суть в том, что пока горят красные огни, на кнопки нажимать нельзя, а как только загораются зеленые, нажатия на кнопки должны менять соответствующие флаги на true
Хочется сделать защиту от нажатия в тот момент, когда нельзя, но без земли это все не работает, а если объединить, то получится, что все кнопки связаны и нажатие на одну меняет сразу все флаги
Вы извините, но это чепуха какая-то
Подтяжка кнопок где?
Да и сама схема - хрень какая-то. За каким лешим вы подключаете один и тот же контакт кнопки и к пину A0…4, и к общему проводу, а второй контакт кнопки - к плюсу. На какую работу при таком подключении вы рассчитываете?
Было лень подключать резисторы к каждой, но на подобной схеме из 2 кнопок с подтяжкой ничего не менялось
Может, я ошибаюсь, но мне кажется, что подтяжка не повлияет
про схему см. мой пост выше
К пинам A0-A4 подключены разные кнопки, они стоят на вход
Рассчитываю, что при нажатии кнопки в нужный момент времени поменяется флаг
Нет, к пинам A0…A4 у вас подключена земля. То, что рядом пририсованы кнопки, ничего не меняет
Тогда не земля, а 5В
там, по схеме, при нажатии любой кнопки должен быть бабах
@D4rQ представляете распиновку этих кнопок и что замыкается при нажатии?
изучайте