По замыслу должно быть LOW.
Точно LOW.
я уже запутался в кодах этих ваших, но прошу исправить, мину замедленного действия, подложенная мной нечаянно.
конкретно
val = map(analogRead(A0),0,1023,500,3000);// присваиваю новые значения к значениям реостата
заменить на
val = map(analogRead(RE),0,1023,500,3000);// присваиваю новые значения к значениям реостата
а то не ровен час рванет))
А какая разница что A0 что RE? Они же равны или нет?
На выходе ни какой реакции.
Что бы подтянуть вход к минусу надо использовать INPUT вместо INPUT_PULLUP?
Нет, этого недостаточно, нужно еще кинуть резистор примерно 10кОм от входа к GND
Максимка! Морзянка.
иногда, да легче так))
но ты то хоть RE поправь, а то надают мне по шапке кто нибудь потом.
Да ваще пофик в данном случае… ))
вот вот))
И кстати по поводу срача иголки при включении. При подаче питания питания знак звука над динамиком появляется.
ага
даже без проводов)) загрузчик наверное отрабатывает))
А вот теперь скажите. Если после строки №18 “точно LOW
”, на кой хрен Вы тут же кидаетесь снова это проверять в строке №14? В расчёте на то, что за наносекунды между строками №18 и №14 что-то успело измениться? Или зачем? Как эти строки совмещаются друг с другом?
Это сложно. Для начала бы узнать у ТС понимает ли он разницу между ЕСЛИ и ПОКА. А заодно и о разнице между = и == .
Ну почему же! Вон у меня морзянкой все часы пиликают. И я знаю кто из них спешат/отстают. И даже ребёнок морзянку цифр выучил. Ничего сложного.) Да и жена, хоть и не знает, но интуичит.)
Крайняя версия скетча.
const int RE = A0;//к А0 подключаю реостат
const int BU = 7;// к 7 выводу подключаю комп
const int OUT = 4;// с 4 выход
int val = 0;// переменная для хранения знач с реостата
void setup() {
pinMode (OUT, OUTPUT);
pinMode (BU, INPUT);
}
void loop() {
int val = digitalRead(RE);
val = map(val,0,1023,500,3000);// присваиваю новые значения к значениям реостата
while (digitalRead(BU) == HIGH){// условие если на входе BU LOW
digitalWrite(OUT, HIGH);//на выходе делаем HIGH
delayMicroseconds(val);// ждём паузу согласно реостату
digitalWrite(OUT, LOW);// опускаем OUT в LOW
while (digitalRead(BU) == LOW);//ждём следующего нажатия
}
}
Описание. От источника приходят прямоугольные импульсы 18в. Через делитель на вход попадает 4в. Продолжительность импульсов на выходе регулируется патенциометром.
И всё это дело не работает. На выходе ничего нет.