Ich bin Softwareentwickler und habe praktisch keinen Elektronikhintergrund, aber ich möchte mich damit befassen, da es für meine Arbeit (Entwicklung von Infotainmentsystemen) relevant ist. Ich bin Softwareentwickler, kein Elektronikingenieur, daher hat mein Hintergrund/meine Erfahrung mehr mit der Programmierung auf Anwendungsebene und vielleicht ein wenig mit der System-/Netzwerkprogrammierung zu tun.
Ich habe von Arduino als flexibler Projektplattform gehört und mich gefragt, welche Art von Projekten jemandem mit meinem Hintergrund helfen könnte, sich in die Elektrotechnik zu graben ... angefangen bei der Mikrocontroller-Programmierung und vielleicht beim Herumspielen mit anderen Arten von Peripheriegeräten wie Bluetooth , Zigbee, Wi-Fi, Audio, Video, ich weiß nicht ... vielleicht eine Art Projekt, das für Elektroniker während ihres Studiums typisch ist.
Zusammenfassend suche ich nach einer typischen/beliebten Art von Projekt (akademisch oder anderweitig), das einem Softwareingenieur dabei helfen könnte, auf Softwareebene Fähigkeiten in der Elektrotechnik zu entwickeln.
Hier sind einige Vorschläge für Projekte, die für einen Softwareentwickler nicht schwer zu erreichen sind. Sie mögen alle ziemlich schwierig erscheinen, aber ich bin ein großer Fan davon, Projekte zu versuchen, die weit außerhalb meiner Fähigkeiten liegen. Wenn es sich um unterhaltsame, überzeugende Projekte handelt, werden sie Sie mit Freude durch den Lernprozess ziehen. Und denken Sie daran, wir sind alle hier, um zu helfen.
Dies ist ein vollständig digitales Projekt, und aber viel Spaß (wer keine LEDs mag). Sie benötigen einige Treiber wie den ULN2803 und einen Mikrocontroller. Holen Sie sich die Matrix, um die Uhrzeit anzuzeigen, oder zeigen Sie ein Bild. Ich konnte gerade noch ein Bild von Bjork auf einer grünen 16x16-Matrix zeigen.
Holen Sie sich ein Schaumflugzeug und ein paar Mikro-Querruder :
Sie benötigen außerdem einen MEMS-Kreisel mit einem analogen Ausgang und einigen winzigen OpAmps. Mischen Sie sie alle zusammen, um ein kreiselstabilisiertes Gummiband-Schaumflugzeug herzustellen.
Jeder liebt einen Roboter. Das Tolle an einem kleinen Roboter wie diesem ist, dass Sie mit etwas extrem Einfachem beginnen können (nur vorwärts fahren) und langsam mehr und mehr Funktionalität hinzufügen (Sensoren und Entscheidungsfindung) und dabei die ganze Zeit lernen.
Wenn Sie bereits Softwareentwickler sind, sollte die Programmierung von Mikrocontrollern an sich keine Herausforderung sein, und es gibt wenig Elektronik. Zumindest nicht so, dass Sie mit verschiedenen Arten von Komponenten umgehen und Berechnungen zu Spannungen und Strömen anstellen müssten, damit etwas funktioniert.
Ein Mikrocontroller-Kit kann Ihnen jedoch dabei helfen, die Kontrolle zu erlangen. Sie können mit allen Arten von digitalen und analogen Eingängen und Ausgängen arbeiten.
Probieren Sie zum Beispiel den allgegenwärtigen Thermostat aus.
Eingänge
Sie müssen sich neben Kondensatoren und Widerständen mit Temperatursensoren (jeglicher Art), Verstärkern, Operationsverstärkern und vielleicht Transistoren vertraut machen. Operationsverstärker und insbesondere Transistoren sind einfach, sie werden in jeder Schaltung verwendet.
Ausgang
Um ein Relais anzusteuern, müssen Sie wissen, wie ein Transistor als Schalter funktioniert (das ist die am einfachsten zu verstehende Anwendung).
Mikrocontroller-Entwicklungsplatinen haben oft ein Display , LCD oder LED, oder können an ein Displaymodul angeschlossen werden. Dies ist zwar nützlich (z. B. zum Debuggen) und macht Spaß, hilft Ihnen aber nicht dabei, Elektronik zu verstehen. Sie müssen Ihr eigenes Display wie eine LED-Matrix erstellen und lernen, wie man ein Multiplex-Display ansteuert, sowohl aus Software- als auch aus Hardware-Sicht.
Abgesehen von der Mikrocontroller-Platine erhalten Sie ein elektronisches Starter-Kit , das die meisten grundlegenden Teile enthält, um einfache Schaltungen zu erstellen. Und natürlich ein gutes Handbuch . The Art of Electronics ist hier ungeheuer beliebt, obwohl es letztes Mal, als ich es sah, für ein Update fällig war.
Holen Sie sich ein PSoC-Entwicklungskit . Der PSoC ist ein Mikrocontroller, der rekonfigurierbare digitale und analoge Blöcke enthält. Sie können mit der IDE grundsätzlich digitale und analoge Schaltpläne verdrahten. Diese Schemata werden dann im PSoC-Chip implementiert.
Sie können nach Herzenslust mit digitalen und analogen Schaltungsdesigns spielen und alles mit Software kombinieren, die in derselben IDE geschrieben wurde.
Proteus ist eine hervorragende softwaregesteuerte Proptyping-Plattform. Sie können Leiterplatten und Schaltpläne mit den meisten, wenn nicht allen der hier erwähnten MCUs bauen; Und das Beste: Sie können Ihren Quellcode so simulieren, als würde er auf der echten Hardware selbst laufen!
Das Schöne an dieser Software ist, dass Sie Variablen wie Quarze, Kondensatoren, Widerstände ändern können, ohne löten, entlöten, bestellen und warten zu müssen, bis Sie schließlich mit Proto-Boards oder Abschirmungen herumspielen. Es emuliert es perfekt.
Ebenfalls; Sie erhalten virtuelle Werkzeuge wie Osziskope. Wissen Sie, wie viel ein gutes Osziskop kostet? Ein Vermögen! Es ist alles mit praktisch unzähligen anderen Funktionen und virtuellen Tools enthalten.
Es ist nicht kostenlos, aber der Preis ist absolut angemessen für die Menge an Zeit und Frustration, die es Ihnen ersparen kann, anstatt mit der echten Hardware herumzuspielen.
Ich denke, dass der Versuch, alles zu lernen, nur zu viel Verwirrung und verlorener Zeit führen wird. IMHO sollten Sie versuchen, Ihr Interesse zu bündeln: Sie haben gesagt, dass Sie es für Infotainmentsysteme brauchen, oder?
Ein Ansatz könnte darin bestehen, sich eine Vorstellung davon zu machen, was eines dieser Systeme ist:
Eine Verarbeitungseinheit (wahrscheinlich ein Mikrocontroller oder ein einfacher Computer);
Einige Treiber für das Display;
E/A-Schnittstelle für Benutzerinteraktion;
Kommunikationsschnittstellen (Vernetzung, Anbindung an andere Geräte...)
Jeder dieser Teilbereiche ist ein vollständiges System, das als Projekt untersucht und gestaltet werden kann. Einige von ihnen können auch in weitere Sub-Sub-Domänen auf einer niedrigeren Abstraktionsebene und bis hinunter zur Komponentenebene unterteilt werden.
Mein Vorschlag ist also, diese komplexe Architektur in Blöcke zu zerlegen und zu versuchen, einfache Schaltungen zu erstellen (vielleicht ausgehend von LED-Treibern), aber das kann dann in den größeren Plan eingefügt werden. Sie werden die Motivation dazu haben, da es Teil der Abschlussarbeit sein wird, und in der Art und Weise, wie Sie etwas über Elektronik lernen.
Kümmern Sie sich einfach darum, zu studieren und zu verstehen, was Sie tun, anstatt sich auf vorgefertigte Schaltpläne und allgemeine Faustregeln zu verlassen.
Ich war im selben Problem. Und schließlich habe ich gelernt, dass es keine Abkürzung gibt, um Elektronik zu lernen. Ein Hochschulabschluss kann Ihnen dabei helfen.
Ansonsten können Sie die folgenden Bücher ausprobieren:
Schritt 1.
Schritt 2.
Zusammen mit der Software NI Multisim .
Nun, als Softwareentwickler sind Sie auf einer der beiden wichtigsten verfügbaren Plattformen.
PHP oder .NET?
Wenn Sie .NET sind, kann ich Ihnen .NET MicroFramework IDE und NetDuino dringend empfehlen
Es gibt jede Menge andere Hardware, aber ich schlage diese vor, weil ihr Preis angemessen ist und sie im Design dem Arduino und vielen anderen Arten von Prototyping-Boards sehr ähnlich ist, was dazu beitragen wird, Vertrautheit mit mehreren Kits zu entwickeln.
Weder .NET noch PHP haben eine wirkliche Verbindung zur eingebetteten Programmierung, aber die PHP-Syntax ist sehr nah dran, C
was gut zu wissen ist. .NET, es ist schön, in einer vertrauten Umgebung zu bleiben, und Sie können auch Zertifizierungen dafür mit Microsoft Learning erhalten.
Eine andere Plattform, die ich vorschlagen würde, ist Atmels AVR XMega , das im Grunde das Arduino ist, aber viel neuer und leistungsfähiger.
Das Wichtige an diesen beiden Typen ist, dass die Entwicklungsumgebungen KOSTENLOS SIND! Ja, Microsoft gibt Ihnen kostenloses Visual Studio für Micro Framework und Atmel hat AVR Studio 5 (basiert auf Visual Studio ab Version 5)
Sie müssen auch die Fähigkeiten jedes Entwicklungskits erkennen.
Es basiert auf Atmega-Chips, aber sie verwenden niedrige Taktraten (8 MHz, 16 MHz), sind aber durchaus in der Lage, verschiedene Bits und Bops zu machen. Es ist ein großartiger Ausgangspunkt für das Erlernen der Elektrotechnik, da es über eine kostenlose IDE und eine riesige Community mit Tonnen von Code und Bibliotheken verfügt. Wenn Sie von hier aus lernen, wird es einfacher sein, in Bezug auf Syntax und Codeportierung auf andere AVR-basierte Chips umzusteigen.
Es ist sehr begrenzt auf das, was es tun kann. Erwarten Sie beispielsweise nicht, Videodaten über einen internen Mikro-Webserver an das Internet weiterzuleiten. Diese MCUs können die Daten und die Menge der gleichzeitig zu erledigenden Dinge nur einmal verarbeiten Erreichen Sie dieses Niveau, dann ist es gut, entweder auf .NET oder 32Bit AVRs aufzusteigen.
Diese Jungs können LCDs, Video, Webserver, Wireless und jede Menge Sachen in sich selbst handhaben. Sie beginnen auch viel schneller in der Verarbeitungsgeschwindigkeit zu gehen. Aber bevor Sie anfangen, sich diese anzusehen, müssen Sie sich darüber im Klaren sein, dass es mehrere Produkte gibt, die auch bestimmte Funktionen erfüllen.. Wie Berührungssinn, drahtlose Kommunikation, extrem geringer Stromverbrauch, einige sind gemischt und aufeinander abgestimmt, und dies erfordert einen angemessenen Forschungs- und Entwicklungsprozess hinter der Verwendung diese bösen Jungs.
Seien Sie sehr vorsichtig mit ihnen,
Sie bieten fantastische marktführende Chips, die erstaunlich sind, wenn man darüber liest. Leider gibt es keine kostenlose IDE und sie kosten Tausende von Dollar an Lizenzgebühren. Obwohl einige Produkte wie der MSP430 eine kostenlose IDE haben, sind viele Dinge damit grenzwertig und unklar. Außerdem ist das Erlernen der Bibliotheken für einige TI-Chips ein absoluter Albtraum. Aber es ist ein Nischenmarkt und Sie können hier ein gutes Gehalt bekommen.
Es gibt jede Menge Devkits, ich habe Ihnen nur von einigen meiner eigenen Erfahrungen mit einer .NET-Zertifizierung erzählt. Ich habe tatsächlich mit einem Arduino Mega256 angefangen.
Heute stelle ich meine eigenen Leiterplatten mit einer Größe von nur 1,5 cm x 1,5 cm her, die mit Knopfzellen bis zu 2 Jahre lang laufen, indem ich die erstaunlichen SystemOnChips von TI verwende. Aber es hat viel Zeit und Geduld gekostet, dorthin zu gelangen, und ich habe immer noch das Gefühl, nichts über eingebettete Systeme zu wissen ...
Viel Glück :-)
fast ways to convert between binary, decimal and hexadaceimal
Sie einfach in Ihrem Kopf nach, ohne unordentliche Diagramme und Schreiben auf Papier.Ihre Frage ist ziemlich weit gefasst, und es wird viele gute Möglichkeiten geben. Wenn Sie sich mehr darauf konzentrieren, wie man einen kleinen Computer dazu bringt, mit physischen Dingen zu interagieren, kann ich vorschlagen, dass Sie sich etwas wie das Lego Mindstorms-Kit ansehen . Damit können Sie Roboter bauen und programmieren. Dies wird auf hohem Niveau durch Plug and Play verschiedener Sensoren usw.
Es gibt auch eine wichtige, grundlegendere Ebene der Elektrotechnik, auf der ein "echter" EE Sensoren entwerfen und bauen würde. Die Verwendung eines Einplatinencomputers wie eines Arduino oder Netduino und eines Steckbretts, auf dem Sie verschiedene Komponenten wie Widerstände, LEDs usw. in das Steckbrett stecken, um Schaltkreise zu konstruieren, wird diesem grundlegenderen Niveau näher kommen. An dieser Stelle beschäftigen Sie sich mit Fragen wie "Welchen Widerstandswert sollte ich in Reihe mit der LED schalten, um den Strom zu begrenzen, damit meine LED und mein Mikrocontroller nicht in Rauch aufgehen?".
Mit dem Lego-Bausatz steckst du die Komponenten einfach zusammen und sie haben dafür gesorgt, dass es idiotensicher ist.
Ich würde vorschlagen, sich auf den Unterschied zwischen der für den PC geschriebenen Software und der für eingebettete Anwendungen geschriebenen Firmware zu konzentrieren. Frischen Sie C auf. Da embeddd Linux immer beliebter wird, schrumpft der Unterschied zwischen einem Firmware-Ingenieur und einem Software-Entwickler rapide. Verbringen Sie einige Zeit damit, sich einen eingebetteten Open-Source-Treiber anzusehen.
Ich würde den Wunsch, mehr wie ein EE zu werden, etwas in Frage stellen, da die beiden Disziplinen ziemlich unterschiedlich sind. Ja, es gibt eine Menge Überschneidungen, aber konzentrieren Sie sich auf die Fahrerseite und verzetteln Sie sich nicht in den Details der Elektronik.
Zunächst einmal ist es wirklich in Ordnung, wenn Sie keinen Elektronikhintergrund haben. Sie werden wirklich keine Chips entwerfen, oder?
Aber wenn Sie Elektronik lernen möchten, würde ich Ihnen vorschlagen, zuerst die Grundlagen wie Widerstand, Dioden, Transistoren usw. zu erwerben. Ein Elektronik-Hobby-Kit von Radioshack oder einem anderen Anbieter würde ausreichen. Als nächstes würde Arduino zu den Mikrocontrollern übergehen Es ist wirklich einfach, aber ich würde Ihnen raten, mit etwas zu gehen, das noch nicht einfach gemacht wurde. Arduino ist wirklich einfach und stellt seinen Benutzer vor keine große Herausforderung. Beginnen Sie mit AVR-, PIC- oder 8051-Mikrocontrollern, kaufen Sie einen Mikrocontroller, a Buch- und Srart-Codierung, beginnend mit dem blinkenden LED-Programm (das "Hallo Welt" in der Elektronikabteilung) und wie Sie sehen werden, würden Sie in kürzester Zeit Matrixtastaturen und Siebensegmentanzeigen verwenden, um weitere Grundlagen zu lernen, danach kommt die Realität arbeiten, indem Sie Ihre Geräte mit anderen ICs und Sensornetzwerken verbinden, die mit Ihrer Arbeit zusammenhängen.Ihr Entwicklungsboard verfügt bereits über einige dieser Funktionen, und wenn dies nicht der Fall ist, können Sie jederzeit leicht verfügbare Schilde oder Breakout-Boards kaufen, dann liegt alles bei Ihnen ...
Ich würde Ihnen auch raten, sich bei Ihrem Unternehmen nach der Plattform zu erkundigen, die es verwendet. Dies würde Ihnen eine Anleitung zum Lernen des Mikrocontrollers geben, und da Sie bereits Programmierer sind, sollte sich dies als sehr einfach für Sie erweisen und immer Hobbyprojekte wie Robot durchführen und LED-Matrix unter anderem, dies würde Sie in das Thema einbeziehen, Sie werden sich nicht langweilen !!
Standard-Sandun
AndrejaKo
Toby Jaffey
TJHeuvel
joeforker
Kevin Vermeer