// Домашнее задание к занятию «Язык программирования С. Часть 1»
/**
Arduino Uno
https://wokwi.com/arduino/projects/314168546236039745
Copyright (C) 2024, Gennadii Shilin.
*/
#define LED_1 2 // пин зеленого светодиода 2
#define LED_2 4 /* пин красного светодиода 4 */
#define PIN_7 7 /* пин 7 переключателя 1 */
#define PIN_8 8 /* пин 8 переключателя 2 */
#define PIN_12 12 /* пин 12 переключателя 3 */
void setup() { // функция, содержимое которой выполняется один раз при запуске микроконтроллера
pinMode(LED_1, OUTPUT); // Устанавливает режим работы пина LED_1 на режим OUTPUT
pinMode(LED_2, OUTPUT); /* Устанавливает режим работы пина LED_2 на режим OUTPUT */
pinMode(PIN_7, INPUT_PULLUP); // Устанавливает режим работы пина PIN_7 на режим INPUT_PULLUP
pinMode(PIN_8, INPUT_PULLUP); /* Устанавливает режим работы пина PIN_8 на режим INPUT_PULLUP */
pinMode(PIN_12, INPUT_PULLUP); // Устанавливает режим работы пина PIN_12 на режим INPUT_PULLUP
Serial.begin(115200);
}
void loop()
{
/* Функция, содержимое которой выполняется (или пытается выполняться) “по кругу”
на протяжении всего времени работы МК */
if(digitalRead(PIN_7)==false && digitalRead(PIN_8)==false )
{
Serial.print(" PIN_7 равен "); /** Вывод на экран терминала состояния пина PIN_7 **/
Serial.print(digitalRead(PIN_7));
Serial.print(" PIN_8 равен "); /** Вывод на экран терминала состояния пина PIN_8 **/
Serial.print(digitalRead(PIN_8));
Serial.println(" ");
Serial.print(" LED_1 равен "); /* Диагностика состояния выхода LED_1 - пин зеленого светодиода */
Serial.print(digitalRead(LED_1));
Serial.print(" LED_2 равен "); /* Диагностика состояния выхода LED_2 - пин красного светодиода */
Serial.print(digitalRead(LED_2));
digitalWrite(LED_1, HIGH); // Подаёт на пин LED_1 сигнал 1 или HIGH – 5 Вольт (точнее, напряжение питания)
}
if(digitalRead(PIN_7)==false && digitalRead(PIN_12)==false )
{
Serial.print(" PIN_7 равен ");
Serial.print(digitalRead(PIN_7));
Serial.print(" PIN_12 равен ");
Serial.print(digitalRead(PIN_12));
Serial.println(" ");
Serial.print(" LED_1 равен ");
Serial.print(digitalRead(LED_1));
Serial.print(" LED_2 равен ");
Serial.print(digitalRead(LED_2));
digitalWrite(LED_2, HIGH); // Подаёт на пин LED_2 сигнал 1 или HIGH – 5 Вольт (точнее, напряжение питания)
}
else
{
Serial.print(" LED_1 равен ");
Serial.print(digitalRead(LED_1));
Serial.print(" LED_2 равен ");
Serial.print(digitalRead(LED_2));
digitalWrite(LED_1, LOW); // Подаёт на пин LED_1 сигнал 0 или LOW – 0 Вольт (GND)
digitalWrite(LED_2, LOW); // Подаёт на пин LED_2 сигнал 0 или LOW – 0 Вольт (GND)
}
Serial.println(" ");
delay(50);
}