не работает конока выключения в ночнике
- Войдите на сайт для отправки комментариев
Втр, 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? Ну кроме того, что Вы не упомянули что условие сравнения надо поменять?
ссылками, Вы их не указали а то ТС у нас совсем похоже новичек... ему пока сам распишеш ... а тащить сюда содержимое из ссылок вообще не интересно. Т.е. ваш пост мне понятен, а вот для ТС вообще китайская грамота
ИМХО