Приветствие

Мир вам! Совсем скоро - 1 сентября - начнется долгожданный учебный год! Приветствую вас наилучшим приветствием на нашем сайте! Внимательно изучайте материал, и правильно выполните задания. Старайтесь! Ребята, каждый из вас как бриллиант в руках мастера, старайтесь, сделайте так как нужно, станьте золотым фондом школы и пусть у вас дай Бог всё получиться! Школа и учителя - это родной дом. Постоянно учитесь. Ни на минуту ни прекращайте учить себя. Любите свою Родину, мечтайте, проявляйте интерес и побеждайте! Хочу сказать о важности воспитания уважения в педагогической среде. Вот несколько причин, почему уважение важно в классе: Создает безопасное и инклюзивное пространство. Уважение помогает создать безопасную и инклюзивную учебную среду, в которой все учащиеся чувствуют, что их ценят и принимают. Когда ученики чувствуют уважение, они с большей вероятностью выражают свои идеи и мнения, даже если они отличаются от своих одноклассников, что может привести к богатому обмену идеями. Способствует положительным отношениям: уважительное общение между учителями и учениками, а также между самими учениками может способствовать положительным отношениям и чувству общности в классе. Это может привести к более благоприятной и совместной учебной среде. Улучшает успеваемость: когда учащиеся могут уважительно относиться друг к другу, они с большей вероятностью положительно реагируют на указания и инструкции, что может привести к улучшению успеваемости. Развивает социально-эмоциональные навыки: обучение уважению в классе может помочь учащимся развить социально-эмоциональные навыки, такие как эмпатия, понимание и разрешение конфликтов, которые имеют решающее значение для успеха в школе, на работе и в личных отношениях. Повышает эффективность учителя: уважение в классе может повысить эффективность учителя и поощрять активное и надлежащее участие в занятиях в классе. В целом, воспитание уважения в педагогической среде имеет важное значение для создания безопасной, инклюзивной и поддерживающей среды обучения, которая способствует позитивным отношениям, академическим успехам и социально-эмоциональному развитию.

Поиск по базе данных сайта

Тема: Общее устройство робота. Механическая часть. Принцип программного управления.

 

Как устроен робот и как он работает

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

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

Шаг 1 — Ухо.

Робот получает информацию или испытывает воздействие извне. Для этого он использует датчики, сенсоры и другие устройства. Сенсор движения, который включает электричество, когда мы входим в помещение, валидатор проездного в метро, микрочип для распознавания голоса в голосовых помощниках — все это устройства для получения информации из окружающей среды.

Шаг 2 — Мозг.

Робот перерабатывает полученную информацию по заранее заданному алгоритму. В разные времена и в разных ситуациях алгоритм работы задавали по-разному. Так, первые механические роботы начинали двигаться, когда их заводили, как часы. Сегодня «решение» обычно принимает маленький бортовой компьютер — микроконтроллер с записанной на него программой. Скажем, на основе данных с сенсора движения микроконтроллер дает освещению команду включиться или выключиться. Другой микроконтроллер решает, открывать ли турникет метро. Третий сопоставляет голосовую команду с заданным алгоритмом и по просьбе хозяина включает телевизор. Это — устройства анализа полученной информации.

Шаг 3 — Рука.

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

Как понять, что перед вами робот? Обязательные элементы

Определить, робот перед вами или нет, можно, обратив внимание на характерные признаки. У робота всегда есть:

Система датчиков — через нее робот получает информацию из внешнего мира. Например, это датчики движения, сенсоры обнаружения препятствий и т. п.

Цель — «смысл жизни робота», та задача, ради автоматизации которой его придумали.

Алгоритм действий — по нему робот выполняет нужные действия в разных условиях в соответствии с поставленной целью (сегодня это обычно программа, раньше мог быть механизм).

Исполняющее устройство — двигатель, «руки», «ноги». То, что приводит робота в действие или изменяет его положение в пространстве.

Система, в которую объединены первые четыре пункта, то, как они связаны и взаимодействуют.

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

Датчик, алгоритм, исполняющее устройство — это основа, заложенная внутрь любого робота. Но обойтись только этим набором сложно. Чтобы робот мог решать больше задач, а работать с ним было удобнее, к основе часто добавляют разные детали. Ниже мы собрали самые популярные (но помните, что одними ими список не ограничивается).

Как заставить робота работать: 5 основных способов

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

Роботы бывают:

Механические

Заводные механические устройства использовали еще древние греки, а первый антропоморфный механический робот появился в XII веке у арабов. В наши дни механику блестяще использует нидерландский художник Тео Янсен: его знаменитые «шагающие фигуры» приводятся в действие ветром, прибоем или человеком.

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

Электронные

Первым таким роботом принято считать миниатюрное радиоуправляемое судно, которое разработал в конце XIX века Никола Тесла. В 1930-х появились первые устройства, которые напоминали человека и могли выполнить простейшие действия и даже воспроизводить отдельные фразы. Сегодня электронные элементы в роботах используются очень широко, но зачастую в комбинации с другими типами систем.

Это роботы-программы, которые умеют взаимодействовать с объектами реального мира и давать осязаемый результат. «Умный дом» в городе, «умная теплица» на ферме, «умный климат-контроль» в офисе, программа, которая включает сеть уличного освещения по расписанию — это тоже роботы.

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


Принцип программного управления.

Аrduino для начинающих

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

Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.

Что такое Arduino и для чего оно нужно?

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

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

проекты на Arduino
проекты на Arduino

Стартовый набор Arduino

Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:

Базовый набор ардуино для начинающих:КУПИТЬ
Большой набор для обучения и первых проектов:КУПИТЬ
Набор дополнительных датчиков и модулей:КУПИТЬ
Ардуино Уно самая базовая и удобная модель из линейки:КУПИТЬ
Беспаечная макетная плата для удобного обучения и прототипирования:КУПИТЬ
Набор проводов с удобными коннекторами:КУПИТЬ
Комплект светодиодов:КУПИТЬ
Комплект резисторов:КУПИТЬ
Кнопки:КУПИТЬ
Потенциометры:КУПИТЬ

Среда разработки Arduino IDE

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

ВерсияWindowsMac OS XLinux
1.8.2

Zip

Installer

Installer

32 bits

64 bits

ARM

Язык программирования Ардуино

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

Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:

  • После каждой инструкции необходимо ставить знак точки с запятой (;)
  • Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
  • Так же необходимо указывать тип данных перед объявлением переменной.
  • Комментарии обозначаются: // Строчный и /* блочный */

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

Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().

Функция setup

Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключенные библиотеки. Если для вашей прошивки ничего подобного делать не нужно, то функция все равно должна быть объявлена. Вот стандартный пример функции setup():

void setup() {
	Serial.begin(9600);		// Открываем serial соединение
	pinMode(9, INPUT);		// Назначаем 9 пин входом
	pinMode(13, OUTPUT);  // Назначаем 13 пин выходом
}

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

Функция loop

Функция loop() выполняется после функции setup(). Loop в переводе с английского значит «петля». Это говорит о том что функция зациклена, то есть будет выполняться снова и снова. Например микроконтроллер ATmega328, который установлен в большинстве плат Arduino, будет выполнять функцию loop около 10 000 раз в секунду (если не используются задержки и сложные вычисления). Благодаря этому у нас есть большие возможности.

Макетная плата Breadbord

Вы можете создавать простые и сложные устройства. Для удобства я советую приобрести макетную плату (Breadbord) и соединительные провода. С их помощью вам не придется паять и перепаивать провода, модули, кнопки и датчики для разных проектов и отладки. С беспаечной макетной платой разработка становится более простой, удобной и быстрой. Как работать с макетной платой я рассказывал в этом уроке. Вот список беспаечных макетных плат:

Макетная плата на 800 точек с 2 шинами питания, платой подачи питания и проводами:КУПИТЬ
Большая макетная плата на 1600 точек с 4 шинами питания:КУПИТЬ
Макетная плата на 800 точек с 2 шинами питания:КУПИТЬ
Макетная плата на 400 точек с 2 шинами питания:КУПИТЬ
Макетная плата на 170 точек:КУПИТЬ
Соединительные провода 120 штук:КУПИТЬ

Первый проект на Arduino

Давайте соберем первое устройство на базе Ардуино. Мы просто подключим тактовую кнопку и светодиод к ардуинке. Схема проекта выглядит так:

Подключение светодиода к Arduino
Управление яркостью светодиода

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

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

 // переменные с пинами подключенных устройств
int switchPin = 8;
int ledPin = 11;


// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;

void setup() {
	pinMode(switchPin, INPUT);
	pinMode(ledPin, OUTPUT);
}


// функция для подавления дребезга
boolean debounse(boolean last) {
	boolean current = digitalRead(switchPin);
	if(last != current) {
		delay(5);
		current = digitalRead(switchPin);
	}
	return current;
}

void loop() {
	currentButton = debounse(lastButton);
	if(lastButton == LOW && currentButton == HIGH) {
		ledOn = !ledOn;
	}
	lastButton = currentButton;
	digitalWrite(ledPin, ledOn);
}

В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть целый урок на моем сайте. Обязательно ознакомьтесь с этим материалом.

ШИМ Arduino

Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:

ШИМ ардуино
ШИМ ардуино

Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.

В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.

Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:

 // Светодиод подключен к 11 пину
int ledPin = 11;

void setup() {
	pinMode(ledPin, OUTPUT);
}

void loop() {
	for (int i = 0; i < 255; i++) {
		analogWrite(ledPin, i);
		delay(5);
	}

	delay(1000);

	for (int i = 255; i > 0; i--) {
		analogWrite(ledPin, i);
		delay(5);
	}
}

Аналоговые входы Arduino

Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.

Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:

Подключение фоторезистора к Arduino
Подключение фоторезистора к Ардуино

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

int sensePin = 0;  // Пин к которому подключен фоторезистор
 
void setup() {
 analogReferense(DEFAULT);  // Задаем опорное значение напряжения. Эта строка не обязательна.
 Serial.begin(9600);  // Открываем порт на скорости 9600 бод.
}
 
void loop() {
 Serial.println(analogRead(sensePin));  // Считываем значение и выводим в порт
 delay(500);  // задержка для того что бы значений было не слишком много
}

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

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

Комментариев нет:

Отправить комментарий

Цитата:

Учитель воспитывает ученика, а воспитанный ученик в свою очередь воспитывает другого ученика. - Если тот, кто получил воспитание, находится на начальном уровне. - То тот, кто воспитан и воспитывает других, находится на высоком уровне.

Задолженности по ДЗ

Можно исправить, после уроков с 15:00 до 16:00! Тетради на проверку приносим учителю.