Как можно исправить мой код для проверки работы порта arduino uno на функцию принятия значений? В данный момент у меня возникает проблема, из-за которой выводятся только единицы. Вот мой текущий код:
```c
void setup(){
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop(){
boolean button = digitalRead(A1);
Serial.println(button);
}
```
В вашем коде возникает проблема из-за типа переменной, которую вы используете для чтения значения с порта A1. Функция `digitalRead()` возвращает либо значение HIGH, либо значение LOW, которые являются константами типа `int`. Вы же используете переменную типа `boolean` для сохранения значения, поэтому выводит только единицы, потому что переменная `button` может быть только 0 или 1.
Чтобы исправить это, вы можете изменить тип переменной `button` на `int`, чтобы она могла хранить значения HIGH и LOW. Вот исправленный код:
```c
void setup(){
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop(){
int button = digitalRead(A1);
Serial.println(button);
}
```
Теперь код будет выводить значения HIGH (1) и LOW (0) в зависимости от состояния сигнала на порту A1.
С начала внимательно читаем <a href="https://doc.arduino.ua/ru/prog/BooleanVariables" rel="nofollow">тут</a> . <br/> <blockquote>boolean button = digitalRead(A1);</blockquote> <br/> Подсказка: <br/> Если "> 0" принимает значение истинно (= 1) <br/> Если "= 0" принимает значение ложно (= 0) <br/> А вход аналоговый смотрим <a href="https://doc.arduino.ua/ru/prog/AnalogRead" rel="nofollow"> сюда</a> . <br/> После этого будет понятно почему всегда "1" на выходе.