не работает конока выключения в ночнике
- Войдите на сайт для отправки комментариев
Втр, 01/10/2019 - 21:36
Здравствуйте, помогите, разобратся почему не работает конока выключения:
задание:
Сигнал с фоторезистора приходит на порт А0 платы Arduino. В соответствии с яркостью в помещении изменяется количество и яркость горящих светодиодов. При нажатии на тактильную кнопку вся программа прекращает свою работу и не реагирует на изменение освящения в помещении.
кхопка просто не работает, в чём проблема,
const int sensorPin = 0; const int buttonPin = 2; const int ledPin = 9; int state = 0; int lightLevel, high = 0, low = 1023; void showState() { while (digitalRead(buttonPin) == LOW){ if (state == 0){ state = 1; } else{ state = 0; }; while (digitalRead(buttonPin) == LOW){ }; }; } void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9400); } void loop() { lightLevel = analogRead(sensorPin); manualTune(); if (state == 0){ analogWrite(ledPin, lightLevel); }; Serial.print(lightLevel); int x; for(x = 0; x < 10; x++){ showState(); delay(25); }; } void manualTune() { lightLevel = map(lightLevel, 300, 800, 0, 250); lightLevel = constrain(lightLevel, 0, 250); } void autoTune() { if (lightLevel < low) { low = lightLevel; } if (lightLevel > high) { high = lightLevel; } lightLevel = map(lightLevel, low+0, high-30, 0, 250); lightLevel = constrain(lightLevel, 0, 250); }
https://www.tinkercad.com/things/gVp7UDCZJhJ-bodacious-turing/editel?sha...
спасибо

вот не нравятся мне строки 15,16 и 17 (;) R&K не читал )))
не понял, удалил ( ; ) не помогло
Кнопка не верно подключена.
так как её верно подключить ))))
Пин 2 подключен на +5, а надо на контакт кнопки. а вот резистор должен быть подключен на +5.
Вы кнопкой землю на землю замыкаете? Зачем?
переделал, -тоже самое
Опять не то !!!
Выкинуть резистор кнопку замыкать на землю и в сетапе INPUT_PULLUP использовать. И в while HIGH.
nik182 с крайней схемой не выйдет.
Почему?
К нулю то ничего не тянет.
ко второму пину подключить резистор 1 ком на минус и кнопку на плюс
переделал, -тоже самое
патамушта кнопку подключают так, а у вас она не по фуншую. ну или для защиты от дурака оставить сопротивление (если оно не больше 1к), но подключить его к минусу, а в коде ее сделать INPUT_PULLUP
UPD. для настройки этого сложного прибора, требуется вольтметр (тестер) включить его в режим измерения напряжения с диапазоном до 10...20В (оптимально). минус прибора подключить к GND, а плюс прибора к пору ардуино к которому подключена кнопка. если при нажатии (когда ардуино включено) измеряемое напряжение меняется вы почти у цели - напишите нам эти цифры, подскажем.
Гриша. Мне просто интересно. Чем Ваше сообшение отличается от моего #9? Ну кроме того, что Вы не упомянули что условие сравнения надо поменять?
ссылками, Вы их не указали а то ТС у нас совсем похоже новичек... ему пока сам распишеш ... а тащить сюда содержимое из ссылок вообще не интересно. Т.е. ваш пост мне понятен, а вот для ТС вообще китайская грамота
ИМХО