5. Напишите программу, в которой по нажатию кнопки на семисегментном индикаторе выводится цифра 1, а если кнопка не нажата – то цифра 0.
На языке Arduino
Ответы
const int buttonPin = 2; // Пин, к которому подключена кнопка
const int sevenSegmentPins[7] = {3, 4, 5, 6, 7, 8, 9}; // Пины семисегментного индикатора для отображения цифры 1
void setup() {
pinMode(buttonPin, INPUT); // Устанавливаем пин с кнопкой как вход
for (int i = 0; i < 7; i++) {
pinMode(sevenSegmentPins[i], OUTPUT); // Устанавливаем пины семисегментного индикатора как выходы
}
}
void loop() {
int buttonState = digitalRead(buttonPin); // Считываем состояние кнопки
if (buttonState == HIGH) { // Если кнопка нажата
displayNumberOne(); // Отображаем цифру 1
} else { // Если кнопка не нажата
displayNumberZero(); // Отображаем цифру 0
}
}
void displayNumberOne() {
int segments[] = {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}; // Сегменты для отображения цифры 1
for (int i = 0; i < 7; i++) {
digitalWrite(sevenSegmentPins[i], segments[i]); // Устанавливаем состояние сегментов
}
}
void displayNumberZero() {
int segments[] = {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}; // Сегменты для отображения цифры 0
for (int i = 0; i < 7; i++) {
digitalWrite(sevenSegmentPins[i], segments[i]); // Устанавливаем состояние сегментов
}
}