У меня в программе 4 датчика управляют реле для отображения положения реле использую
int val = digitalRead(poliv);
if (val == LOW){
lcd.setCursor(15,0);
lcd.print(“P”);}
else if(val == LOW)
{
lcd.setCursor(15,0);
lcd.print(“p”);}
если 2 программы на любых датчиках все нормально как только добавляю третью программу выдает ошибку на int val = digitalRead(poliv);
одну, надо больше нумеруй их по разному
Еще бы программу увидеть, которая ошибку генерит и текст ошибки…
А чем
отличается от
???
Надо, как минимум, в школе начать учиться, а не в телефоне сидеть. Это не чат Областной Психиатрической.
Сколько val = digitalread() можно ввести в программу
Тебе - нисколько. Я запретил, до полного изучения спицальной литературы.
Это пишется короче - навсегда!
Блин, как же люблю подобных персонажей - написал бредятину в форум и сбежал. Как гранату в блиндаж кинул…
Мне больше напоминает “известный биоматериал на вентилятор”
Полностью изучает литературу. К вечеру объявится, не беспокойтесь
Ага… “я все это прочитал… так сколько digitalRead() можно ВВЕСТИ в код?”
Скажет, что проблему решил сам, вопреки нашей доброжелательной помощи.
прогнозы разделились
Ну как в песенке: Жили у бабуси два веселых гуся, один белый, другой тоже белый, два веселых гуся.

вопреки нашей доброжелательной помощи
пора делать ставки?
Ну, как же, всё по rлассике! Вот сравните (цитата по памяти, скорее всего не совсем точная, но смысл тот):
Вся Очередь изъявила желание добровольно поехать на Великую стройку Изма. Те же, кто не захотел ехать туда добровольно, поехали добровольно.
Разве не то же самое?
Два условия в if’ах эт праильна. Чипы щас китайские, мало ли. Надо всегда переспрашивать.
Кожаные вон чё, важные документы по 5 раз перечитывают медленно. А тут скорость очень большая, МК может и ошибиться.
Люди говорят что если наделать 100000 if’ов с одним условием, то МК это надоест и он таки согласится.

А тут скорость очень большая,
Да, не только это. Сама жизнь динамична и изменчива. Не зря же сказано:
«Отличительная особенность нашей жизни, сказал Заибан …, – это неудержимая динамика. Мы идём вперёд, намного опережая свой зад»
Не понятно что ТС нужно вообще и в чем проблема?
Можно же одну и туже задачу разными способами решить…
Способ 1:
/*
МК использован - Attiny13A
*/
// Объявим пины более понятно:
#define pinState1 PB0
#define pinState2 PB1
#define pinState3 PB2
#define relePin1 PB3
#define relePin2 PB4
void setup() {
// Не знаю я что там за схема, поэтому так ))
pinMode(pinState1, INPUT);
pinMode(pinState2, INPUT);
pinMode(pinState3, INPUT);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
void loop() {
uint8_t val;
val = digitalRead(pinState1);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin1, HIGH);
}
val = digitalRead(pinState2);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin2, HIGH);
}
val = digitalRead(pinState3);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
}
Скетч использует 54 байт (5%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 64 байт для локальных переменных. Максимум: 64 байт.
Способ 2:
/*
МК использован - Attiny13A
*/
// Объявим пины более понятно:
#define pinState1 PB0
#define pinState2 PB1
#define pinState3 PB2
#define relePin1 PB3
#define relePin2 PB4
void setup() {
// Не знаю я что там за схема, поэтому так ))
pinMode(pinState1, INPUT);
pinMode(pinState2, INPUT);
pinMode(pinState3, INPUT);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
void loop() {
if (!digitalRead(pinState1)) {
digitalWrite(relePin1, HIGH);
}
if (!digitalRead(pinState2)) {
digitalWrite(relePin2, HIGH);
}
if (!digitalRead(pinState3)) {
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
}
Скетч использует 54 байт (5%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 64 байт для локальных переменных. Максимум: 64 байт.
Способ 3:
/*
МК использован - Attiny13A
*/
// Объявим пины более понятно:
#define pinState1 PB0
#define pinState2 PB1
#define pinState3 PB2
#define relePin1 PB3
#define relePin2 PB4
void setup() {
// Не знаю я что там за схема, поэтому так ))
pinMode(pinState1, INPUT);
pinMode(pinState2, INPUT);
pinMode(pinState3, INPUT);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
void loop() {
{
uint8_t val = digitalRead(pinState1);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin1, HIGH);
}
}
{
uint8_t val = digitalRead(pinState2);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin2, HIGH);
}
}
{
uint8_t val = digitalRead(pinState3);
if (!val) { // Это равносильно if (val == LOW)
digitalWrite(relePin1, LOW);
digitalWrite(relePin2, LOW);
}
}
}
Скетч использует 54 байт (5%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 64 байт для локальных переменных. Максимум: 64 байт.
И еще, наверное с десяток, можно придумать…
Поехали?