Я разработчик программного обеспечения практически без электроники, но я хочу вникнуть в это, поскольку это имеет отношение к моей работе (разработка информационно-развлекательной системы). Я инженер-программист, а не инженер-электронщик, поэтому мой опыт / опыт в большей степени связан с программированием на уровне приложений и, возможно, немного с системным / сетевым программированием.
Я слышал об Arduino как о гибкой платформе для проектов, и мне было интересно, какие проекты могут помочь кому-то с моим прошлым перейти к электронному инжинирингу ... начиная с программирования микроконтроллеров и, возможно, связываясь с другими видами периферийных устройств, такими как Bluetooth Зигби, Wi-Fi, аудио, видео, я не знаю ... возможно, это проект, который характерен для электронщиков во время их курсов.
В общем, я ищу типичный / популярный проект (академический или другой), который может помочь программисту развить навыки электронной инженерии на уровне программного обеспечения.
источник
Ответы:
Вот несколько предложений для проектов, в которые не составит труда попасть разработчику программного обеспечения. Все они могут показаться довольно сложными, но я большой поклонник проектов, которые выходят далеко за рамки моих навыков. Если они увлекательные, увлекательные проекты, они с радостью проведут вас через учебный процесс. И помните, мы все здесь, чтобы помочь.
Светодиодная матрица
Это полностью цифровой проект, но очень интересный (кому не нравятся светодиоды). Вам понадобятся некоторые драйверы, такие как ULN2803, и микроконтроллер. Получить матрицу, чтобы сказать время, или показать картинку. Я был почти в состоянии показать картину Бьорк на зеленой матрице 16x16.
Гиростабилизированный пенопласт
Получите пенопласт и пару микроэлеронов :
Вам также понадобится гироскоп MEMS с аналоговым выходом и несколько крошечных операционных усилителей. Смешайте их все вместе, чтобы получилась гиростабилизированная резиновая лента.
робот
Каждый любит робота. Отличительной особенностью такого маленького робота является то, что вы можете начать с чего-то чрезвычайно простого (просто двигаться вперед) и постепенно добавлять все больше и больше функциональных возможностей (сенсоры и принятие решений), постоянно обучаясь.
источник
Если вы уже являетесь разработчиком программного обеспечения, то программирование микроконтроллеров само по себе не должно быть проблемой, и в этом есть немного электронного. По крайней мере, не так, как если бы вам приходилось иметь дело с различными типами компонентов, и вы должны производить расчеты напряжений и токов, чтобы что-то работало.
Однако комплект микроконтроллера может помочь вам получить контроль. Вы можете работать со всеми видами входов, цифровых и аналоговых, а также выходов.
Попробуйте вездесущий термостат, например.
входные
Вам необходимо получить представление о температурных датчиках (независимо от типа), усилителях, операционных усилителях и, возможно, транзисторах, помимо конденсаторов и резисторов. Операционные усилители и особенно транзисторы являются базовыми, они используются в каждой цепи.
Выход
Для управления реле вам необходимо знать, как работает транзистор в качестве переключателя (это самое простое приложение для понимания).
Платы для разработки микроконтроллеров часто имеют дисплей на них, LCD или LED, или могут подключаться к модулю дисплея. Хотя это полезно (например, для отладки) и весело, оно не поможет вам понять электронику. Вам придется создать свой собственный дисплей, например светодиодную матрицу, и научиться управлять мультиплексным дисплеем как с программной, так и с аппаратной точки зрения.
Помимо платы микроконтроллера, возьмите с собой электронный стартовый комплект , который содержит большинство основных частей для создания простых схем. И хороший справочник , конечно. Искусство электроники здесь очень популярно, хотя в последний раз я видел его, оно должно было быть обновлено.
источник
Получите набор разработчика PSoC . PSoC является микроконтроллер , который содержит повторно конфигурируемые цифровые и аналоговые блоки. Вы можете подключить цифровые и аналоговые схемы к IDE. Эти схемы затем реализуются внутри чипа PSoC.
Вы можете поиграть с цифровыми и аналоговыми схемами, как душе угодно, и комбинировать все это с программным обеспечением, написанным в той же IDE.
источник
Proteus - отличная платформа для разработки программного обеспечения. Вы можете создавать платы и схемы печатных плат, используя большинство, если не все упомянутые MCU здесь; И самое главное, вы можете смоделировать ваш исходный код, как если бы он работал на реальном оборудовании!
Самое приятное в этом программном обеспечении заключается в том, что вы можете изменять переменные, такие как кристаллы, конденсаторы, резисторы, без необходимости пайки, распайки, заказа и ожидания, чтобы в конечном итоге обойти с помощью прототипов или экранов. Это подражает это прекрасно.
Также; Вы получаете виртуальные инструменты, такие как осциллографы. Вы знаете, сколько стоит хороший осциллограф? Удача! Это все включено практически с множеством других функций и виртуальных инструментов.
Это не бесплатно, но цена является абсолютно разумной с точки зрения количества времени и разочарований, которые она может спасти, вместо того, чтобы возиться с реальным оборудованием.
источник
Я думаю, что попытка научиться всему приведет только к путанице и потере времени. ИМХО, вы должны попытаться сфокусировать свой интерес: вы сказали, что он вам нужен для информационно-развлекательных систем, верно?
Подход может состоять в том, чтобы получить представление о том, что является одной из этих систем:
Блок обработки (возможно, микроконтроллер или простой компьютер);
Некоторые драйверы для дисплея;
Интерфейс ввода / вывода для взаимодействия с пользователем;
Коммуникационные интерфейсы (сеть, взаимодействие с другими устройствами ...)
Любой из этих поддоменов представляет собой законченную систему, которую можно изучить и спроектировать как проект. Некоторые из них также могут быть разделены на несколько субдоменов на более низком уровне абстракции и вплоть до уровня компонентов.
Поэтому я предлагаю разбить эту сложную архитектуру на блоки и попытаться создать простые схемы (возможно, начиная с драйверов светодиодов), но затем их можно будет включить в более крупный план. У вас будет мотивация сделать это, так как это будет частью финальной работы, и таким образом вы узнаете об электронике.
Просто позаботьтесь об изучении и понимании того, что вы делаете, вместо того, чтобы полагаться на готовые схемы и общие правила.
источник
Я был в той же проблеме. И в конце концов я узнал, что нет кратчайшего пути для изучения электроники. Степень колледжа может помочь вам.
В противном случае вы можете попробовать следующие книги:
Шаг 1.
Шаг 2.
Наряду с программным обеспечением NI Multisim .
источник
Как разработчик программного обеспечения, вы находитесь на одной из двух основных доступных платформ.
PHP или .NET?
Если вы являетесь .NET, то я настоятельно рекомендую вам .NET MicroFramework IDE и NetDuino
Доступно множество других аппаратных средств, но я предлагаю это, потому что его цена разумна, и по дизайну она очень похожа на Arduino и многие другие варианты макетных плат, которые помогут развить знакомство с несколькими наборами.
Ни .NET, ни PHP не имеют реальной связи со встроенным программированием, но синтаксис PHP очень близок, и
C
это полезно знать. .NET, хорошо, чтобы оставаться в знакомой среде, а также вы можете получить сертификаты для этого с Microsoft Learning.Другой платформой, которую я бы предложил, является Atmels AVR XMega, которая в основном является Arduino, но гораздо более новой и более функциональной.
Важным моментом в отношении обоих этих ребят является то, что среды разработки БЕСПЛАТНЫ! Да, Microsoft предоставляет вам бесплатную Visual Studio для Micro Framework, а Atmel имеет AVR Studio 5 (которая основана на Visual Studio начиная с версии 5)
Вы также должны понимать capabiliteis каждого комплекта разработчика.
Он основан на чипах Atmega, но в них используются тактовые частоты с низкой тактовой частотой (8 МГц, 16 МГц), но он вполне способен делать различные биты и биты. Это отличная отправная точка в изучении электротехники, потому что у нее есть бесплатная IDE и огромное сообщество с тоннами кода и библиотек. Если вы узнаете здесь, будет проще перейти на другие чипы на основе AVR с точки зрения синтаксиса и переноса кода.
Это очень ограничено тем, что он может делать, например, не ожидайте передачи видеоданных через внутренний микро-веб-сервер в Интернет. Эти микроконтроллеры просто не могут обрабатывать данные и количество действий, которые можно выполнять одновременно, но как только вы дойдите до этого уровня, тогда будет хорошо перейти на .NET или 32-битные AVR.
Эти парни могут самостоятельно работать с ЖК-дисплеями, видео, веб-серверами, беспроводными сетями и множеством других вещей. Они также начинают идти намного быстрее в скорости обработки. Но прежде чем вы начнете смотреть на них, вы должны понять, что есть несколько продуктов, которые также выполняют определенные функции. Такие как сенсорный сенсор, беспроводная связь, сверхнизкое энергопотребление, некоторые смешаны и согласованы, и это требует надлежащего процесса исследований и разработок за счет использования эти плохие парни.
Будь очень осторожен с ними,
Они предлагают фантастические чипы, лидирующие на рынке, которые удивительны, когда вы читаете о них. К сожалению, нет бесплатной IDE, и они стоят тысячи долларов в виде лицензионных сборов. Хотя некоторые продукты, такие как MSP430, имеют бесплатную среду разработки, но многие вещи граничат с ними и неясны. Кроме того, изучение библиотек для некоторых чипов TI - абсолютный кошмар. Но это нишевый рынок, и вы можете получить хорошую зарплату здесь.
Есть множество девкитов, я только рассказал вам о своем собственном опыте, связанном с сертификацией .NET. Я действительно запустил Arduino Mega256.
Сегодня я делаю свои собственные печатные платы размером 1,5 см х 1,5 см, которые работают до двух лет, используя удивительные SystemOnChips компании TI. Но потребовалось много времени и терпения, чтобы добраться туда, и я все еще чувствую, что ничего не знаю о встроенных системах ...
Удачи :-)
источник
Ваш вопрос довольно широк, и будет много хороших возможностей. Если вы в большей степени сосредоточены на том, как заставить маленький компьютер взаимодействовать с физическими вещами, позвольте мне предложить вам нечто похожее на набор Lego Mindstorms . При этом вы можете создавать и программировать роботов. Это будет на высоком уровне подключи и играй различные датчики и т. Д.
Существует также важный более базовый уровень электротехники, где «истинный» ЭЭ будет проектировать и создавать датчики. Использование одноплатного компьютера, такого как Arduino или Netduino, и макетной платы, где вы будете подключать различные компоненты, такие как резисторы, светодиоды и т. Д. К макетной плате, для создания схем, будут ближе к этому более базовому уровню. В этот момент вы будете иметь дело с такими вопросами, как «какое значение резистора я должен установить последовательно со светодиодом, чтобы ограничить ток, чтобы мой светодиод и микроконтроллер не загорались?».
С набором Lego вы просто соединяете компоненты, и они позаботятся о том, чтобы сделать его идиотским.
источник
Я бы предложил сосредоточиться на разнице между программным обеспечением, написанным для ПК, и микропрограммой, написанной для встроенных приложений. Разберитесь с C. С ростом популярности linux linux разница между инженером-программистом и разработчиком программного обеспечения быстро сокращается. Потратьте некоторое время на просмотр встроенного драйвера с открытым исходным кодом.
Я бы несколько усомнился в желании стать более похожим на ЭЭ, поскольку эти две дисциплины совершенно различны. Да, есть масса совпадений, но сосредоточьтесь на стороне водителя и не увязайте в деталях электроники.
источник
Во-первых, это действительно хорошо, если вы не из электроники, вы действительно не собираетесь разрабатывать чипы, не так ли?
но если вы собираетесь изучать электронику, я бы посоветовал вам сначала получить основы, такие как сопротивление, диоды, транзисторы и т. д., комплект хобби для электроники от radioshack или любого другого поставщика, а затем перейти к микроконтроллерам, а Arduino сделает следующее. это действительно просто, но я бы посоветовал вам пойти с чем-то, что не было сделано уже легко, Arduino действительно прост и не ставит перед пользователем особой задачи. Начните с контроллеров AVR, PIC или 8051 Micro, купите микроконтроллер, кодирование книг и срартов, начиная с программы «Мигающий светодиод» («Hello World» в отделе электроники) и, как вы увидите, мгновенно вы будете использовать матричные клавиатуры и семисегментные дисплеи, чтобы выучить еще некоторые основы, после чего наступит настоящее работать, связывая ваши устройства с другими интегральными схемами и сенсорными сетями, которые связаны с вашей работой ..ваша доска разработки уже будет иметь некоторые из этих функций, и если они не всегда доступны для покупки, вы легко можете приобрести шилды или борады, тогда все зависит от вас ...
Я также посоветовал бы вам проконсультироваться с вашей компанией о платформе, которую они используют. Это даст вам руководство по изучению микроконтроллера, и, поскольку вы уже программист, это должно оказаться очень простым для вас и всегда выполнять проекты для хобби, такие как робот и светодиодная матрица среди прочего, это поможет вам сосредоточиться на предмете, который вам не надоест !!
источник