Текущее время: 13 ноя 2018, 04:28

Город ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Урок 5. Подключение RGB светодиода и кнопок к Ардуино

Обучение с нуля, шаг за шагом.
Аватар пользователя
 
Сообщений: 690
Зарегистрирован: 27 мар 2013, 23:12

Урок 5. Подключение RGB светодиода и кнопок к Ардуино

Сообщение -=dp=- » 08 мар 2018, 23:40

Урок 5. Подключение RGB светодиода и кнопок к Ардуино

Для данного практического занятия нам понадобятся:
1 - плата контроллера Ардуино УНО
2 - RGB светодиод
3 - кнопки 2 шт
4 - макетная плата
5 - монтажные провода
6 - кабель microUSB > USB

Купить Ардуино в Калининграде можно тут: http://newmar.ru

Подключаем все детали по схеме на рисунке ниже:

Arduino UNO RGB button 2.jpg
Подключение RGB светодиода и кнопок к Ардуино


Создаем программу управления RGB светодиодом и считывания данных с кнопок .
За основу берем пример Digital > Button

Задача:
При нажатии на кнопку 1 светодиод мигает 3 раза с интервалом 1 секунду одним цветом.
При нажатии на кнопку 2 светодиод мигает 3 раза с интервалом 1 секунду разными цветами.

Код программы:
Код: выделить все
// Подключение RGB светодиода и двух кнопок (C) www.forklg.ru
const int button1 = 10;
const int button2 = 11;
const int ledPin1 =  5;
const int ledPin2 =  6;
const int ledPin3 =  7;


int buttonState1 = 0;
int buttonState2 = 0;

void setup() {
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(button1, INPUT_PULLUP); // подключаем ко входам внутренний подтягивающий резистор
  pinMode(button2, INPUT_PULLUP);
}

void loop() {
  buttonState1 = digitalRead(button1);
  buttonState2 = digitalRead(button2);

// если нажата кнопка 1 мигаем 3 раза одним цветом
  if (buttonState1 == HIGH) {
  digitalWrite(ledPin1, LOW); 
  } else {
 digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    delay(1000);
  }

// если нажата кнопка 1 мигаем 3 раза разными цветами
 if (buttonState2 == HIGH) {
  digitalWrite(ledPin1, LOW); 
  } else {
 digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    delay(1000);
    digitalWrite(ledPin2, HIGH);
    delay(1000);
    digitalWrite(ledPin2, LOW);
    delay(1000);
    digitalWrite(ledPin3, HIGH);
    delay(1000);
    digitalWrite(ledPin3, LOW);
    delay(1000);
  }
}





Вернуться в Обучение Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0