Правила разборки БП у компьютера
Блок питания ноутбука и компьютера отличаются даже внешним видом, поэтому и процесс проведения сборки и разборки сопровождается некоторыми характерными особенностями. По этой причине владельцу ПК следует вникнуть и в другой алгоритм, как разобрать блок питания компьютера.
Алгоритм разборки БП компьютера
Блок питания компьютера может подвергаться разборке не только, когда возникла ситуация, указывающая на его неработоспособность. Это устройство может подвергаться сильному запылению, а пыль, как известно, является наиважнейшим врагом для компьютерной техники. Своевременная чистка БП от пыли благоприятствует продолжительной эксплуатационной работоспособности ПК.
Первоначально следует отвинтить все винты, при помощи которых БП подсоединён к системному блоку. После этого прямоугольную металлическую конструкцию можно вынуть на ровную поверхность
На корпусе блока питания легко обнаружить несколько винтиков, которые также важно открутить
После осуществления таких действий крышка вентилятора будет легко снята. Чистке вентилятора, представляющего собой устройство системы охлаждения, теперь ничто не препятствует.
Далее важно отсоединить плату, открутив вновь четыре винта. Плата легко отсоединяется и подвергается аккуратной чистке, используя мягкую кисточку
Во время проведения чистки любых составляющих специалисты рекомендуют избегать прямого соприкосновения деталей с руками человека, поскольку засаленные места сильнее притягивают большое количество пыли. По этой причине блок питания будет загрязняться быстрее.
Собрать БП компьютера не составляет сложности, поскольку все действия, проделанные первоначально, вновь точно так же осуществляются, но только в обратной последовательности.
Итак, каждый, кто стал обладателем компьютерной техники, может при желании не только успешно использовать все её функциональные возможности, но и при необходимости самостоятельно осуществлять «реанимацию» любимого компа. Для этого всего лишь требуется внимательно изучить рекомендации опытных гуру, которые пошагово расписали, как вскрыть БП и у ноутбука, и у компьютера.
Видеокарта и другие детали
Следующим шагом является отключение видеокарты. Конечно, можно и без нее достать материнскую плату с корпуса, но обычно адаптер довольно массивный и проще его достать.
Видеокарта находится в разъеме и закреплена защелками
Поэтому важно не тянуть устройство, а сначала снять крепление, а после уже отключать его. Рычаг обычно легко нажимается, достаточно на него надавить, чтобы он высвободил адаптер
Компонент нужно положить в безопасное место. Лучше проводить разборку и чистку в помещении, куда не может попасть ребенок или животное.
После этого можно достать блок питания. В некоторых случаях он может помешать достать системную плату из корпуса. Если БП находится в специальном отсеке, то достаточно будет отключить его от платформы.
Также стоит обратить внимание на систему охлаждения процессора. Если это стандартный кулер, то с ним легко будет достать «материнку», если же установлен более мощный вентилятор, может понадобиться его демонтаж
Вообще, желательно снять сразу все, что будет мешать откручивать винтики и доставать плату.
Одномерное динамическое программирование
Последовательность Фибоначчи Fn задается формулами: F1 = 1, F2 = 1,
Fn = Fn – 1 + Fn – 2 при n > 1. Необходимо найти Fn по номеру n.
Один из способов решения, который может показаться логичным и эффективным, — решение с помощью рекурсии:
def fib(n): if n <= 1 return n else return fib(n-1) + fib(n-2)
Используя такую функцию, мы будем решать задачу «с конца» — будем шаг за шагом уменьшать n, пока не дойдем до известных значений.
Но как можно заметить, такая, казалось бы, простая программа уже при n = 40 работает заметно долго. Это связано с тем, что одни и те же промежуточные данные вычисляются по несколько раз — число операций нарастает с той же скоростью, с какой растут числа Фибоначчи — экспоненциально.
Один из выходов из данной ситуации — сохранение уже найденных промежуточных результатов с целью их повторного использования (кеширование):
F = -1*MAX_POSSIBLE_N def fib(n): if n <= 1 return n if Fn == -1 Fn = fib(n-1) + fib(n-2) return Fn
Приведенное решение корректно и эффективно. Но можно поступить ещё проще:
def fib(n): F = -1*(n+1) F = F1 = 1 for i in range(2, n+1): Fi = Fi - 1 + Fi - 2 return Fn
Такое решение можно назвать решением «с начала» — мы первым делом заполняем известные значения, затем находим первое неизвестное значение, потом следующее и т.д., пока не дойдем до нужного.
Именно такое решение и является классическим для динамического программирования: мы сначала решили все подзадачи (нашли все F для i < n), затем, зная решения подзадач, нашли ответ.
Рассмотрим следующую задачу. На числовой прямой сидит кузнечик, который может прыгать вправо на одну или на две единицы. Первоначально кузнечик находится в точке с координатой 1. Определите количество различных маршрутов кузнечика, приводящих его в точку с координатой n.
Обозначим количество маршрутов кузнечика, ведущих в точку с координатой n, как K. Прежде всего заметим, что существует ровно один маршрут из точки 1 в точку 1 — он не содержит ни одного прыжка. В точку 2 можно прыгнуть единственным способом — из точки 1.
Как вычислить K? В точку кузнечик может попасть двумя способами — из точки при помощи прыжка длиной 2 и из точки прыжком длины 1. То есть число способов попасть в точку n равно сумме числа способов попасть в точку (n-1) и (n-2), что позволяет выписать рекуррентное соотношение: K = K + K.
Можно заметить, что данная задача по сути свелась к числам Фибоначчи, поэтому мы не будем выписывать её решение.
Решите задачу о количестве способов достичь точки n из точки 1, если кузнечик умеет прыгать +1, +2 и +3.
Решите задачу о количестве способов достичь точки n из точки 1, если кузнечик умеет прыгать +1, +2 и *3.
Пусть кузнечик прыгает на одну или две точки вперед, а за прыжок в каждую точку необходимо заплатить определенную стоимость, различную для различных точек. Стоимость прыжка в точку i задается значением price списка price. Необходимо найти минимальную стоимость маршрута кузнечика из точки 0 в точку n.
На этот раз нам необходимо модифицировать определение целевой функции. Пусть C — минимальная стоимость пути из 1 в n.
Выведем рекуррентное соотношение для этой функции.Чтобы попасть в точку n мы должны попасть в неё последним прыжком из (n-1) или (n-2). Минимальные стоимости этих маршрутов будут равны С и С соответственно, к ним придется добавить значение price за прыжок в клетку n. Но из двух клеток мы можем выбрать любую.
Нужно выбрать тот маршрут, который имеет наименьшую стоимость: C = min(C, C) + price
Вычислить значение целевой функции также лучше при помощи динамического программирования, а не рекурсии.
Напишите функцию calculate_min_cost(n, price) вычисления наименьшей стоимость достижения клетки n из клетки 1
Базовые задачи[править]
Scanправить
На диске записаны чисел, нужно найти их сумму (например, по какому-нибудь модулю). Очевидно, что эта задача равносильна просто считыванию с диска. Сложность линейного сканирования данных с диска —
Важно заметить, что из-за округления, в общем случае .
Слияние упорядоченных последовательностейправить
Пусть имеется две упорядоченные последовательности размера и соответственно. Чтобы их слить, достаточно завести во внутренней памяти блока. В первые мы будем читать сами последовательности, а в третий — записывать результат слияния, используя с указателями. Как только какой-то из указателей дошел до конца блока, необходимо считывать следующий, а когда буфер с результатом слияния заполнился — необходимо записывать его во внешнюю память и очищать. Сложность алгоритма —
Сортировкаправить
Поскольку мы легко умеем выполнять слияние упорядоченных последовательностей, логичным шагом будет рассмотреть сортировку во внешней памяти. Рассмотрим некоторую модификацию алгоритма Merge sort. В стандартном алгоритме все элементы разбиваются на пары, после чего сливаются в упорядоченные последовательности длины , те в свою очередь сливаются в последовательности длины и так далее (для простоты описания будем считать, что и это степени двойки). Во внешней памяти не выгодно начинать с последовательностей длины , так как чтение происходит блоками длины . Вместо этого можно целиком считать блок и отсортировать его во внутренней памяти. Тогда количество листьев в дереве сортировки будет не , а . Помимо этого, гораздо выгоднее сливать больше чем списка за раз, чтобы уменьшить высоту дерева сортировки. Так как оперативная память размера , то можно сливать сразу списков. Итого, на каждом уровне дерева сортировки мы выполняем операций и итоговая сложность — .
В качестве небольшой оптимизации можно в начале сортировать во внутренней памяти последовательности длины , а не . Хотя итоговая сложность и станет , но это уменьшит высоту дерева сортировки всего на единицу, что не очень сильно скажется на времени работы.
Joinправить
Пусть во внешней памяти есть таблицы вида . Первая таблица имеет вид , вторая — . Необходимо получить таблицу вида (не умаляя общности считаем, что и являются перестановками чисел от до ). Очевидно, что задача решается просто сортировками таблиц по ключу с последующим проходом по ним указателями. Поэтому сложность алгоритма — .
Данный алгоритм хоть и крайне прост, является одним из ключевых примитивов. Когда необходимо совершить какую-то операцию над разбросанными по памяти данными, часто задача сводится к последовательности нескольких Join’ов.
Расшифровка маркировки Corsair
Маркировка оперативной памяти фирмы «Corsair» отличается от обозначений у других производителей. Разберем название «Corsair DDR4 CMU32GX4M4A2666C16R».
- CM — это аббревиатура Corsair Memory;
- U — серия;
- 32G — общий объём памяти комплекта;
- X4 — цифра указывает на тип памяти DDR4 (Х3 — DDR3);
- M4 — количество планок, которые входя в комплект;
- A — ревизия (особенности, не влияющие на характеристики);
- 2666 — частота работы оперативной памяти в мегагерцах;
- C16 — тайминг считывания (16 тактов);
- R — цвет радиатора, то есть красный (Red).
Развернутый вид: Corsair Memory 32GB (4 x 8GB) DDR4 DRAM 2666MHz C16 Memory Kit — Red .
Как узнать, чипованная PS2 или нет. Виды и возможности чипов для PS2
Предположим, вы купили PS2 с рук или она досталась вам от вашего друга, брата или кого-то еще. Если вы не знаете, на вашей консоли, прочтите эту статью.
Мы расскажем о возможностях прошитой приставки, а также о том, как узнать, чипованная PS2 или нет.
Чипы для ПС2
Чиповка – это процесс установки дополнительного модуля. Чип припаивается к материнской плате, наделяя ее дополнительными возможностями.
Существует ряд чипов, подходящих для PS2: несколько версий PS2 Modbo Chip (Modbo 4.0, Modbo 5.0, Modbo 760), а также Mars PRO GM-816HD.
Мод чипы для PS2 постоянно эволюционировали, чему поспособствовало развитие системы защиты самой консоли. Чем новее чип, тем больше возможностей он дает.
Схема пайки чипа для PS2 не сложная, но только для тех, кто неоднократно занимался пайкой микросхем или ремонтом электроники.
Чтобы справиться с установкой чипа, вы должны уметь обращаться с паяльной станцией и иметь специальное оборудование. Если вы не любите рисковать, обратитесь в мастерскую.
Запуск самописного диска на чипованной PS2
Рассмотрим возможности одного из популярных чипов – Modbo 760. Установка модуля специально упрощена, чтобы сократить время установки (только для опытных пользователей). Кроме этого, чип подходит ко всем известным версиям консоли, особенно для тех, которые были предназначены специально для российского рынка (SCPH-39008, SCPH-50008, SCPH-70008 и другие).
Главная особенность Modbo 760 – возможность выхода в сервисное меню чипа PS2, которое позволяет настроить модуль.
Возможности чипа:
- Поддерживает игры PS1 и PS2, которые можно скачать из интернета и скопировать на диск или флешку;
- Поддерживает диски DVD-R, DVD+R;
- Есть автоопределение дисков. Приставка сама понимает, какой диск находится в приводе, и включает нужный режим (просмотр видео, запуск игры и т.д.).
В наших мастерских производится чиповка PS2 . Вы можете смело довериться многолетнему опыту наших специалистов. Звоните и записывайтесь!
Как узнать, какой чип стоит на PS2
Возвращаясь к теме статьи, расскажем, как определить, чипованная приставка или нет.
Перед тем, как проверять, нужно:
- Извлечь карту памяти;
- Вынуть диск из привода.
Одно из описанных ниже действий точно должно помочь проверить, чипованная PS2 или нет.
У многих чипов есть начальная экранная заставка, где написано его название и отображен логотип.
После запуска чипованной PS2 под логотипом PlayStation часто появляется надпись или любые другие сторонние обозначения. Это происходит при запуске игры.
Если ничего такого нет, можно попробовать открыть меню чипа. Как только включите приставку:
- Удерживайте кнопки «треугольник» и «круг» (работает для чипов Modbo);
- Зажмите «крестик» и «квадрат» (работает с чипами Mars Pro).
Если меню с различными переключателями (ON / OFF) не открывается — попробуйте вставить пиратский или самописный диск. Если браузер попросит диск формата PS2, значит чипа нет.
Плюсы прошитой Sony PlayStation 2
Разберемся, что дает прошивка PS2, а также рассмотрим, какие преимущества получает пользователь, когда начинает играть на прошитой PS2. Любая прошивка – это в первую очередь бесплатные игры.
Вы можете запускать игры, как с самописного или пиратского диска, так и с флешки. Если вы владелец PS2 Fat, вы можете докупить жесткий диск и перекидывать игры на него. Правда, сейчас HDD для PS2 найти очень сложно, а игры, которые вы будете с него запускать, могут сильно тормозить или вовсе не загружаться, поэтому лучше пользоваться USB-накопителями.
Кроме игр, можно устанавливать различные Homebrew-приложения. Это программы, которые написаны неофициальными сторонними разработчиками: плееры, браузеры, файловые менеджеры и т.д.
List Ranking[править]
Входные данные и ответ
Данная задача заключается в следующем: дан односвязный список, то есть для каждого элемента известно, какой идет следующим за ним. Необходимо для каждого элемента определить, каким он является по счету с конца списка. Расстояние до конца списка будем называть рангом элемента. Несмотря на простоту задачи в RAM-машине, во внешней памяти задача имеет нетривиальное решение. Из-за того что все данные лежат хаотично, мы не можем просто пройтись по списку, это может потребовать слишком много операций ввода-вывода.
Идеяправить
Решим задачу следующим способом: выкинем из списка какую-то часть элементов, после чего рекурсивно посчитаем ответ для полученного списка. Затем, зная промежуточный ответ, восстановим ответ для исходной задачи. Первая проблема — в модифицированном списке ранги элементов отличаются. Чтобы решить эту проблему, рассмотрим более общую задачу. Будем считать, что у каждого элемента есть вес, а ранг элемента — это сумма весов до конца списка. Для решения исходной задачи в самом начале присвоим каждому элементу вес .
Обозначенияправить
- — массив входных данных. означает, что после элемента идет ( значит, что элемент последний в списке).
- — вес элемента с номером
- — ранг элемента с номером
Удаление элементов и восстановление ранговправить
Если есть последовательных элемента , , (, ), то при удалении элемента нужно увеличить вес на . То есть . После того, как мы посчитаем ответ для модифицированного списка, ранг удаленного элемента будет равен .
Выкидывать по элементу крайне неэффективно, но если выкидывать какую-то весомую часть, то нужно быстро пересчитывать веса элементов. Сделать это можно с помощью уже рассмотренного Join, однако необходимо наложить ограничение на множество удаляемых элементов: никакие два удаленных элемента не должны идти подряд в списке. В противном случае может образоваться цепочка из удаленных элементов произвольной длины. Веса всех элементов этой цепочки нужно будет прибавить к первому не удаленному элементу, что равносильно самой задаче List Ranking, которую мы и пытаемся решить.
Рассмотрим как именно изменять веса элементов. Построим и отсортируем по ключу таблицы:
- Таблица из пар , где каждая пара значит, что после -ого элемента идет -ый (может быть получена из входных данных за время линейного сканирования)
- Таблица из пар , хранящая веса элементов
- Таблица , в которой записаны удаляемые элементы
Теперь пройдемся указателями по этим таблицам. Как только встречается триплет вида , , , то добавим в новую таблицу пару . В конце получится таблица добавок весов. Теперь из таблицы добавок и таблицы весов можно с помощью того же Join получить таблицу новых весов.
По возвращению из рекурсии аналогично пересчитываются ранги элементов. Рассмотрим таблицы:
- Таблица из пар , где каждая пара значит, что после -ого элемента идет -ый
- Таблица из пар , хранящая веса элементов
- Таблица из пар , в которой записаны ранги элементов модифицированного списка
Также пройдемся указателями по этим таблицам. Если нам встречается триплет вида , , , то добавим пару в таблицу новых рангов. Однако в эту таблицу попадут все элементы, у которых следующий элемент не был удален. Поэтому далее необходимо заменить лишние записи, используя таблицу старых рангов и Join.
Выбор удаляемых элементовправить
Открытым остался вопрос о том, какие элементы удалять. В идеале было бы удалять каждый второй элемент (больше нельзя, иначе ограничение будет нарушено), но понять какой элемент четный, какой нечетный не проще чем сама задача ранжирования. Один из способов удалять элементы — вероятностный. Для каждого элемента в списке бросим монетку. После этого выбросим всех орлов, после которых в списке идет решка (делается опять же с помощью Join). В таком случае никакие два выброшенных элемента не будут идти в списке подряд.
Подсчитаем математическое ожидание количества выброшенных элементов —
Тогда время работы алгоритма можно оценить с помощью рекурренты
Как мне создать жадный алгоритм?
Ваш алгоритм должен всегда отвечать на этот вопрос:
Вот и все. Не так уж и много. Жадные алгоритмы, как правило, легче кодировать, чем «разделяй и властвуй»(Divide & Conquer) или динамическое программирование (Dynamic Programming).
Подсчет выдачи сдачи используя жадность
Представьте, что вы торговый автомат. Кто-то дает вам £1 и покупает напиток за £0,70. В фунте стерлингов нет монеты 30 пенсов (30p). Как рассчитать, сколько сдачи вернуть?
Для справки, номинал каждой монеты в Великобритании:
1p, 2p, 5p, 10p, 20p, 50p, £1
Жадный алгоритм начинается с самого высокого номинала и работает в обратном направлении. Наш алгоритм начинается с £1. £1 фунт больше, чем 30 пенсов, поэтому он не может его использовать. Далее смотрим на 50р, видим то же самое. Потом 20р. 20p<30p, поэтому требуется 1 монета 20p.
Теперь алгоритм должен вернуть сдачу еще на 10p. Он снова пробует 20p, но 20p> 10p. Затем идет до 10р. Он выбирает 1 монету на 10p, и теперь возвращается 0, мы останавливаем алгоритм.
Итого мы возвращаем 1x20p и 1x10p.
Этот алгоритм работает довольно хорошо в реальной жизни. Давайте рассмотрим другой пример, на этот раз у нас есть номинал и количество этой монеты в автомате в формате (номинал, количество).
(1p, 10), (2p, 3), (5p, 1), (10p, 0), (20p, 1p), (50p, 19p), (100p, 16)
Алгоритм попросили снова вернуть сдачу на 30p. 100р (£ 1) — это нет. То же самое для 50. Далее 20p, мы можем сделать это. Мы выбираем 1x 20p. Теперь нам нужно вернуть 10р. 20p закончилось, поэтому мы идем вниз на 1 номинал.
10p закончилось, поэтому мы идем далее вниз еще на 1 номинал.
У нас 5p, поэтому мы выбираем 1x5p. Теперь нам нужно вернуть еще 5р. Проверяем 5p но они закончились, поэтому мы спускаемся вниз.
Мы выбираем 1 монету на 2p. Теперь нам нужно вернуть 3р. Мы выбираем еще 2 монеты. Теперь нам нужно вернуть 1р. Мы спускаемся еще раз вниз. Тут мы выбираем 1x1p монета.
В общем, наш алгоритм выбрал следующие монеты, чтобы вернуть сдачу:
# (значение монеты, количество монет) (10, 1) (5, 1) (2, 2) (1, 1)
Давайте теперь закодируем это. Во-первых, нам нужно определить проблему. Начнем с условий.
# типы значений монет denominations = # 100p is £1
Теперь перейдем к основной функции. С учетом номиналов и суммы для внесения изменений мы хотим вернуть список того, сколько раз эта монета была возвращена.
Если наш список denominations такой же, как указано выше, то представляет собой взятие 6 монет 1p и 3 монет 2p, но 0 всех других монет.
denominations = # 100p is £1 def returnChange(change, denominations): toGiveBack = * len(denominations) for pos, coin in reversed(list(enumerate(denominations))):
Создаем полный список denominations и отствующие значения заполним нулями.
Мы хотим пройтись от самого большого до самого маленького. Reversed(x) переворачивает x и позволяет нам зацикливаться в обратном направлении. Enumerate означает «цикл по этому списку, но сохраняйте позицию в другой переменной». В нашем примере, когда мы запускаем цикл. coin = 100 и pos = 6.
Наш следующий шаг — многократный выбор монеты, пока мы можем использовать эту монету. Если нам нужно дать сдачу change = 40, мы хотим, чтобы наш алгоритм выбрал 20, затем снова 20, пока он больше не сможет использовать 20. Мы делаем это с помощью цикла for.
denominations = # 100p is £1 def returnChange(change, denominations): # делам список toGiveBack размером с denominations toGiveBack = * len(denominations) # проходим по всему denominations # с сохраненим coin и pos. for pos, coin in enumerate(reversed(denominations)): # пока coin меньше или равно change while coin <= change:
В то время как coin все еще меньше или равно change, добавим эту coin в наш список возврата toGiveBack и удалим ее из сдачи.
denominations = # 100p is £1 def returnChange(change, denominations): toGiveBack = * len(denominations) for pos, coin in enumerate(reversed(denominations)): while coin <= change: change = change - coin toGiveBack += 1 return(toGiveBack) print(returnChange(30, denominations)) # вернет # 1x 10p, 1x 20p
Сложность выполнения этого алгоритма (О большое) определяется двумя циклами, поэтому оно равно O(n2).
На что ещё способен наш алгоритм
Чтобы отдохнуть от рутины, необязательно уходить из дома насовсем, достаточно выбраться в новое интересное место на пару-тройку дней.
Скажем, вы приезжаете в Санкт-Петербург на выходные и хотите увидеть как можно больше достопримечательностей. Каждую вы оценили в баллах — насколько сильно вам это место интересно. Кроме того, прикинули время, которое уйдёт на осмотр.
Посмотрим, что там у вас:
- Эрмитаж — восемь баллов и половина дня;
- фонтаны в Петергофе — десять баллов и день;
- сфинксы на набережной — семь баллов и четверть дня;
- Исаакиевский собор с колокольней — шесть баллов и полдня;
- и так далее на ваш вкус.
По сути это ровно та же задача о рюкзаке. Только грузоподъёмность — это дни (у вас их два), стоимость — оценка в баллах, вес — время, которое уходит на осмотр. Нужно найти комбинацию достопримечательностей с наивысшей оценкой.
Для решения подойдёт таблица с шагом в четверть дня. В ней будет восемь столбцов, а строк столько, сколько достопримечательностей вы хотите увидеть.
Движение по окружности произвольного диаметра
Пусть расстояние от центра окружности до середины первого колеса будет R1. Расстояние от центра окружности до середины второго колеса R2.
В этом случае мы получаем движение колес по окружностям разного диаметра за одинаковое время. Регулировать такое передвижение можно за счет разности скоростей внешнего и внутреннего колеса.
Длина окружности, которую проезжает правое колесо обозначим как L1
Движение робота по окружности произвольного размера
L1 = 2 * π * R1
Длина окружности для левого колеса
L1 = 2 * π * (R1 + R2)
Скорость правого колеса V1, а скорость правого колеса V2.Время за которое заданное расстояние пройдет правое колесо t1.
t1 = L1 / V1 = (2 * π * R1) / V1
Время, за которое заданное расстояние пройдет левое колесо t2.
t2 = L2 / V2 = (2 * π * (R1 + R2)) / V2
Время проезда окружности или ее части левым и правым колесом у нас одинаковое t = t1 = t2, а значит и правые части выражений равны.
L1 / V1 = L2 / V2 ó (2 * π * R1) / V1 = (2 * π * (R1 + R2)) / V2 ó
Упрощаем выражение и получаем следующую пропорцию
V2 / V1 = (R1 + R2) / R1
Сейчас можно вычислить скорости левого и правого колеса для заданной окружности. Пусть у нас R1 = 20 см и R2 = 20 см, для упрощения скорость левого колеса возьмем 100 условных единиц. Тогда
V2 / V1 = (R1 + R2) / R1 ó 100 / V1 = (20 + 20) / 20
100 / V1 = 2 ó V1 = 100 / 2 ó V1 = 50 условных единиц.
Имея вычисленные значения скоростей можно составить программу прохождения участка. Для робота Lego EV3 можно использовать блок программирования «Независимое управление моторами». Скорость левого двигателя устанавливаем 100 у.е., скорость правого двигателя устанавливаем 50 у.е.
Независимое управление моторами Lego EV3 произвольная окружность
Режим устанавливаем «Включить на количество секунд». Произвольно установим 10 секунд. Для того, чтобы точно проходить заданное расстояние нужно замерить время прохождения одного круга секундомером. Зная это время можно задавать нужное нам расстояние.
Часто на соревнованиях одним из заданий является движение робота по черной линии с объездом препятствий. И для успешного преодоления трассы необходимо вычислить траекторию объезда. При помощи таких вычислений это сделать достаточно легко.
Расчет числа оборотов
Для того, чтобы рассчитать количество оборотов колеса для движения на заданное расстояние по прямой нужно использовать длину окружности колеса. Она вычисляется по формуле L = π * d. Где π – число Пи, равное 3,14, а d –диаметр колеса. Для базового набора Lego EV3 диаметр колеса составляет 56 мм.
Пусть робот EV3 оснащен двумя передними колесами и шаровой опорой сзади и должен проехать 1 метр. За один оборот колеса робот преодолевает расстояние L = π * d = 3.14 * 56 = 175,84 мм. Пусть n – количество оборотов, k – заданное расстояние. Тогда количество оборотов n = kL =>
n = 1000 мм / 175,84 мм = 5,69 оборотов.
Программа для Lego EV3 для движения робота на заданное количество оборотов.
- Во вкладке «Движение» выбираю блок «Рулевое управление».
Устанавливаю режим «Включить на количество оборотов», «Рулевое управление» установлено в 0 – это означает движение по прямой линии. Большие моторы установлены в порты B и C.
рулевое управление движение по прямой на один метр
Скорость движения моторов – 50 условных единиц. Значение оборотов ставлю вычисленное выше. Тормозить в конце – значение «Истина». При нажатии на блок «Начало» робот Lego EV3 проедет по прямой 1 метр со скоростью 50 у.е. и остановиться.
- При втором способе используется блок «Независимое управление моторами».
независимое управление движение вперед на один метр
Все настройки блока такие же, как и настройки у блока «Рулевое управление». Для того чтобы робот ехал по прямой необходимо скорость моторов установить одинаковой.
В общем случае робот может передвигаться по траектории, которая представляет из себя окружность, часть окружности и комбинации различных частей окружности. При этом робот может:
- Разворачиваться на месте – колеса робота крутятся в разные стороны с одинаковой скоростью;
- Разворачиваться вокруг одного колеса – одно колесо машинки Lego EV3 стоит на месте, другое крутится с заданной скоростью;
- Описывать произвольную окружность – оба колеса крутятся в одном направлении с разной скоростью.
Пусть параметры тележки EV3 будут такими: робот представляет из себя платформу с двумя колесами и шаровой опорой, расположенной сзади. Тележка симметрична и расстояние между центральными осями колес и шаровой опорой является равнобедренным треугольником.
робот тележка лего
Для упрощения расчетов, задам расстояние между центрами колес по оси, но которой они расположены равным 20 см. На многих соревнованиях по робототехнике одним из условий являются габариты робота. Например, нужно чтобы размеры робота были не более 20 см в ширину, 20 см в длину и 20 см в высоту.
Если робот не подходит по габаритам, то его не допускают к соревнованиям. Диаметр колеса 0,56 см – это стандартный размер колеса из базового набора Lego EV3. Левый большой мотор подключен к порту В, правый к порту С. Теперь вычислим количество оборотов колеса для каждого случая и для разворота робота Lego EV3 на определенный угол.
Расчеты применимы для роботов, собранных на базе любых конструкторов. Разница будет заключаться только в среде программирования, т.к. у разных робототехнических наборов разные программные обеспечения. Но принцип расчета везде одинаковый.
Общие рекомендации во время выполнения алгоритма
Во время выполнения любого алгоритма нейрографики необязательно держать ситуацию, задачу в голове. В конце рисования люди иногда вообще забывают, о чём речь.
Но всегда оставайтесь быть внимательными к себе, к внутренним ощущениям. Что происходит? Что меняется? Как чувствует себя тело. Старайтесь быть осознанными, быть в моменте «здесь и сейчас».
Обязательно «подключайте» дыхание. Иногда необходимо сделать глубокие вдохи и выдохи. Особенно они бывают нужны на этапе скругления, когда идет большая работа по внутренней трансформации
Но и на других этапах это важно. Просто периодически вспоминайте глубоко дышать
Если вдруг перестал нравиться рисунок, нарисуйте на нём круги. Везде, где захочется или там, где линии уже создают образ круга, и вы его видите. Не достигается гармония — рисуйте круги.
Метод очень приятный. Картины, которые получаются у тех, кто вообще неумел рисовать, кажутся пришедшими из параллельных миров.
Начать с корпуса
В этом деле ничего особо сложного нет. В современных ПК можно снять одну из боковых крышек, хотя все, конечно, зависит от модели корпуса. Иногда бывают варианты, в которых снимать нужно верхнюю крышку.
В более старых вариантах шасси все части были привинчены специальными винтами. Для них нужно было использовать отвертку. Сейчас чаще всего есть специальные винты, которые можно вручную раскрутить без помощи инструментов.
Кстати, если вы не знаете, как разобрать системный блок компьютера, посмотрите инструкцию. Некоторые новые устройства продаются вместе с ней. Поэтому там можно получить информацию
Также важно проверить, закончилась ли гарантия на ПК. Если нет, то нельзя снимать пломбу с винтов, иначе вы потеряете бесплатную поддержку сервисного центра
Если есть возможность, лучше снять все возможные крышки, чтобы было проще добраться до компонентов.
Шаг 6. Фиксация
Теперь наш рисунок почти закончен. Но чтобы остановить состояние потока, так как нейрографика — это процессный метод, и дать нашему бессознательному возможность увидеть графическое решение, на этом этапе мы выделяем на рисунке ту фигуру, которая как нам кажется, будет символизировать результат проделанной работы.
Цветом или более толстой линией выделяем фигуру или линию.
Теперь у нашей задачи есть графическое решение. Здесь возможны два варианта. Иногда на этом этапе приходит осознание решения, и мы уже знаем, что нужно сделать или как проблема может решиться.
Иногда нет. Просто на эстетическо-визуальном образе мы создаем графическое решение, а дальше будет происходить работа нашего бессознательного, после которого обычно и происходит «чудо». Проблема либо решается «сама по себе», либо нам приходит нестандартное, но элегантное ее решение. После этого останется только воплощать.
Это результат создания новый нейронных связей, которые и позволяют менять нашу реальность зачастую новыми для нас способами.