Для создания Arduino проекта нам понадобится:
- плата Arduino;
- Джойстик (из набора Sensor Kit for Arduino)
- RGB светодиод (из набора Sensor Kit for Arduino);
- монтажные провода - 9 шт.;
- резистор 10 кОм;
- плата для монтажа без пайки.
В данном проекте в качестве платы Arduino будем использовать Arduino UNO.
RGB светодиод из набора Sensor Kit for Arduino. Отличительные особенности этого RGB светодиода в том, что на плате светодиода установлены резисторы на 1 кОм.
Джойстик из набора Sensor Kit for Arduino.
Схема подключения следующая:
Резистор в данной схеме играет роль подтягивающего к питанию, он равен 10 кОм.
Запустим ArduinoIDE:
Вставим следующий код в ArduinoIDE и загрузим (комбинация клавиш Ctrl + U) его на плату (если у вас возникли ошибки при загрузке прочтите следующее):
// пин контакта VRX
int VRx = A0;
// пин контакта VRY
int VRy = A1;
// пин подключения кнопки
int button = 8;
// пины подключения RGB светодиода
int ledR = 11;
int ledG = 10;
int ledB = 9;
void setup () {
pinMode(VRx, INPUT);
pinMode(VRy, INPUT);
pinMode(button, INPUT);
pinMode(ledR, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledB, OUTPUT);
}
void loop () {
// Джойстик вверх
if(analogRead(VRx) == 1023){
// Красный
digitalWrite(ledR, HIGH); // ВКЛ
}
// Джойстик вниз
else if(analogRead(VRx) == 0){
// Зеленый
digitalWrite(ledG, HIGH); // ВКЛ
}
// Джойстик влево
else if(analogRead(VRy) == 0){
// Синий
digitalWrite(ledB, HIGH); // ВКЛ
}
// Джойстик вправо
else if(analogRead(VRy) == 1023){
// Белый
digitalWrite(ledR, HIGH); // ВКЛ
digitalWrite(ledG, HIGH); // ВКЛ
digitalWrite(ledB, HIGH); // ВКЛ
}
else{
digitalWrite(ledR, LOW); // ВЫКЛ
digitalWrite(ledG, LOW); // ВЫКЛ
digitalWrite(ledB, LOW); // ВЫКЛ
}
// Кнопка
if (digitalRead(button) == LOW){
digitalWrite(ledR, HIGH); // ВКЛ
delay(200);
digitalWrite(ledR, LOW); // ВЫКЛ
delay(200);
digitalWrite(ledG, HIGH); // ВКЛ
delay(200);
digitalWrite(ledG, LOW); // ВЫКЛ
delay(200);
digitalWrite(ledB, HIGH); // ВКЛ
delay(200);
digitalWrite(ledB, LOW); // ВЫКЛ
delay(200);
}
}
Результат:
- при ведении джойстика вверх — светодиод загорится красным;
- при ведении джойстика вниз — светодиод загорится зеленым;
- при ведении джойстика влево — светодиод загорится синим;
- при ведении джойстика вправо — светодиод загорится белым;
- при нажатии на кнопку джойстика — светодиод по очереди загорится красным, зеленым и синим.