Який проект може допомогти інженеру програмного забезпечення стати більше інженером-електронником? [зачинено]


17

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

Я чув про Arduino як про гнучку платформу проектів, і мені було цікаво, які проекти можуть допомогти комусь із мого тла пройти шлях до електронної інженерії ... починаючи з програмування мікроконтролерів і, можливо, возитися з іншими видами периферійних пристроїв, наприклад, Bluetooth , зигбі, wifi, аудіо, відео, я не знаю ... можливо, такий проект, який типовий для інженерів-електронників під час їхніх курсів.

Підсумовуючи те, що я шукаю - це типовий / популярний вид проекту (академічний чи інший), який міг би допомогти інженеру-програмісту розвинути навички електронної інженерії, встановлені на програмному рівні.


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

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


1
Я в такому самому становищі, я просто хотів повозитися з обладнанням. Я привіз Arduino та іграшковий автомобіль RC, підключив їх разом. Не маю ідеї як, але це працює, і це приголомшливо :) Це не все так складно, я ніколи раніше не писав рядок C (C # dev тут), і щось пару працював за пару годин.
TJHeuvel

Який проект? Я б запропонував проект з електроніки.
joeforker

Відповіді:


10

Ось кілька пропозицій щодо проектів, до яких розробнику програмного забезпечення не важко було б вступити. Вони можуть здатися досить важкими, але я великий шанувальник спроб проектів, що виходять за рамки мого набору навичок. Якщо вони будуть веселими, переконливими проектами, вони будуть радісно перетягувати вас через процес навчання. І пам’ятайте, ми всі тут, щоб допомогти.


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

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

Це повністю цифровий проект, але дуже весело (хто не любить світлодіоди). Вам знадобляться деякі драйвери, такі як ULN2803, і ​​мікроконтролер. Отримайте матрицю, щоб сказати час, або показати малюнок. Я щойно збирався показати зображення Бьорка на матриці 16х16.


Площина пінопластового стабілізованого гіроскопа

Отримайте пінопласт і пару мікроелементів :

Пінопласт мікроелерони

Вам також знадобиться гіроскоп MEMS з аналоговим виходом і кілька крихітних OpAmps. Змішайте їх все разом, щоб вийшла площина пінопластової стабілізованої гумкою.


Робот

Усі люблять робота. Чудова річ у маленького робота, як це, полягає в тому, що ви можете почати з чогось надзвичайно простого (просто приводити вперед), і повільно додавати більше і більше функціональності (Датчики та прийняття рішень), навчаючись весь час.

Робот


5

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

Набір мікроконтролерів може допомогти вам отримати контроль. Ви можете працювати з усіма видами входів, цифровими та аналоговими та виходами.
Спробуйте, наприклад, всюдисущий термостат .

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

Вихідний сигнал
Для управління реле потрібно знати, як працює транзистор як комутатор (це найпростіша програма для розуміння).

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

Окрім плати мікроконтролера, влаштуйте електронний комплект стартерів , який містить більшість основних частин для створення простих схем. І хороший посібник , звичайно. Мистецтво електроніки тут надзвичайно популярне, хоча останній раз я бачив, що це було належне для оновлення.


1
А якщо вам не вистачає термостата, ви можете перейти до впровадження PID-контролера. :)
Нік Джонсон

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

5

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

PSoC Creator

Ви можете грати з цифровими та аналоговими схемами відповідно до вмісту вашого серця і поєднувати все це з програмним забезпеченням, написаним в одній і тій же IDE.


2
Це нечасте місце для початку; PSoC - це дуже складна і незвична система. Чи мали ви успіх навчання інших, використовуючи це як вихідну точку?
Кевін Вермер

Всередині воно може бути складним, але це мрія використовувати. Вони зробили дивовижну роботу, змусивши все інтегруватися плавно, і створили безліч приємних відео-підручників та документів.
Rocketmagnet

1
Той факт, що всі ці периферійні пристрої інтегровані в PSoC, є справою проти цього. Ви повинні будувати ці системи самостійно, якщо хочете навчитися.
stevenvh

2
@stevenvh Зовсім не. Яка різниця між провідником воріт всередині мікросхем і схематичним підключенням воріт? Це концептуально ідентично.
Rocketmagnet

@sandundhammika Немає проблем. Я думаю, кожен повинен відкрити, яке задоволення розробляти програми для цих речей.
Rocketmagnet

5

Proteus - це відмінна платформа проптипізації програмного забезпечення. Ви можете побудувати плати та схеми друкованих плат, використовуючи більшість, якщо не всі згадані MCU тут; І найкраще, що ви можете імітувати свій вихідний код так, ніби він працює на реальному апаратному забезпеченні!

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

Також; Ви отримуєте віртуальні інструменти, такі як Осциліскопи. Фортуна! Це все включено практично з багатьма іншими функціями та віртуальними інструментами.

Це не безкоштовно, але ціна є абсолютно розумною за кількість часу і розчарування, які можуть вас врятувати, замість того, щоб возитися з реальним обладнанням.


Чи дійсно ви можете зробити реальні схеми таким чином?
Rocketmagnet

Так, я складаю свою схему в 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 яка в основному є ардуїно, але набагато новішою та більш здатною.

Важливою частиною обох цих хлопців є те, що Середовища розвитку БЕЗКОШТОВНІ! Так, Microsoft надає вам безкоштовну візуальну студію для Micro Framework, а Atmel має AVR Studio 5 (яка базується на Visual Studio, починаючи з версії 5)

Вам також потрібно усвідомити можливості кожного комплекту розробників.

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

Він заснований на мікросхемах Atmega, але вони використовують низькі тактові частоти (8 МГц, 16 МГц), але цілком здатні робити різні біти та бопи. Це відмінна відправна точка у вивченні електротехніки, оскільки вона має безкоштовну програму IDE та велику спільноту з тоннами коду та бібліотек. Якщо ви дізнаєтесь звідси, вам буде легше перейти на інші чіпи на базі AVR з точки зору перенесення синтаксису та коду.

Це дуже обмежено тим, що він може робити, наприклад, не сподівайтеся на ретрансляцію відеоданих через внутрішній мікро веб-сервер до Інтернету. Ці MCU просто не можуть одночасно обробляти дані та кількість завдань, але як тільки ви щоб дійти до цього рівня, тоді буде добре перейти до .NET або 32Bit AVR.

  • AVR 32

Ці хлопці можуть самостійно обробляти LCD, відео, веб-сервер, бездротовий доступ та безліч матеріалів. Вони також починають йти набагато швидше в швидкості обробки. Але перед тим, як почати розглядати це, вам потрібно зрозуміти, що існує кілька продуктів, які також виконують конкретні функції. Такі, як сенсорний сенсор, бездротовий зв’язок, наднизька потужність, деякі змішані та відповідні, і для цього потрібен належний процес дослідження та розробки. ці погані хлопці.

  • Техаські інструменти

Будьте дуже обережні з ними,

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

Там багато девкітів, я лише розповів вам про деякий власний досвід, що надходить із сертифікації .NET. Я зробив стартовий старт з Arduino Mega256.

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

Щасти :-)


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

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

Це було миле питання. Мій головний професійний досвід полягає у (добре написаному) PHP, але я також добре володію Java, C & C ++, Javascript.
герцогство, яке відбулося

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 стає настільки популярним, різниця між інженером програмного забезпечення та розробником програмного забезпечення швидко зменшується. Проведіть деякий час, дивлячись на вбудований драйвер із відкритим кодом.

Я хотів би дещо поставити під сумнів бажання стати більше схожим на ЗНО, оскільки дві дисципліни досить чіткі. Так, є тона перекриття, але зосередьтеся на стороні водія і не занурюйтесь в деталі електроніки.


Він каже вам, що хоче зайнятися електронікою!
stevenvh

Те, що я пропоную, - це бічний програмний підхід зверху вниз, а не починати із схематичної роботи і повертатися з штифтів IO. Це здається розумним, оскільки я трактую "електронну інженерну майстерність, встановлену на рівні програмного забезпечення", щоб означати спрямованість на розробку програмного забезпечення.
підводний сигнал

1

по-перше, це дійсно чудово, якщо ви не з електроніки, ви насправді не збираєтесь розробляти чіпи, чи не так?

але якщо ви збираєтеся вивчати електроніку, я б запропонував вам отримати основи спочатку, як опір, діоди, транзистори тощо. Комплект хобі для електроніки з радіошока або будь-який інший постачальник зробив би .. наступний перехід до мікроконтролерів, Arduino зробив би це дуже просто, але я б радив вам поїхати з чимось, що не було зроблено вже легко, Arduino дуже просто і не ставить багато проблем перед його користувачем. Почніть з AVR, PIC або мікроконтролерів 8051, Купіть мікроконтролер, кодування книг і srart, починаючи з миготливої ​​світлодіодної програми ("Hello World" у відділі електроніки), і, як ви побачите, за короткий час ви не використовували б матричні клавіатури та семи сегментні дисплеї, щоб дізнатися ще деякі основи, після чого настає реальна робота, взаємодія ваших пристроїв з іншими ІС та сенсорними мережами, що стосується вашої роботи.ваша рада розвитку вже має деякі з цих функцій, і якщо вони не роблять, ви завжди можете легко придбати шельди або пробивні бороди, то все залежить від вас ...

Я б також радив вам проконсультуватися з вашою компанією про платформу, яку вони використовують, це дасть вам настанову на мікроконтролері вчитися, і оскільки ви вже програміст, це повинно вам виявитись дуже просто і завжди робити такі хобі-проекти, як Робот і світлодіодна матриця серед інших, це не дозволить вам замислитись над темою, за якою ви не будете нудьгувати !!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.