1037496
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
+Добавить материал
и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
Дистанционные курсы профессиональной переподготовки и повышения квалификации для педагогов

Дистанционные курсы для педагогов - курсы профессиональной переподготовки от 1.410 руб.;
- курсы повышения квалификации от 430 руб.
Московские документы для аттестации

ВЫБРАТЬ КУРС СО СКИДКОЙ ДО 90%

ВНИМАНИЕ: Скидка действует ТОЛЬКО до конца апреля!

(Лицензия на осуществление образовательной деятельности №038767 выдана ООО "Столичный учебный центр", г.Москва)

ИнфоурокДругоеКонспектыУрок робототехники №5 "Кнопки и входы в Ардуино"

Урок робототехники №5 "Кнопки и входы в Ардуино"

библиотека
материалов
Скачать материал целиком можно бесплатно по ссылке внизу страницы.

6 урок Ардуино


Кнопка
В следующем скетче будет использоваться кнопка с нормально разомкнутыми контактами, без фиксации.Это значит, что пока кнопка не нажата, ток через неё не идёт, а после отпускания, кнопка возвращается в исходное положение. 
В схеме, помимо кнопки используется резистор. В данном случае он не ограничивает ток, а "подтягивает" кнопку к 0в (GND). Т.е. пока кнопка не нажата на выводе Ardunio, к которому она подключена, будет низкий уровень. Резистор, используемый в схеме 10 кОм.

//определяем нажатие кнопки

int buttonPin = 7;

void setup(){

pinMode(buttonPin, INPUT);//инициализируем пин на вход

Serial.begin(9600);//инициализируем последовательный порт

}

void loop(){

if (digitalRead(buttonPin)==HIGH){//если кнопка нажата

Serial.println("pressed"); // выводим надпись "pressed"

} else {

Serial.println("unpressed");// иначе "unpressed"

}

}

В этом скетче несколько новых команд.
digitalRead(pinNumber)-эта команда принимает значение High (высокий уровень) и low (низкий уровень), того вывода, который мы проверяем. Предварительно в setup() этот вывод надо настроить на вход.
pinMode (buttonPin, INPUT); //где buttonPin это номер вывода, куда подсоединяется кнопка.
Последовательный порт позволяет отправлять Ardunio сообщения на компьютер, в то время, как сам контроллер выполняет программу. Это полезно для отладки программы, отправки сообщений на другие устройства или приложения. Чтобы включить передачу данных через последовательный порт (другое название UART или USART), надо инициализировать его в setup()
Serial.begin() имеет всего один аргумент-это скорость передачи данных между Ardunio и компьютером. скетче используется команда Serial.print() для вывода сообщения на экран в Ardunio IDE (Tools >> Serial Monitor).
If/else- конструкция позволяют контролировать ход выполнения программы, объеденив несколько проверок в одном месте.If(если) digitalRead возвращает значение HIGH, то на мониторе выводится слово "нажата". Else(иначе) на мониторе выводится слово " отжата" . Теперь можно попробовать включать и выключать светодиод по нажатию кнопки.

//button press detection with LED output

int buttonPin = 7;

int ledPin = 8;

void setup(){

pinMode(buttonPin, INPUT);//this time we will set button pin as INPUT

pinMode(ledPin, OUTPUT);

Serial.begin(9600);

}

void loop(){

if (digitalRead(buttonPin)==HIGH){

digitalWrite(ledPin,HIGH);

Serial.println("pressed");

} else {

digitalWrite(ledPin,LOW);

Serial.println("unpressed");

}

}


Аналоговый вход.
analogRead (pinNumber) analogRead позволяет считать данные с одного из аналоговых выводов Ardunio и выводит значение в диапазоне от 0 (0В) до 1023 (5В). Если напряжение на аналоговом входе будет равно 2.5В, то будет напечатано 2.5 / 5 * 1023 = 512
analogRead имеет только один аргумент- Это номер аналогового входа (А0-А5). В следующем скетче приводится код считывания напряжения с потенциометра. Для этого подключите переменный резистор, крайними выводами на пины 5V и GND, а средний вывод на вход А0.

Запустите следующий код и посмотрите в serial monitor, как меняются значения в зависимости от поворота ручки резистора.

//analog input


int potPin = A0;//к этому пину подсоединяется центральный вывод потенциометра


void setup(){

//аналоговый пин по умолчанию включен на вход, поэтому инициализация не нужна

Serial.begin(9600);

}


void loop(){

int potVal = analogRead(potPin);//potVal is a number between 0 and 1023

Serial.println(potVal);

}

Следующий скетч объединяет скетч нажатия кнопки и скетч управления яркостью светодиода. Светодиод будет включаться от кнопки, и управлять яркостью свечения будет потенциометр.

//button press detection with LED output and variable intensity

int buttonPin = 7;

int ledPin = 9;

int potPin = A0;

void setup(){

pinMode(buttonPin, INPUT);

pinMode(ledPin, OUTPUT);

Serial.begin(9600);

}

void loop(){

if (digitalRead(buttonPin)==HIGH){//if button pressed

int analogVal = analogRead(potPin);

int scaledVal = map(analogVal, 0, 1023, 0, 255);

analogWrite(ledPin, scaledVal);//turn on led with intensity set by pot

Serial.println("pressed");

} else {

digitalWrite(ledPin, LOW);//turn off if button is not pressed

Serial.println("unpressed");

}

}





Общая информация

Номер материала: ДВ-426810

Вам будут интересны эти курсы:

Курс повышения квалификации «Подростковый возраст - важнейшая фаза становления личности»
Курс «Менеджер по продажам»
Курс повышения квалификации «Интеллектуальная собственность: авторское право, патенты, товарные знаки, бренды»
Курс профессиональной переподготовки «Клиническая психология: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Организация практики студентов в соответствии с требованиями ФГОС педагогических направлений подготовки»
Курс повышения квалификации «Организация практики студентов в соответствии с требованиями ФГОС юридических направлений подготовки»
Курс повышения квалификации «Финансы: управление структурой капитала»
Курс повышения квалификации «Психодинамический подход в консультировании»
Курс профессиональной переподготовки «Организация технической поддержки клиентов при установке и эксплуатации информационно-коммуникационных систем»
Курс профессиональной переподготовки «Деятельность по хранению музейных предметов и музейных коллекций в музеях всех видов»
Курс повышения квалификации «Финансовые инструменты»
Курс профессиональной переподготовки «Метрология, стандартизация и сертификация»
Курс профессиональной переподготовки «Организация деятельности по водоотведению и очистке сточных вод»
Курс профессиональной переподготовки «Техническая диагностика и контроль технического состояния автотранспортных средств»
Курс профессиональной переподготовки «Организация и управление процессом по предоставлению услуг по кредитному брокериджу»

Благодарность за вклад в развитие крупнейшей онлайн-библиотеки методических разработок для учителей

Опубликуйте минимум 3 материала, чтобы БЕСПЛАТНО получить и скачать данную благодарность

Сертификат о создании сайта

Добавьте минимум пять материалов, чтобы получить сертификат о создании сайта

Грамота за использование ИКТ в работе педагога

Опубликуйте минимум 10 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Свидетельство о представлении обобщённого педагогического опыта на Всероссийском уровне

Опубликуйте минимум 15 материалов, чтобы БЕСПЛАТНО получить и скачать данное cвидетельство

Грамота за высокий профессионализм, проявленный в процессе создания и развития собственного учительского сайта в рамках проекта "Инфоурок"

Опубликуйте минимум 20 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Грамота за активное участие в работе над повышением качества образования совместно с проектом "Инфоурок"

Опубликуйте минимум 25 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Почётная грамота за научно-просветительскую и образовательную деятельность в рамках проекта "Инфоурок"

Опубликуйте минимум 40 материалов, чтобы БЕСПЛАТНО получить и скачать данную почётную грамоту

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