Pull to refresh
4
0.1
Send message

Железо или архитектура? Два направления книг по схемотехнике для начинающих

Reading time5 min
Views9.6K

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

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

Читать далее
Total votes 20: ↑18 and ↓2+25
Comments20

Полнофункциональный драйвер SDHC карты памяти для Stm32f4 (часть 1)

Reading time14 min
Views101K

Для чего эта статья?


Все эмбеддеры, рано или поздно, сталкиваются с проблемой нехватки ПЗУ микроконтроллера для своих проектов. Ну банально, Вам нужно разработать систему управления простеньким ЧПУ станком, где управляющая программа хранится на самом девайсе или систему сбора данных, скажем, от датчиков какого-нибудь эксперимента – очевидно, что микроконтроллер изначально не предназначался для хранения таких массивов информации.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments18

Фокусы с опторазвязкой

Level of difficultyMedium
Reading time9 min
Views25K

Нюансы оптронной развязки, борьба с её недостатками и интересный на мой взгляд костыль: как разогнать скорость копеечной опторазвязки и наполучать других бонусов. Я не силён в рекламе, поэтому на месте КДПВ будет сразу тема статьи.

Читать далее
Total votes 125: ↑124 and ↓1+160
Comments63

Управление мозгом с помощью магнитных полей. Root доступ к аппетиту и родительским инстинктам

Level of difficultyEasy
Reading time3 min
Views5.4K

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

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments7

Обучение с подкреплением на основе обратной связи от человека (RLHF). История становления идеи. LLM, KL-контроль

Level of difficultyEasy
Reading time13 min
Views4.1K

Техника тренировки модели на основе обратной связи от людей (RLHF) была предложена как один из способов повысить согласованность модели. Люди, при том что являются основным источником предвзятостей в данных, одновременно являются своего рода высшим авторитетом в оценке текстов на соответствие каким либо ценностям.

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

Это первая статья цикла о LLM, Предобучении и KL‑контроле.

Читать далее
Total votes 9: ↑9 and ↓0+12
Comments1

Нейросеть в 11 строчек на Python

Reading time8 min
Views541K

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

Человеческий мозг на Python

Level of difficultyEasy
Reading time8 min
Views4.4K

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

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

Читать далее
Total votes 13: ↑13 and ↓0+19
Comments12

Вставка реальных объектов в Unity с помощью Meshroom

Reading time10 min
Views14K
image

Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom.

В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов.

Вам нужны реалистичные 3D-модели для идеи игры, но у вас ограничен бюджет? Хотите создать сверхреалистичное игровое окружение? Если да, то продолжайте чтение!

Используя фотограмметрию, мы берём входящие данные, то есть фотографии, и пропускаем их через конвейер или набор обрабатывающих их методов. Данные из этих процессов или выходной информации участвуют в создании готовой 3D-модели.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Views27K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 88: ↑86 and ↓2+106
Comments116

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W

Level of difficultyMedium
Reading time19 min
Views49K

Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board computer) начинкой и телевизионные приставки классический тому пример.

Когда-то я приобрел ТВ приставку X96 Max Plus 100W на Android чтобы потестить ее вдоль и поперек и пришел к тому что классическое ее применение для просмотра мультиков и Android игр мне не интересно.

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments33

Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689

Reading time18 min
Views79K

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

Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.

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

Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments14

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

Reading time8 min
Views90K

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

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

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее
Total votes 88: ↑86 and ↓2+102
Comments87

Одноплатный компьютер из камеры видеонаблюдения. Создаём WiFi-мобиль. Часть I

Level of difficultyMedium
Reading time12 min
Views19K


Я уже рассказывал про то, как из телевизионной приставки можно сделать одноплатный компьютер (SBC — single board computer). Если же у вас завалялась ненужная или разбитая камера видеонаблюдения, не спешите её выбрасывать. Я покажу, как её можно использовать, даже если на ней не работают какие-либо функции вроде звука, изображения и т. п. Сегодня нас камера интересует только как SBC. Расскажу, как найти куда подпаять нагрузку, какую нагрузку можно подключить к камере и какими способами можно ею управлять.
Читать дальше →
Total votes 76: ↑76 and ↓0+76
Comments38

Инверсная кинематика в двухмерном пространстве

Reading time7 min
Views19K

Часть 1. Математика



Введение


Мы так привыкли к взаимодействию с окружающим нас миром, что не задумываемся о том, насколько сложно двигаются наши руки и ноги. В академической литературе задача управления манипулятором робота называется инверсной кинематикой. Кинематика обозначает "движения", а понятие "инверсная" связано с тем, что обычно мы не управляем самой рукой. Мы управляем «двигателями», поворачивающими каждую отдельную часть. Инверсная кинематика — это задача определения того, как перемещать эти двигатели, чтобы сдвинуть руку в конкретную точку. И в своём общем виде эта задача чрезвычайно сложна. Чтобы вы понимали, насколько она сложна, то можете вспомнить о таких играх, как QWOP, GIRP или даже Lunar Lander, в которой вы выбираете не куда двигаться, а какие мускулы (или ускорители) приводить в действие.

Задача управления подвижными приводами распостраняется даже на область робототехники. Вас не должно удивлять то, что на протяжении веков математики и инженеры смогли разработать множество решений. В большинстве 3D-редакторов и игровых движков (в том числе и в Unity) есть наборы инструментов, позволяющих выполнять риггинг человекоподобных и звероподобных существ. Для различных схем (манипуляторов роботов, хвостов, щупалец, крыльев и т.д.) встроенных решений обычно не существует.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments3

Циклоидный редуктор + BLDC мотор своими руками

Level of difficultyHard
Reading time9 min
Views18K

Всем привет! Эта статья открывает собой серию статей по разработке манипулятора. Тут я попробую рассказать о циклоидном редукторе и зачем он вообще мне понадобился. Разумеется, мы проведём его расчёт и воплотим его в физическое представление при помощи PLA пластика. Ну и как бонус соберём из хлама BLDC мотор для тестирования этого редуктора. Погнали.
Читать дальше →
Total votes 102: ↑102 and ↓0+102
Comments114

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views212K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее
Total votes 117: ↑116 and ↓1+142
Comments180

Развлекаемся с электрофоретическими дисплеями

Level of difficultyEasy
Reading time21 min
Views26K

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

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

Читать далее
Total votes 176: ↑176 and ↓0+176
Comments32

Linux на esp32s3

Level of difficultyMedium
Reading time12 min
Views27K

Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.

Читать далее
Total votes 120: ↑119 and ↓1+148
Comments21

Если BlackBerry не идет к пользователям, то пользователи идут к BlackBerry: проекты с запчастями и/или идеями «ежевички»

Reading time4 min
Views9.6K
image

Многие читатели Хабра успели полюбить телефоны BlackBerry — как относительно старые телефоны, так и смартфоны последних лет, разработанные уже после продажи бизнеса компании другому бренду. Автор этих строк года полтора использовал Blackberry Passport, и если бы не отсутствие поддержки современного ПО, то, вероятно, продолжал бы с ним работать.

К сожалению, сейчас это преимущественно «звонилка», поскольку поддержки софта нет, кроме разного рода сторонних продуктов и фанатских поделок. Тем не менее, телефоны BlackBerry не умерли, на их базе разрабатывают другие устройства. Иногда это смартфоны, иногда — внешние аксессуары к ПК и ноутбукам. Давайте посмотрим, что это такое.
Читать дальше →
Total votes 33: ↑32 and ↓1+41
Comments14

3D лазерный сканер на Android телефоне

Reading time6 min
Views44K

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

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

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.
Total votes 79: ↑78 and ↓1+77
Comments55

Information

Rating
2,810-th
Registered
Activity