EE для инженеров-программистов [закрыто]

Недавно я начал много играть с 3D-принтерами, Adrunio, Pandaboards и SDK Kinect. У меня появляется все больше и больше страсти к такого рода устройствам, и я думаю, что это скоро превратится в довольно увлекательное хобби.

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

Я знаю, как важно в программировании/математике знать пару важных понятий, которые не очень очевидны для новичков, и без хорошего руководства (наставника, книги и т. д.) их довольно сложно даже встретить (например, концепции, введенные Александром Степановым - Элементы программирования), но я не хочу слишком вдаваться в подробности; У меня уже есть профессия, которая мне очень нравится.

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

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

В нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подкреплены фактами, ссылками или конкретным опытом, но этот вопрос, скорее всего, вызовет дебаты, аргументы, опросы или расширенное обсуждение.
Книга «Искусство электроники» сейчас довольно старая, НО предоставляет отличный обзор большинства электронных вещей, с достаточным количеством деталей, примерами и советами из реального мира, чтобы быть полезными.
Я понимаю вашу точку зрения о том, как «поверхностный уровень» и «важность» могут вызвать споры, но я все же думаю, что этот уровень субъективности не повредит.
См. второй вопрос в списке часто задаваемых вопросов: Basic Electronics Book .

Ответы (3)

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

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

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

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

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

Итак, мои последние несколько советов:

  1. Google — ваш друг, используйте его!
  2. Читайте блоги (на самом деле, это превосходный ресурс, создавайте свои собственные, чтобы документировать и делиться своей работой).
  3. Задавайте вопросы (например, здесь), но сначала попытайтесь разобраться во всем самостоятельно.

Поиск -> Читать -> Спросить (если нужно)

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

Это очень хорошая отправная точка: http://learn.sparkfun.com/tutorials . Попробуйте их первую серию встроенной электроники.

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

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

Если вам нужны подробности, я бы порекомендовал https://6002x.mitx.mit.edu/ .

Взгляните на http://www.nand2tetris.org/ , эти ребята описывают многое из того, что вы хотите узнать. (Не все из этого, но я думаю, что подход стоит упомянуть)

Поиск в сети — прекрасный способ узнать материал, но я бы сказал (как специалист по программному обеспечению, который также является EE), что вам следует избегать любых сайтов, посвященных Arduino или PIC, поскольку уровень понимания настолько низок, что может повредить вашему пониманию * или привести вас к плохим привычкам - это немного похоже на получение медицинского совета от просмотра скорой помощи, а не от чтения медицинского учебника. Книги хорошие, Форрест М. Мимс III (отличное имя, отличный парень) написал несколько дружеских книг на эту тему, но есть и много других. «Электронные системы» М. В. Бримикомба были моим учебником на уровне A и (ИМХО) подходят к предмету с хорошей стороны, рассматривая сложные вещи как «черные ящики», о которых вы знаете только то, что вам нужно знать (как они ведут себя, что вы использовать их для), а не путать вас с физикой PN-переходов на странице 2.

* = Прочь, держу пари, что ни один профессиональный ИП не согласится с выводом.