Jestem programistą praktycznie bez doświadczenia w dziedzinie elektroniki, ale chcę się tym zająć, ponieważ ma to związek z pracą, którą wykonuję (rozwój systemu multimedialnego). Jestem inżynierem oprogramowania, a nie inżynierem elektronikiem, więc moje doświadczenie / doświadczenie ma więcej wspólnego z programowaniem na poziomie aplikacji, a może trochę programowaniem systemu / sieci.
Słyszałem o Arduino jako elastycznej platformie projektowej i zastanawiałem się, jakie projekty mogłyby pomóc komuś z moim doświadczeniem w znalezieniu drogi do inżynierii elektronicznej ... zaczynając od programowania mikrokontrolera i może zadziwiając inne urządzenia peryferyjne, takie jak bluetooth , zigbee, wifi, audio, wideo, nie wiem ... może rodzaj projektu typowego dla inżynierów elektroników podczas ich kursów.
Podsumowując, szukam typowego / popularnego rodzaju projektu (akademickiego lub innego), który mógłby pomóc inżynierowi oprogramowania rozwinąć umiejętności inżynierii elektronicznej na poziomie oprogramowania.
źródło
Odpowiedzi:
Oto kilka sugestii dotyczących projektów, które nie byłyby trudne do zdobycia dla programisty. Wszystkie mogą wydawać się dość trudne, ale jestem wielkim fanem prób realizacji projektów, które znacznie przekraczają moje umiejętności. Jeśli są zabawnymi i atrakcyjnymi projektami, z radością przeciągną cię przez proces uczenia się. I pamiętajcie, wszyscy jesteśmy tutaj, aby pomóc.
Matryca LED
To całkowicie cyfrowy projekt, ale zapewniający wiele radości (kto nie lubi diod LED). Potrzebujesz sterowników takich jak ULN2803 i mikrokontrolera. Uzyskaj matrycę z informacją o godzinie lub pokaż zdjęcie. Byłem prawie w stanie pokazać zdjęcie Bjork na zielonej matrycy 16x16.
Płaszczyzna pianki stabilizowana żyroskopem
Zdobądź piankowy samolot i kilka mikro lotek :
Będziesz także potrzebował żyroskopu MEMS z wyjściem analogowym i kilkoma małymi OpAmps. Wymieszaj je wszystkie razem, aby uzyskać stabilizowaną żyroskopowo piankową płaszczyznę gumową.
Robot
Wszyscy kochają robota. Wspaniałą rzeczą takiego małego robota jest to, że możesz zacząć od czegoś niezwykle prostego (po prostu jechać do przodu) i powoli dodawać coraz więcej funkcji (czujniki i podejmowanie decyzji), ucząc się przez cały czas.
źródło
Jeśli jesteś już programistą, programowanie mikrokontrolerów samo w sobie nie powinno być naprawdę wyzwaniem i jest w tym niewiele elektroniki. Przynajmniej nie w sposób, w jaki musiałbyś radzić sobie z różnymi typami komponentów i musiałbyś wykonywać obliczenia napięć i prądów, aby coś działało.
Zestaw mikrokontrolera może jednak pomóc uzyskać kontrolę. Możesz pracować z wszelkiego rodzaju wejściami, cyfrowymi i analogowymi oraz wyjściami.
Spróbuj na przykład wszechobecnego termostatu .
Wejścia
Musisz zrozumieć czujniki temperatury (dowolnego rodzaju), wzmacniacze, opampy i być może tranzystory, oprócz kondensatorów i rezystorów. Opampy, a zwłaszcza tranzystory są podstawowe, są stosowane w każdym obwodzie.
Wyjście
Aby sterować przekaźnikiem, musisz wiedzieć, jak tranzystor działa jako przełącznik (jest to najłatwiejsza do zrozumienia aplikacja).
Mikrokontroler płyty rozwojowe często mają wyświetlanie na nich, LCD lub LED, czy można podłączyć do modułu wyświetlacza. Chociaż jest to przydatne (np. Do debugowania) i sprawia przyjemność, nie pomaga zrozumieć elektroniki. Będziesz musiał stworzyć własny wyświetlacz, na przykład matrycę LED, i nauczyć się obsługiwać wyświetlacz multipleksowany, zarówno z punktu widzenia oprogramowania, jak i sprzętu.
Oprócz płytki mikrokontrolera weź elektroniczny zestaw startowy , który zawiera większość podstawowych elementów do tworzenia prostych obwodów. I oczywiście dobry podręcznik . Sztuka elektroniki jest tutaj niezwykle popularna, chociaż ostatnim razem, gdy ją zobaczyłem, miała miejsce aktualizacja.
źródło
Zdobądź zestaw deweloperski PSoC . PSoC jest mikrokontroler, który zawiera re-konfigurowalne cyfrowe i analogowe bloki. Zasadniczo można połączyć schematy cyfrowe i analogowe za pomocą IDE. Te schematy są następnie implementowane w układzie PSoC.
Możesz grać z cyfrowymi i analogowymi układami obwodów do treści twojego serca i połączyć to wszystko z oprogramowaniem napisanym w tym samym IDE.
źródło
Proteus to doskonała platforma do zarządzania proptykami. Możesz budować płytki PCB i schematy przy użyciu większości, jeśli nie wszystkich wymienionych MCU tutaj; A co najważniejsze, możesz symulować kod źródłowy tak, jakby działał na prawdziwym sprzęcie!
Najmilszą rzeczą w tym oprogramowaniu jest to, że możesz zmieniać zmienne, takie jak kryształy, kondensatory, rezystory, bez konieczności lutowania, rozlutowywania, porządkowania i czekania, aż w końcu zlejesz się z płytami proto lub osłonami. Emuluje to idealnie.
Również; Otrzymujesz wirtualne narzędzia, takie jak Osciliscope. Wiesz, ile kosztuje dobry oscyliscope? Bogactwo! Wszystko to zawiera praktycznie mnóstwo innych funkcji i wirtualnych narzędzi.
To nie jest bezpłatne, ale cena jest absolutnie rozsądna ze względu na ilość czasu i frustrację, którą można zaoszczędzić, zamiast bałagania z prawdziwym sprzętem.
źródło
Myślę, że próba nauczenia się wszystkiego spowoduje jedynie zamieszanie i stratę czasu. IMHO powinieneś spróbować skoncentrować swoje zainteresowanie: powiedziałeś, że potrzebujesz go do systemów audio-nawigacyjnych, prawda?
Podejściem mogłoby być zorientowanie się, czym jest jeden z tych systemów:
Jednostka przetwarzająca (prawdopodobnie mikrokontroler lub zwykły komputer);
Niektóre sterowniki wyświetlacza;
Interfejs I / O do interakcji użytkownika;
Interfejsy komunikacyjne (sieci, interfejsy do innych urządzeń ...)
Każda z tych subdomen jest kompletnym systemem, który można badać i projektować jako projekt. Niektóre z nich można również podzielić na więcej subdomen na niższym poziomie abstrakcji, aż do poziomu komponentu.
Tak więc proponuję rozbić tę złożoną architekturę na bloki i spróbować stworzyć proste obwody (być może zaczynając od sterowników LED), ale można je następnie wprowadzić do większego planu. Będziesz miał motywację, aby to zrobić, ponieważ będzie to część końcowej pracy i sposób, w jaki poznasz elektronikę.
Zajmij się studiowaniem i zrozumieniem tego, co robisz, zamiast polegać na gotowych schematach i ogólnych ogólnych zasadach.
źródło
Miałem ten sam problem. I w końcu dowiedziałem się, że nie ma skrótu do nauki elektroniki. Wykształcenie wyższe może ci pomóc.
W przeciwnym razie możesz wypróbować następujące książki:
Krok 1.
Krok 2.
Wraz z oprogramowaniem NI Multisim .
źródło
Jako twórca oprogramowania jesteś na jednej z dwóch głównych dostępnych platform.
PHP czy .NET?
Jeśli jesteś .NET, to mogę zdecydowanie zasugerować ci .NET MicroFramework IDE i NetDuino
Istnieje wiele innych dostępnych urządzeń, ale sugeruję ten, ponieważ jego cena jest rozsądna i jest bardzo podobny w projekcie do Arduino i wielu innych rodzajów płyt prototypowych, które pomogą rozwinąć znajomość kilku zestawów.
Ani .NET ani PHP nie ma rzeczywistego połączenia z programowaniem osadzonym, ale składnia PHP jest bardzo bliska,
C
co warto wiedzieć. .NET, dobrze jest pozostać w znanym środowisku, a także możesz uzyskać certyfikaty na to dzięki Microsoft Learning.Inną platformą, którą zasugerowałem, jest Atmels AVR XMega, która jest w zasadzie arduino, ale znacznie nowsza i bardziej wydajna.
Ważną częścią obu tych facetów jest to, że środowiska programistyczne są ZA DARMO! Tak, Microsoft oferuje bezpłatne Visual Studio dla Micro Framework, a Atmel ma AVR Studio 5 (oparty na Visual Studio od wersji 5)
Musisz także zdać sobie sprawę z możliwości każdego zestawu deweloperskiego.
Opiera się na układach Atmega, ale używają układów o niskiej częstotliwości (8 MHz, 16 MHz), ale są w stanie wykonywać różne bity i bopy. Jest to świetny punkt wyjścia do nauki elektrotechniki, ponieważ ma bezpłatne IDE i ogromną społeczność z mnóstwem kodu i bibliotek. Jeśli się z tego nauczysz, łatwiej będzie przejść na inne układy oparte na AVR pod względem składni i przenoszenia kodu.
Jest to bardzo ograniczone do tego, co może zrobić, na przykład nie należy oczekiwać przekazywania danych wideo przez wewnętrzny mikro serwer WWW do Internetu. Te MCU po prostu nie mogą obsługiwać danych i ilości rzeczy do zrobienia w tym samym czasie, ale raz dostać się do tego poziomu, wtedy dobrze będzie przejść na AVR .NET lub 32Bit.
Ci faceci potrafią samodzielnie obsługiwać ekrany LCD, wideo, serwer WWW, bezprzewodowy i wiele innych rzeczy. Zaczynają także znacznie szybsze przetwarzanie. Ale zanim zaczniesz na nie patrzeć, musisz zdać sobie sprawę, że istnieje kilka produktów, które wykonują również określone funkcje. Takie jak dotyk, komunikacja bezprzewodowa, bardzo niska moc, niektóre są mieszane i dopasowane, a to wymaga odpowiedniego procesu badań i rozwoju za pomocą ci źli chłopcy.
Bądź z nimi bardzo ostrożny,
Oferują fantastyczne wiodące na rynku żetony, które są niesamowite, gdy o nich czytacie. Niestety nie ma darmowego IDE, a opłaty licencyjne kosztują tysiące dolarów. Chociaż niektóre produkty, takie jak MSP430, mają bezpłatne IDE, ale wiele rzeczy jest z nimi granicznych i niejasnych. Również nauka bibliotek dla niektórych układów TI jest absolutnym koszmarem .. Ale jest to rynek niszowy i możesz tutaj uzyskać dobrą pensję ..
Istnieje mnóstwo zestawów deweloperskich, mówiłem tylko o moich własnych doświadczeniach związanych z certyfikacją .NET. Zacząłem właściwie z Arduino Mega256.
Dzisiaj tworzę własne płytki PCB o wymiarach 1,5 cm x 1,5 cm, które działają na ogniwach monetowych przez okres do 2 lat, korzystając z niesamowitych SystemOnChips firmy TI. Ale dotarcie tam zajęło mi dużo czasu i cierpliwości, ale nadal nie mam pojęcia o systemach wbudowanych ...
Powodzenia :-)
źródło
Twoje pytanie jest dość szerokie i będzie wiele dobrych możliwości. Jeśli koncentrujesz się bardziej na wyższym poziomie interakcji małego komputera z fizycznymi rzeczami, proponuję spojrzeć na coś w rodzaju zestawu Lego Mindstorms . Dzięki temu możesz budować i programować roboty. Będzie to na wysokim poziomie plug and play różnych czujników itp.
Istnieje również ważniejszy, bardziej podstawowy poziom inżynierii elektrycznej, w którym „prawdziwe” EE projektowałoby i budowało czujniki. Korzystanie z komputera jednopłytkowego, takiego jak Arduino lub Netduino i płyta kontrolna, w której podłączane są różne elementy, takie jak rezystory, diody LED itp., Do budowy obwodów, będzie bliżej tego bardziej podstawowego poziomu. W tym momencie będziesz mieć do czynienia z pytaniami takimi jak: „jaki rezystor wartości powinienem połączyć szeregowo z diodą LED, aby ograniczyć prąd, aby moja dioda LED i mikrokontroler nie poszły z dymem?”.
Dzięki zestawowi Lego po prostu łączysz ze sobą elementy, a oni zadbali o to, aby był idiotyczny.
źródło
Sugeruję skupienie się na różnicy między oprogramowaniem napisanym dla komputera PC a oprogramowaniem wbudowanym dla aplikacji wbudowanych. Pędzel do C. Wraz z upowszechnianiem się linuxa embeddd różnica między inżynierem oprogramowania i twórcą oprogramowania szybko maleje. Poświęć trochę czasu na sprawdzenie wbudowanego sterownika typu open source.
Chciałbym nieco zakwestionować chęć stania się bardziej jak EE, ponieważ te dwie dyscypliny są dość odmienne. Tak, nakłada się na siebie mnóstwo, ale skup się na stronie kierowcy i nie daj się wciągnąć w szczegóły elektroniki.
źródło
po pierwsze, jest naprawdę w porządku, jeśli nie pochodzisz z elektroniki, naprawdę nie zamierzasz projektować Chipsów, prawda?
ale jeśli zamierzasz uczyć się elektroniki, radzę najpierw zdobyć podstawy, takie jak Rezystancja, Diody, Tranzystory itp. Zestaw hobby elektroniki od radioshacka lub innego dostawcy ... następnie przejdź do Mikrokontrolerów, Arduino zrobiłby to naprawdę proste, ale radzę wybrać coś, co już nie było łatwe, Arduino jest naprawdę łatwe i nie stanowi większego wyzwania przed użytkownikiem. Zacznij od AVR, PIC lub mikrokontrolerów 8051, Kup mikrokontroler, a kodowanie książek i srart, zaczynając od programu Migające diody LED („Hello World” w dziale elektroniki) i jak się przekonacie, w krótkim czasie nie użylibyście matrycowych klawiatur i siedmiu wyświetlaczy segmentowych, aby dowiedzieć się więcej o podstawach, potem prawdziwe praca, łączenie urządzeń z innymi układami scalonymi i sieciami czujników, związanymi z pracą.Twoja tablica programistów ma już niektóre z tych funkcji, a jeśli nie, zawsze możesz łatwo kupić sheilds lub breakout borad, to wszystko zależy od ciebie ...
doradziłbym również, abyś skontaktował się ze swoją firmą na temat używanej przez siebie platformy, dałby Ci wskazówki na temat mikrokontrolera, a ponieważ jesteś już programistą, powinno to być dla Ciebie naprawdę łatwe i zawsze wykonywać projekty hobbystyczne, takie jak Robot i matryca LED między innymi, to pozwoli ci skupić się na temacie, którego nie będziesz się nudzić !!
źródło