Какой проект может помочь программисту стать инженером-электронщиком? [закрыто]


17

Я разработчик программного обеспечения практически без электроники, но я хочу вникнуть в это, поскольку это имеет отношение к моей работе (разработка информационно-развлекательной системы). Я инженер-программист, а не инженер-электронщик, поэтому мой опыт / опыт в большей степени связан с программированием на уровне приложений и, возможно, немного с системным / сетевым программированием.

Я слышал об Arduino как о гибкой платформе для проектов, и мне было интересно, какие проекты могут помочь кому-то с моим прошлым перейти к электронному инжинирингу ... начиная с программирования микроконтроллеров и, возможно, связываясь с другими видами периферийных устройств, такими как Bluetooth Зигби, Wi-Fi, аудио, видео, я не знаю ... возможно, это проект, который характерен для электронщиков во время их курсов.

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


может быть алгоритм отображения технологии на иверилог бэк-энда.
Стандартный Сандун

1
Я бы порекомендовал вам начать с 555 таймерных проектов. В Интернете их множество, и они дадут вам базовые знания об резисторах, конденсаторах и, в некоторых случаях, индукторах, с которыми вам нужно ознакомиться, чтобы на самом деле узнать, что вы делаете с вещами более высокого уровня, такими как программирование микроконтроллера и тому подобное. После этого вы можете начать играть с Arduino, PICAXE или любой другой платформой, которая вам интересна. Тогда смело начинайте работать над немного большим проектом, который вам кажется интересным, и постарайтесь не сдаваться.
AndrejaKo


1
Я нахожусь в том же положении, я просто хотел повозиться с оборудованием. Я принес Arduino и игрушечную RC-машину, соединил их вместе. Не знаю, как, но это работает, и это здорово :) Это не так уж сложно, я никогда раньше не писал строки C (здесь C # dev), и за пару часов у меня было что-то базовое.
TJHeuvel

Что за проект? Я бы предложил проект электроники.
Joeforker

Ответы:


10

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


Светодиодная матрица

Светодиодная матрица

Это полностью цифровой проект, но очень интересный (кому не нравятся светодиоды). Вам понадобятся некоторые драйверы, такие как ULN2803, и микроконтроллер. Получить матрицу, чтобы сказать время, или показать картинку. Я был почти в состоянии показать картину Бьорк на зеленой матрице 16x16.


Гиростабилизированный пенопласт

Получите пенопласт и пару микроэлеронов :

Пенный самолет микро элероны

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


робот

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

робот


5

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

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

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

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

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

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


1
И если вы устали от термостата, вы можете перейти на реализацию ПИД-регулятора. :)
Ник Джонсон

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

5

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

PSoC Creator

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


2
Это необычное место для начала; PSoC - очень сложная и необычная система. Успешно ли вы тренировали других, используя это как отправную точку?
Кевин Вермеер

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

1
Тот факт, что все эти периферийные устройства интегрированы в PSoC, является аргументом против этого. Вы должны сами строить эти системы, если хотите учиться.
stevenvh

2
@stevenvh Совсем нет. В чем разница между подключением вентилей внутри микросхем и схемами вентилей? Это концептуально идентично.
Ракетный магнит

@sandundhammika Никаких проблем. Я думаю, что каждый должен узнать, как приятно разрабатывать приложения для этих вещей.
Ракетный магнит

5

Proteus - отличная платформа для разработки программного обеспечения. Вы можете создавать платы и схемы печатных плат, используя большинство, если не все упомянутые MCU здесь; И самое главное, вы можете смоделировать ваш исходный код, как если бы он работал на реальном оборудовании!

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

Также; Вы получаете виртуальные инструменты, такие как осциллографы. Вы знаете, сколько стоит хороший осциллограф? Удача! Это все включено практически с множеством других функций и виртуальных инструментов.

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


Ты получаешь настоящие схемы таким образом?
Ракетный магнит

Да, я делаю свою схему в Proteus, например, attiny 861 с h-bride, и связываю ее с шестнадцатеричным файлом, который компилирует AVR Studio. Каждый раз, когда я меняю исходный код и компилирую в AVRStudio, я анимирую в Proteus, и мои изменения происходят мгновенно. И я могу измерить выходной сигнал h-невесты, используя прицел, зонд или вольтметр с точным считыванием. Просто, как мой настоящий прото. Это довольно хорошо
WillyWonka

3

Я думаю, что попытка научиться всему приведет только к путанице и потере времени. ИМХО, вы должны попытаться сфокусировать свой интерес: вы сказали, что он вам нужен для информационно-развлекательных систем, верно?

Подход может состоять в том, чтобы получить представление о том, что является одной из этих систем:

  • Блок обработки (возможно, микроконтроллер или простой компьютер);

  • Некоторые драйверы для дисплея;

  • Интерфейс ввода / вывода для взаимодействия с пользователем;

  • Коммуникационные интерфейсы (сеть, взаимодействие с другими устройствами ...)

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

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

Просто позаботьтесь об изучении и понимании того, что вы делаете, вместо того, чтобы полагаться на готовые схемы и общие правила.


2

Я был в той же проблеме. И в конце концов я узнал, что нет кратчайшего пути для изучения электроники. Степень колледжа может помочь вам.

В противном случае вы можете попробовать следующие книги:

Шаг 1.

введите описание изображения здесь

Шаг 2.

введите описание изображения здесь

Наряду с программным обеспечением NI Multisim .

введите описание изображения здесь


1

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

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.

  • AVR 32

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

  • Инструменты Техаса

Будь очень осторожен с ними,

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

Есть множество девкитов, я только рассказал вам о своем собственном опыте, связанном с сертификацией .NET. Я действительно запустил Arduino Mega256.

Сегодня я делаю свои собственные печатные платы размером 1,5 см х 1,5 см, которые работают до двух лет, используя удивительные SystemOnChips компании TI. Но потребовалось много времени и терпения, чтобы добраться туда, и я все еще чувствую, что ничего не знаю о встроенных системах ...

Удачи :-)


10
... вы серьезно предполагаете, что каждый разработчик программного обеспечения использует .NET или PHP?
Ник Джонсон

@NickJohnson в большинстве .... Перейдите к провайдеру веб-хостинга, и у вас есть два варианта типа сервера; Windows .NET -OR- Linux LAMP с PHP .. Это не только я .. Могу поспорить, вы как рубин на рельсах или C ++? Я знаю, что я ссылаюсь только на веб-технологии ... но приложения так вчера ... давайте идти в ногу.
Петр Кула

Это был милый вопрос. Мой основной профессиональный опыт связан с (хорошо написанным) PHP, но я также свободно владею Java, C & C ++, Javascript.
dukeofgaming

12
"... приложения так вчера ..." - расскажите об этом сотням тысяч разработчиков не-веб-приложений. Вместо «давайте идти в ногу», как насчет «давайте будем реальными»? Если бы .NET и PHP были единственными вариантами написания программного обеспечения, я бы перекинул свой компьютер через мост. Веб-приложения не единственные приложения.
Джастин,

1
@ppumkin, я все еще твердо думаю, что пользователи должны научиться читать ассемблер, чтобы видеть, когда он делает что-то глупое.
Кортук

1

Ваш вопрос довольно широк, и будет много хороших возможностей. Если вы в большей степени сосредоточены на том, как заставить маленький компьютер взаимодействовать с физическими вещами, позвольте мне предложить вам нечто похожее на набор Lego Mindstorms . При этом вы можете создавать и программировать роботов. Это будет на высоком уровне подключи и играй различные датчики и т. Д.

Существует также важный более базовый уровень электротехники, где «истинный» ЭЭ будет проектировать и создавать датчики. Использование одноплатного компьютера, такого как Arduino или Netduino, и макетной платы, где вы будете подключать различные компоненты, такие как резисторы, светодиоды и т. Д. К макетной плате, для создания схем, будут ближе к этому более базовому уровню. В этот момент вы будете иметь дело с такими вопросами, как «какое значение резистора я должен установить последовательно со светодиодом, чтобы ограничить ток, чтобы мой светодиод и микроконтроллер не загорались?».

С набором Lego вы просто соединяете компоненты, и они позаботятся о том, чтобы сделать его идиотским.


1
На самом деле «истинный» EE, вероятно, не будет использовать Ardunio и макет.
Жанна Пиндар

@Jeanne - Да, но мы не можем быть Джери Эллсвортом и создавать собственные транзисторы: youtube.com/watch?v=w_znRopGtbE
JonnyBoats

1

Я бы предложил сосредоточиться на разнице между программным обеспечением, написанным для ПК, и микропрограммой, написанной для встроенных приложений. Разберитесь с C. С ростом популярности linux linux разница между инженером-программистом и разработчиком программного обеспечения быстро сокращается. Потратьте некоторое время на просмотр встроенного драйвера с открытым исходным кодом.

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


Он говорит, что хочет заняться электроникой!
Стивенвх

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

1

Во-первых, это действительно хорошо, если вы не из электроники, вы действительно не собираетесь разрабатывать чипы, не так ли?

но если вы собираетесь изучать электронику, я бы посоветовал вам сначала получить основы, такие как сопротивление, диоды, транзисторы и т. д., комплект хобби для электроники от radioshack или любого другого поставщика, а затем перейти к микроконтроллерам, а Arduino сделает следующее. это действительно просто, но я бы посоветовал вам пойти с чем-то, что не было сделано уже легко, Arduino действительно прост и не ставит перед пользователем особой задачи. Начните с контроллеров AVR, PIC или 8051 Micro, купите микроконтроллер, кодирование книг и срартов, начиная с программы «Мигающий светодиод» («Hello World» в отделе электроники) и, как вы увидите, мгновенно вы будете использовать матричные клавиатуры и семисегментные дисплеи, чтобы выучить еще некоторые основы, после чего наступит настоящее работать, связывая ваши устройства с другими интегральными схемами и сенсорными сетями, которые связаны с вашей работой ..ваша доска разработки уже будет иметь некоторые из этих функций, и если они не всегда доступны для покупки, вы легко можете приобрести шилды или борады, тогда все зависит от вас ...

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.