Помочь в написании, подтолкнуть на мысль
- Войдите на сайт для отправки комментариев
Вс, 25/04/2021 - 15:19
01 | <span style= "font-size:12px;" >Нужно сделать так , что, если все три кнопки не нажаты горит красный светодиод. Нажимаю вторую кнопку должен гореть только желтый. Все остальные комбинации - горит зеленый. (Используя приложенный скетч)</span> |
02 | int switchPin1 = 8; |
03 | int switchPin2 = 7; |
04 | int switchPin3 = 6; |
05 |
06 | int ledPin1 = 13; |
07 | int ledPin2 = 12; |
08 | int ledPin3 = 11; |
09 |
10 | boolean lastButton1 = LOW; |
11 | boolean lastButton2 = LOW; |
12 | boolean lastButton3 = LOW; |
13 |
14 | boolean currentButton1 = LOW; |
15 | boolean currentButton2= LOW; |
16 | boolean currentButton3 = LOW; |
17 |
18 | boolean ledOn1 = false ; |
19 | boolean ledOn2 = false ; |
20 | boolean ledOn3 = false ; |
21 |
22 | void setup () |
23 | { |
24 | pinMode(switchPin1, INPUT); |
25 | pinMode(switchPin2, INPUT); |
26 | pinMode(switchPin3, INPUT); |
27 | pinMode(ledPin1, OUTPUT); |
28 | pinMode(ledPin2, OUTPUT); |
29 | pinMode(ledPin3, OUTPUT); |
30 | } |
31 | boolean debounce1 (boolean last) |
32 | { |
33 | boolean current1 = digitalRead(switchPin1); |
34 | if (last != current1) |
35 | { |
36 | delay(5); |
37 | current1 = digitalRead(switchPin1); |
38 | } |
39 | return current1; |
40 | } |
41 | boolean debounce2 (boolean last2) |
42 | { |
43 | boolean current2 = digitalRead(switchPin2); |
44 | if (last2 != current2) |
45 | { |
46 | delay(5); |
47 | current2 = digitalRead(switchPin2); |
48 | } |
49 | return current2; |
50 | } |
51 | boolean debounce3 (boolean last3) |
52 | { |
53 | boolean current3 = digitalRead(switchPin3); |
54 | if (last3 != current3) |
55 | { |
56 | delay(5); |
57 | current3 = digitalRead(switchPin3); |
58 | } |
59 | return current3; |
60 | } |
61 |
62 | void loop () |
63 | { |
64 | currentButton1 = debounce1(lastButton1); |
65 | currentButton2 = debounce2(lastButton2); |
66 | currentButton3 = debounce3(lastButton3); |
67 | if (lastButton1 == LOW && currentButton1 == HIGH) |
68 | { |
69 | ledOn1 = !ledOn1; |
70 | } |
71 | lastButton1 = currentButton1; |
72 |
73 | if (lastButton2 == LOW && currentButton2 == HIGH) |
74 | { |
75 | ledOn2 = !ledOn2; |
76 | } |
77 | lastButton2 = currentButton2; |
78 | if (lastButton3 == LOW && currentButton3 == HIGH) |
79 | { |
80 | ledOn3 = !ledOn3; |
81 | } |
82 | lastButton3 = currentButton3; |
83 |
84 | digitalWrite(ledPin1, ledOn1); |
85 |
86 |
87 | digitalWrite(ledPin2, ledOn2); |
88 |
89 |
90 | digitalWrite(ledPin3, ledOn3); |
91 |
92 | } |
1
если ((первая кнопка не нажата) и (вторая кнопка не нажата) и (третья кнопка не нажата))
2
{включить красный, остальные выключить}
3
иначе если ((вторая кнопка нажата) и (первая кнопка не нажата) и (третья кнопка не нажата))
4
{включить желтый, остальные выключить}
5
иначе
6
{включить зеленый, остальные выключить}
Откуда они все тащят эту функцию дебонсе? У Гайвера подглядели?
Да ею весь гугл пестрит
Спасибо большое за ответ, но как реализовать это в рамках данной программы, куда вставлять ( понятно что в цикл loop)? Я просто второй день всего за ардуино и совсем не силен. P.S. дебанус у джереми блюма подсмотрел
1000р
kakmycmail@gmail.com
Дешевле и проще не разобраться )
Дешевле и проще не разобраться )
Самостоятельно вообще бесплатно
Спасибо большое за ответ, но как реализовать это в рамках данной программы, куда вставлять ( понятно что в цикл loop)? Я просто второй день всего за ардуино и совсем не силен. P.S. дебанус у джереми блюма подсмотрел
Была просьба подтолкнуть - я подтолкнул ))
Дешевле и проще не разобраться )
Могу помочь. И доплачу.
Бармалей -толкач :)))
Помощь это дело бравое
500р
ob268@mail.ru