Добавить
Уведомления

тест платы ардуино

Конечно! Ниже приведен пример кода для Arduino Uno, реализующий описанное вами поведение. В нем используются 6 кнопок, подключенных к аналоговым входам A0–A5, 12 светодиодов на пинах 2–13 и дисплей LCD1602 по I2C. #include #include // Инициализация дисплея LCD по I2C LiquidCrystal_I2C lcd(0x27, 16, 2); // Пины светодиодов (с 2 по 13) const int ledPins[] = {2,3,4,5,6,7,8,9,10,11,12,13}; const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]); // Аналоговые входы для кнопок (A0..A5) const int buttonPins[] = {A0,A1,A2,A3,A4,A5}; const int numButtons = sizeof(buttonPins) / sizeof(buttonPins[0]); // Названия тестов const char* testNames[] = { "Direct Seq", "Reverse Seq", "All On", "Gradual", "Fast Blink", "Slow Blink" }; // Для антидребезга int lastButtonStates[numButtons]; void setup() { // Настройка светодиодов for (int i=0; i=0; i--) { digitalWrite(ledPins[i], HIGH); delay(200); digitalWrite(ledPins[i], LOW); } } // Все загораются одновременно с нарастающей скоростью void allOn() { for (int brightness=0; brightness﹤=255; brightness+=25) { for (int i=0; i=0; brightness-=25) { for (int i=0; i=0;i--){ digitalWrite(ledPins[i], HIGH); delay(100); digitalWrite(ledPins[i], LOW); } } } // Мигать быстро void fastBlink() { for(int repeat=0; repeat﹤5; repeat++) { for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], HIGH); } delay(200); for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], LOW); } delay(200); } } // Мигать медленно void slowBlink() { for(int repeat=0; repeat﹤5; repeat++) { for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], HIGH); } delay(500); for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], LOW); } delay(500); } }

Иконка канала master
1 подписчик
12+
11 просмотров
5 месяцев назад
11 июня 2025 г.
12+
11 просмотров
5 месяцев назад
11 июня 2025 г.

Конечно! Ниже приведен пример кода для Arduino Uno, реализующий описанное вами поведение. В нем используются 6 кнопок, подключенных к аналоговым входам A0–A5, 12 светодиодов на пинах 2–13 и дисплей LCD1602 по I2C. #include #include // Инициализация дисплея LCD по I2C LiquidCrystal_I2C lcd(0x27, 16, 2); // Пины светодиодов (с 2 по 13) const int ledPins[] = {2,3,4,5,6,7,8,9,10,11,12,13}; const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]); // Аналоговые входы для кнопок (A0..A5) const int buttonPins[] = {A0,A1,A2,A3,A4,A5}; const int numButtons = sizeof(buttonPins) / sizeof(buttonPins[0]); // Названия тестов const char* testNames[] = { "Direct Seq", "Reverse Seq", "All On", "Gradual", "Fast Blink", "Slow Blink" }; // Для антидребезга int lastButtonStates[numButtons]; void setup() { // Настройка светодиодов for (int i=0; i=0; i--) { digitalWrite(ledPins[i], HIGH); delay(200); digitalWrite(ledPins[i], LOW); } } // Все загораются одновременно с нарастающей скоростью void allOn() { for (int brightness=0; brightness﹤=255; brightness+=25) { for (int i=0; i=0; brightness-=25) { for (int i=0; i=0;i--){ digitalWrite(ledPins[i], HIGH); delay(100); digitalWrite(ledPins[i], LOW); } } } // Мигать быстро void fastBlink() { for(int repeat=0; repeat﹤5; repeat++) { for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], HIGH); } delay(200); for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], LOW); } delay(200); } } // Мигать медленно void slowBlink() { for(int repeat=0; repeat﹤5; repeat++) { for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], HIGH); } delay(500); for(int i=0;i﹤numLeds;i++){ digitalWrite(ledPins[i], LOW); } delay(500); } }

, чтобы оставлять комментарии