Arcade PUB
  • Главная
  • Уроки
  • Датчики
  • Проекты
  • Справочник языка Ардуино
  • Справочник
  • Видео
  • Контакты
  • Поддержать
Уроки  /  20 февраля, 2020

Подключаем кнопку. Урок 2.2. Ардуино

by valentino
Подключаем кнопку к ардуино
Подключаем кнопку к ардуино

Привет. Сегодня переходим к важной части изучения ардуино. Рассмотрим, как можно использовать пины на плате для ввода данных. Раньше мы использовали их только на вывод. Но все пины в ардуино можно использовать в двух направлениях, это одна из классных возможностей ардуино.

Содержание

  • 1 pinMode()
  • 2 digitalRead()
  • 3 Программа
  • 4 Полный текст программы
  • 5 Заключение
  • 6 Похожее

В прошлый раз мы уже подключали светодиоды и сделали примитивное управление ими. Если вы уже забыли или пропустили предыдущий урок, пожалуйста, посмотрите его.

Массив и ардуино. Урок 2.1. Ардуино

На этот раз мы изменим программу и схему подключения таким образом, чтобы управлять светодиодом с помощью кнопки.

Чтобы выполнить этот урок нам понадобятся.

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • Резистор номиналом 220 Ом
  • Резистор номиналом 10 кОм
  • Светодиод 5 мм
  • Кнопка
  • Кабель USB

pinMode()

Для того, чтобы перевести контакт ардуино в режим чтения, используется функция pinMode(). Как мы помним, функция принимает два параметр, номер пина, который мы хотим установить на чтение и режим в котором работает пин.

INPUT — устанавливает режим чтения.

OUTPUT — устанавливает на вывод.

pinMode (2, INPUT);

В ардуино все контакты настроены на режим чтения по умолчанию. Так что, если вы не указываете режим OUTPUT, то эти команды можно пропустить. Однако, на этапе обучения мы будем их использовать всегда.

digitalRead()

Функция digitalRead() считывает значение с заданного контакта. В результате ей будет присвоено значение HIGH или LOW, соответственно логические 1 и 0.

Если контакт не подключен, то значение функции может быть любое. Об этом важно помнить. Так как мы хотим подключить к этому контакту кнопку и считывать нажатия на нее. Но без дополнительных резисторов контакт останется не подключенным, когда кнопка не нажата.

Поэтому, для того чтобы избежать ошибок связанных с кнопкой мы будем использовать стягивающий резистор.

Стягивающий резистор подключается параллельно с кнопкой и соединяет пин настроенный на чтение с землей. Таким образом, когда кнопка не нажата, на входе пина установлен LOW уровень напряжения. А когда кнопка нажата, уровень меняется на HIGH.

Подключим кнопку и светодиод соответственно схеме.

Принципиальная схема подключения кнопки и светодиода
Принципиальная схема подключения кнопки и светодиода

Соединим 2 цифровой контакт на плате ардуино с синей шиной на макетной плате через резистор 20 кОм. Также соединим один из контактов кнопки с этой же группой контактов на макетной плате.

Второй контакт кнопки соединим с красной шиной макетной платы.

Анод светодиода через резистор 220 Ом соединяем с 9 пином на ардуино, а Катод с землей.

И соединим синюю шину макетной платы с контактом gnd на плате ардуино, а красную с контактом 5в.

Программа

В среде разработки arduino ide уже есть подходящая программа для нашего урока, воспользуемся ей. В меню файл, examples, digital выберем программу button.

По умолчанию, на вывод светодиода в ней используется 13 пин и подключенная лампочка на плате. Но мы изменим константу ledpin на 9.

const int ledPin =  9;

В цикле loop переменная buttonState считывает нажатие на кнопку.

buttonState = digitalRead(buttonPin);

И в блоке if else мы проверяем состояние переменной buttonState и зажигаем светодиод, если напряжение на 2 пине = 5 вольтам.

  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
Светодиод реагирует на нажатие кнопки
Светодиод реагирует на нажатие кнопки

Полный текст программы

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  9;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}

Заключение

В этот раз мы рассмотрели новую программу из библиотеки примеров кода в arduino ide. Собрали схему управления светодиодом. Подключили кнопку к ардуино и научились считывать нажатия на эту кнопку в программе. Это уже похоже на настоящее устройство. В следующий раз рассмотрим использование кнопок чуть подробнее и улучшим программу для управления светодиодом.

Похожее

Tags

  • Основное

Навигация по записям

Массив и ардуино. Урок 2.1. Ардуино
Дребезг кнопки. Урок 2.3. Ардуино

Share your thoughts Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Новое видео на канале

https://youtu.be/bvzX-edTdS0

Свежие записи

  • Четырехразрядный индикатор. Урок 24. Ардуино
  • 7 сегментный индикатор. Урок 23. Ардуино
  • Клавиатура. Урок 22. Ардуино
  • OLED дисплей. Урок 21. Ардуино
  • Много кнопок на одном пине. Урок 20. Ардуино

Метки

  • Bluetooth
  • RGB Светодиоды
  • WIFI
  • Двигатели
  • Звук
  • Игры
  • Интернет вещей
  • Лего
  • Основное
  • Программирование
  • Уроки

Купить стартовый набор Ардуино UNO на Aliexpress

Стартовый набор Ардуино Уно

Купить набор датчиков для Ардуино 45 штук на Aliexpress

набор датчиков для Ардуино

arcadepub

Do you know how this display works? It is pretty e Do you know how this display works? It is pretty easy to use it with #arduino.
#arduinouno #arduinoproject #arcadepub #ардуино #аркадныйпаб #ардуинопроект
How to use 7 segments indicator with #arduino its How to use 7 segments indicator with #arduino its pretty easy.
#arduinouno #arduinoproject #arcadepub
How to use 4x4 keypad with #arduino check it out. How to use 4x4 keypad with #arduino check it out. #arduinouno #arduinoproject #arcadepub
How to use oled display with #arduino it's pretty How to use oled display with #arduino it's pretty easy. #arcadepub #ардуино #ардуинопроект #arduinoproject #arduinouno
Hi there! How to control button debounce without c Hi there! How to control button debounce without code. Lets see.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hello there! Let's write a program to control ard Hello there!  Let's write a program to control arduino by ir.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hey! How are you doing? How do you think, we can c Hey! How are you doing? How do you think, we can control arduino program by ir? I bet we can. 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hello! There is a second video on my youtube chann Hello! There is a second video on my youtube channel. I've just added subtitles, so you can see how to use if and else structures and for() loop in arduino program. Enjoy, and do NOT forget to subscribe. 
https://youtu.be/8AHfAQyNAqU

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #youtube
Hi there! How is it going? Photo resistor and lase Hi there! How is it going? Photo resistor and laser are here. Look at graphics and try to understand how it works!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Here is ky-039 heart beat arduino module. Do you l Here is ky-039 heart beat arduino module. Do you like it? Write in the comments below!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Its Magic lights with ky-027 arduino module. Do yo Its Magic lights with ky-027 arduino module. Do you like it?  Write in the comments below!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Arduino and #laser are together. Please subscribe Arduino and #laser are together.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Do you know how gyroscope modul works with arduino Do you know how gyroscope modul works with arduino? 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #rfid #arduinoproject
Do you know how you can use rfid module with ardui Do you know how you can use rfid module with arduino? 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #rfid #arduinoproject
It is almost done Please subscribe to my youtube It is almost done

Please subscribe to my youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering #arduinoproject #robot #spiderbot
Begin to make a spider bot. Please subscribe to Begin to make a spider bot. 

Please subscribe to my youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering #arduinoproject #robot #spiderbot
Hello folks! There are 1000 of us on my instagram Hello folks! There are 1000 of us on my instagram account. And i want to tell thanks to each of you!
I'd like to tell more about this project. And that's why i made a video on youtube channel. 
It is in russian, but i have added english subtitles. 
I'm gonna tell you about many intriguing Arduino projects.
So, please, take a look at video. And subscribe to my youtube channel as well. 

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering
How can we know that flower needs to be watered. L How can we know that flower needs to be watered. Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering
How to turn light on by clapping. Like and Subscri How to turn light on by clapping. Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit
Is it possible to turn light on over the internet? Is it possible to turn light on over the internet? Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit
Загрузи больше…

ArcadePUB @ 2020

arduino@arcadepub.ru

На сайте вы найдете уроки, проекты и обзоры всего, что связано с ардуино.

Аркадные игры и автоматы.

DIY проекты

Метки

  • Bluetooth
  • RGB Светодиоды
  • WIFI
  • Двигатели
  • Звук
  • Игры
  • Интернет вещей
  • Лего
  • Основное
  • Программирование
  • Уроки

Свежие записи

  • Четырехразрядный индикатор. Урок 24. Ардуино
  • 7 сегментный индикатор. Урок 23. Ардуино
  • Клавиатура. Урок 22. Ардуино
  • OLED дисплей. Урок 21. Ардуино
  • Много кнопок на одном пине. Урок 20. Ардуино

Навигация

  • Главная
  • Уроки
  • Датчики
  • Проекты
  • Справочник языка Ардуино
  • Справочник
  • Видео
  • Контакты
  • Поддержать

Дополнительно

Поддержать

Контакты

YouTube
Patreon
VK
Instagram
Twitter