• 20 вещей, которые я должен был знать в 20 лет

    • Translation
    1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
    Читать дальше →
  • Автоматический определитель электронных компонентов



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

      Для этого потребуется совсем немного деталей, которые обычно есть у каждого начинающего ардуинщика: микроконтроллер ATMEGA, двухстрочный дисплей и несколько резисторов.
      Читать дальше →
    • Быстрое возведение чисел от 1 до 100 в квадрат

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


      *квадраты до сотни

      Для того, чтобы бездумно не возводить в квадрат по формуле все числа, нужно максимально упростить себе задачу следующими правилами.
      Читать дальше →
    • Задача об определении принадлежности точки многоугольнику

      Здравствуйте, уважаемые хабравчане!
      В процессе разработки приложения под Android, которое предполагает взаимодействие пользователя с графическими примитивами (точками, линиями, эллипсами, прямоугольниками и т.д.), возникла довольно неприятная ситуация: пользователь может задать произвольный многоугольник и сделать его неактивным, однако чтобы в будущем была возможность активировать данный многоугольник и продолжить с ним работь (например, переместить в другое место или добавить/удалить вершины) необходимо для неактивного объекта определить, коснулся ли пользователь данного объекта, т.е. потребовалось решить вопрос о принадлежности точки многоугольнику.

      Данная задача широко известна в вычислительной геометриии и я предлагаю вашему вниманию результаты моего исследования данной темы.
      Читать дальше →
    • 100 ватт по USB или как работает Power Delivery

      Почитав вот этот пост и сопутствующую ему дискуссию, я решил попробовать внести ясность в то, что такое USB Power Delivery и как это работает на самом деле. К сожалению у меня сложилось впечатление, что большинство участников дискуссии воспринимают 100 ватт по USB слишком буквально, и не до конца понимают что за этим стоит на уровне схематики и протоколов.

      Итак, кратко – основные пункты:

      • USB PD определяет 5 стандартных профилей по электропитанию – до 5V@2А, до 12V@1.5А, до 12V@3А, до 12-20V@3А и до 12-20V@4.75-5А
      • Кабели и порты для Power Delivery сертифицируются и имеют дополнительные пины в разьеме
      • Тип кабеля и его соответствие профилю определяются автоматически через дополнительные пины и определение типа USB коннектора (микро, стандарт, A, B и т.д.)
      • Обычные USB кабели (не Power Delivery) сертифицируются только по первому профилю до 5V@2A
      • При подключении распределяются роли, между тем кто дает ток (Source / Источник ) и кто потребляет (Sink / Приемник)
      • Источник и Приемник обмениваются сообщениями по специальному протоколу, который работает параллельно традиционному USB
      • В качестве физического носителя протокол использует пару – VBus / GND. Именно поэтому Power Delivery не зависит от основного USB протокола и обратно совместим с USB 2.0 и 3.0
      • Используя сообщения, источник и приемник могут в любой момент времени меняться ролями, изменять силу тока и/или напряжение, уходить в спячку или просыпаться, и т.д.
      • По желанию устройства могут поддерживать управление PD через традиционные USB запросы, дескрипторы и т.д.

      Под катом — детали.
      Читать дальше →
    • Автономный SDR приёмник на ПЛИС

        image
        Ранее я уже писал про самодельный SDR приемник, сделанный на базе отладочной платы DE0-nano. Как и большинство других SDR приемников, он не был способен работать без подключения к компьютеру. При этом в использованной ПЛИС оставалось еще большое количество неиспользованных ресурсов, так что я решил сделать приемник полностью автономным.
        О том, как же работает весь SDR приемник целиком, и как его реализовать — далее.
        Читать дальше →
      • Создание модели электронного компонента для Proteus на Lua

          Есть у меня несколько проектов-долгостроев, один из которых — создание компьютера на базе CDP1802. Основную плату моделировал на бумаге и в Proteus.
          Довольно скоро встал ребром вопрос: как быть с элементами, которые отсутствуют в Proteus?
          На многих ресурсах подробно описано, как создать свою модель на С++ в Visual Studio.
          К сожалению, при сборке под линуксом этот вариант не очень удобен. Да и как быть, если не знаешь С++ или нужно редактировать модель на лету для отладки?
          Да и просто хочется сосредоточиться на моделировании, максимально упростив все остальное.
          Так появилась идея делать симуляторные модели с помощью скриптов — на Lua.
          Заинтересовавшихся прошу под кат (гифки на 2Мб).


          Читать дальше →
          • +28
          • 28.3k
          • 5
        • Итоги пяти лет жизни электронщика в стиле фриланс. Последняя осень?

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

            image
            Последняя осень?

            Признаться, я долго колебался как поступить — иллюстрировать свои рекомендации и советы примерами из личного опыта, либо ограничиться их перечислением с короткими комментариями. Так и не сделав выбор, решил сразу написать две статьи и выложить их одну за другой, с разницей в день. Эта рассказывает о моём опыте на примерах, которые я сопровождаю комментариями. Если у вас мало времени и вам более интересны краткие содержательные выводы и конкретные рекомендации, просьба не тратить время на мой сегодняшний опус, а прочитать мою следующую статью, которую я специально публикую одновременно с этой.
            Конечно, можно было бы просто составить сухую выжимку из полезных рекомендаций, но, думаю, что легче они будут восприниматься, если будут подкреплены рассказом о моём личном личном опыте. Реальные события воспринимаются проще, чем на сухие строчки.
            В этом посте я попробовал в качестве эксперимента выровнять фотографии по ширине текста. Надеюсь, этот эксперимент не вызовет отторжения в хабрасообществе.
            Читать дальше →
          • «Гражданское» электромагнитное оружие



            Когда говорят об угрозе со стороны всевозможных террористов, то обычно широкими, щедрыми мазками рисуют сцены всевозможных взрывов. В особо одарённых странах доверчивое население пугают атомными бомбами разной степени самодельности из якобы разворованных арсеналов. В последние годы также вполне успешно разыгрывается тема биотерроризма. Однако зависимость мегаполисов от работоспособности целого ряда систем делает их уязвимыми не только для грубой силы. Достаточно вывести из строя (не обязательно с помощью взрыва) какой-то критически важный узел, чтобы вызвать цепную реакцию аварий и коллапс целого ряда систем. Яркий пример подобного сценария был явлен в 2005 году. Конечно, в данном случае причина была не в злом умысле, но сути дела это не меняет: наша урбанистическая среда крайне уязвима.

            Нанести очень серьёзный ущерб как целому городу, так и отдельно взятой организации, сегодня можно куда более высокотехнологическими способами, чем взрывчатка. Не зря я привёл в пример аварию на подстанции «Чагино» — наш мир, на всех уровнях, полностью зависит от электричества. А точнее, от электроники, которая сегодня используется… да я не знаю, где она ещё не используется. И это, судя по всему, становится новой точкой уязвимости. Целенаправленный вывод из строя электроники в виде теракта или «разборок» бизнесменов вскоре может превратиться в суровые будни. Вполне вероятно, что мы стоим на пороге массового распространения электромагнитного оружия. Сразу оговорюсь, что речь пойдёт о «гражданских» устройствах, а не о традиционных военных средствах РЭБ.
            Читать дальше →
          • 15 малоизвестных команд Linux

            • Translation
            Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
            Читать дальше →
          • Получение снимков с цифровой зеркальной камеры (Nikon) из программного кода на c#

              Здравствуйте.

              Столкнулся я с задачей получения фотографий с фотокамеры в моей программе на c#, причем надо было так, чтобы пользователь нажал кнопку в программе, или случилось какое-то программное событие, и мы ррррраз и получили снимок с камеры в программу и дальше его как-нибудь обработали/сохранили/отправили, в общем сделали с ним что-нибудь программным же образом.

              Как оказалось, у производителей цифровых зеркальных фотокамер есть специальный SDK, через который можно программным путем к этой самой камере обратиться и поуправлять ею. У меня камера Nikon D5200, хотя для Sony и Canon вроде бы тоже видел подобный SDK.

              Цель статьи рассказать о возможности и показать короткий пример. Как известно, если вы знаете что что-то можно сделать, то узнать, как это сделать – пара пустяков.
              Читать дальше →
            • LED подсветка монитора своими руками


                Время незаметно идет и казалось бы недавно купленная техника уже выходит из строя. Так, отработав свои 10000 часов, приказали долго жить лампы моего монитора (AOC 2216Sa). Вначале подсветка стала включаться не с первого раза (после включения монитора подсветка выключалась через несколько секунд), что решалось повторным включением/выключением монитора, со временем монитор приходилось выключать/выключать уже 3 раза, потом 5, потом 10 и в какой-то момент он не мог включить подсветку уже вне зависимости от числа попыток включения. Извлеченные на свет божий лампы оказались с почерневшими краями и законно отправились в утиль. Попытка поставить лампы на замену (были куплены новые лампы подходящего размера) успехом не увенчалась (несколько раз монитор смог включить подсветку, но быстро опять ушел в режим включился-выключился) и выяснение причин в чем может быть проблема уже в электронике монитора привели меня к мысли о том что проще будет собрать собственную подсветку монитора на светодиодах чем ремонтировать имеющуюся схему инвертора для CCFL ламп, тем более в сети уже попадались статьи показывающие принципиальную возможность такой замены.
                Читать дальше →
              • Основы Scala. 5 часов поедания мозгов

                • Tutorial
                Добрый день, уважаемое хабрасообщество!image

                В конце ноября 2013 года мы с коллегой устроили встречу, на которой провели сеанс «интенсивного введения Scala в мозг добровольцев».

                Выкладываю на суд общественности наше творчество и краткое описание «эксперимента».
                Читать дальше →
              • Определение местоположения отключенного телефона: миф?

                  Читая недавно опубликованный топик «Как Facebook защищал тунисские аккаунты», в самом конце статьи обратил внимание на случай с Минском. Читая комментарии по ссылке, наткнулся на утверждение, что можно прослушать отключенный телефон и разные советы, в том числе вынимание аккумулятора.

                  По поводу отслеживания включенного аппарата, — сомнений нету, — есть LBS, и его не стоит путать с A-GPS. Да и сам МТС в 2009-м году анонсировал услугу определения местонахождения.
                  Читать дальше →
                • Длинная арифметика от Microsoft

                    Введение


                    Известно, что компьютер может оперировать числами, количество бит которых ограниченно. Как правило, мы привыкли работать с 32-х и 64-х разрядными целыми числами, которым на платформе .NET соответствуют типы Int32 (int) и Int64 (long) соответственно.

                    А что делать, если надо представить число, такое как, например, 29! = 8841761993739701954543616000000? Такое число не поместится ни в 64-х разрядный, ни тем более 32-х разрядный тип данных. Именно для работы с такими большими числами существует длинная арифметика.

                    Длинная арифметика — в вычислительной технике операции (сложение, умножение, вычитание, деление, возведение в степень и т.д.) над числами, разрядность которых превышает длину машинного слова данной вычислительной машины. Эти операции реализуются не аппаратно, а программно, используя базовые аппаратные средства работы с числами меньших порядков.
                    Читать дальше →
                  • STM32 и USB-HID — это просто

                    • Tutorial
                    На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
                    Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
                    Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

                    Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

                    У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

                    Заставим ее работать