Переделал в отдельные циклы, все равно не помогает
int IN2 = 2; // подъём 1
int IN3 = 3; // подъём 2
const int button1 = 13; // кнопка
const int button2 = 8; // концевик верх
const int button3 = 9; // концевик низ
int button1State = 0;
int button2State = 0;
int button3State = 0;
void setup()
{
pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
}
void loop()
{
podiom();
spusk();
}
void podiom() {
button1State = digitalRead(button1);
button2State = digitalRead(button2);
button3State = digitalRead(button3);
if (button1State == HIGH && button2State == LOW) {
digitalWrite (IN3, HIGH);
digitalWrite (IN2, LOW);
}
else {
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
}
}
void spusk() {
button1State = digitalRead(button1);
button2State = digitalRead(button2);
button3State = digitalRead(button3);
if (button1State == LOW && button3State == LOW) {
digitalWrite (IN2, HIGH);
digitalWrite (IN3, LOW);
}
else {
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
}
}
BOOM
07.Апрель.2025 17:43:08
23
@te238s , нито соболезную, нито сочувствую )))
1 лайк
ВСЁ РАЗОБРАЛСЯ!!! Извините за отнятное время)))
void loop()
{
podiom();
spusk();
}
void podiom() {
button1State = digitalRead(button1);
button2State = digitalRead(button2);
button3State = digitalRead(button3);
if (button1State == HIGH) {
digitalWrite (IN3, HIGH);
digitalWrite (IN2, LOW);
if (button2State == HIGH) {
digitalWrite (IN3, LOW);
digitalWrite (IN2, LOW);
}
}
}
void spusk() {
button1State = digitalRead(button1);
button2State = digitalRead(button2);
button3State = digitalRead(button3);
if (button1State == LOW) {
digitalWrite (IN2, HIGH);
digitalWrite (IN3, LOW);
}
if (button3State == HIGH) {
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
}
}
te238s
07.Апрель.2025 17:54:43
25
1.ЕСЛИ нажата кн1 И конц1 не сработал, ТО ВВЕРХ, иначе СТОП
2. ЕСЛИ не нажата кн1, ТО ЕСЛИ конц2 не сработал, ТО ВНИЗ, ИНАЧЕ СТОП.
@Schwappess , эээ, не совсем. Сравни с моим алгоритмом.
Ну как раз когда я добавлял ИНАЧЕ, он медленно ехал. А сейчас как надо едет в обе стороны и останавливается на концевиках
te238s
07.Апрель.2025 18:15:14
27
Ай ладно, работает и ладно! Выпьем за это!
te238s:
Конечный автомат нужен.
Ну да, тем более что скетч не совпадает со схемой)))
te238s:
работает и ладно!
Вот вот.
1 лайк
Схема была примерная на коленке за 2 минуты набросана. Все в голове))
Так я и понял. Вы мне(или кому-нибудь ещё) предложили разобраться, почему не работает несуществующая схема, т.к. у меня много лишнего времени))
te238s
07.Апрель.2025 18:34:18
32
@Schwappess но я настоятельно рекомендую изучить Конечный автомат, дабы не было пробуксовок в таких простых алгоритмах.
Зачем вводить форумчан в заблуждение, размещая “примерную” схему?
Если “все в голове”, голову и надо было выкладывать на форум.