Главная » Статьи » Arduino с нуля » Работа с Arduino

Урок 9. Подключение матричной клавиатуры к платформе Arduino

Матричная клавиатура и ардуино. Очень интересное и своеобразное сочетание. Глядя на матрицу представляется множество устройств, которые могут быть исполнены с помощью небольшой клавиатуры: умный дом, различные охранные системы и системы управления. В общем большой спектр возможностей, который может быть ограничен лишь вашей фантазией.

Как подключить матричную клавиатуру к Arduino? Легко! Сейчас мы это Вам докажем. А также подключим сервоприводы к Arduino, и будем ими управлять, посылая команды с клавиатуры. 

 

Для урока нам потребуется:

  1. Arduino Uno
  2. Сервоприводы 2шт.
  3. Матричная клавиатура
  4. Соединительные провода "папа - папа"

Цель урока:

Научиться подключать и работать с клавиатурой. Мы подключим клавиатуру к Arduino, Также в Arduino будут подключены два сервопривода. С помощью управляющих команд, которые будут подаваться с клавиатуры, сервоприводы будут вращаться.
 
Краткая теория:
 

 
Клавиатура типа 4x4. Имеет 16 кнопок с индивидуальными обозначениями. Цифры от 0 до 9, а также символы: ' A ' , ' B ' , ' C ' , ' D ' и ' * ', ' # '.
 

Ход работы:

Для начала давайте соединим клавиатуру и Arduino. Это делается по схеме указанной ниже:

Также для работы нам потребуется подключить сервоприводы. Сервопривод имеет 3 провода, обычно это: коричневый (подключается к GND), красный (подключается к 5V) и оранжевый (управляющий, в данном случае один сервопривод подключается к 11 пину, другой - к 10).

После того, как схема была собрана, можно переходить к написанию скетча. В данном скетче используется библиотека Keypad, необходимая для подключения клавиатуры. Ее вы можете скачать нажав на кнопку СКАЧАТЬ.

 

И так, скетч. Открываем Arduino IDE и вставляем следующий скетч:

#include // Подключаем библиотеку
#include
//используем библиотеку для работы с сервоприводом
Servo servo; //объявляем переменную servo типа Servo
Servo servo2; //объявляем переменную servo2 типа Servo
const byte ROWS = 4; // 4 строки
const byte COLS = 4; // 4 столбца
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2,3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int n1=0;
int n2=0;

void setup(){
Serial.begin(9600);
servo.attach(11); //привязываем привод к порту 11
servo2.attach(10); //привязываем привод к порту 10
}
void loop(){
servo.write(n1); //ставим вал под 0
servo2.write(n2); //ставим вал под 0
char key = keypad.getKey();
if (key == '1') {
n1 = n1 + 45;
if (n1 > 180)
{ n1 = 0; }
}
else if (key == '2')
{ n1 = n1 - 45;
if (n1 < 0) { n1=180; }
}
else if (key == '3')
{ n1 = n1 + 90;
if (n1 > 180) { n1=0; }
}
else if (key == '4')
{ n2 = n2 + 45;
if (n2 > 180) { n2 = 0; }
}
else if (key == '5')
{ n2 = n2 - 45;
if (n2 < 0) { n2=180; }
}
else if (key == '6')
{ n2 = n2 + 90;
if (n2 > 180) { n2=0; }
}
​}

​Загружаем скетч в Arduino. И теперь нажимаем на кнопки 1 - 6. Кнопки с 1 по 3, отвечают за первый сервопривод, а кнопки с 4 по 6 - за вторую. При нажатии на кнопки 1, 2, 3, 4 сервоприводы будут менять свой угол поворота на 45 градусов, а при нажатии на 5 и 6 - на угол 90 градусов.
 
Более подробно о подключении клавиатуры Вы можете посмотреть в нашем видео:
 
 
 

 

 

Тринадцатый урок проекта "Arduino с нуля" подошел к концу. Надеюсь тема была для вас полезной, и вы узнали что-нибудь новое.

Если у вас появятся какие-либо вопросы, не стесняйтесь, и оставляйте их в комментариях или же на форуме.  

 

Если Вам понравился наш урок, поделитесь им с друзьями.

 

 


←Предыдущий урок | Следующий урок→


 

Категория: Работа с Arduino | Добавил: GM (19.07.2016)
Просмотров: 4592 | Теги: Матричная клавиатура, Arduino, уроки | Рейтинг: 0.0/0
Всего комментариев: 0
avatar