Je suis un développeur de logiciels n'ayant pratiquement aucune expérience en électronique, mais je veux y entrer car c'est pertinent pour le travail que je fais (développement de système d'infodivertissement). Je suis un ingénieur logiciel, pas un ingénieur en électronique, donc mon expérience / expérience a plus à voir avec la programmation au niveau de l'application, et peut-être un peu de programmation système / réseau.
J'ai entendu parler d'Arduino en tant que plate-forme de projet flexible et je me demandais quels types de projets pourraient aider quelqu'un avec mes antécédents à se frayer un chemin vers l'ingénierie électronique ... à commencer par la programmation de microcontrôleurs et peut-être à jouer avec d'autres types de périphériques, tels que le bluetooth , zigbee, wifi, audio, vidéo, je ne sais pas ... peut-être une sorte de projet typique des ingénieurs en électronique pendant leurs cours.
En somme, ce que je recherche, c'est un projet type / populaire (académique ou autre) qui pourrait aider un ingénieur logiciel à développer un ensemble de compétences en ingénierie électronique au niveau logiciel.
la source
Réponses:
Voici quelques suggestions de projets qui ne seraient pas difficiles à réaliser pour un développeur de logiciels. Ils peuvent tous sembler assez difficiles, mais je suis un grand fan de projets qui vont bien au-delà de mes compétences. S'ils sont des projets amusants et captivants, ils vous entraîneront avec joie tout au long du processus d'apprentissage. Et rappelez-vous, nous sommes tous là pour vous aider.
Matrice LED
Il s'agit d'un projet entièrement numérique, mais très amusant (qui n'aime pas les LED). Vous aurez besoin de certains pilotes comme l'ULN2803 et d'un microcontrôleur. Obtenez la matrice pour indiquer l'heure ou montrez une image. J'étais sur le point de montrer une image de Bjork sur une matrice verte 16x16.
Avion en mousse stabilisée par gyroscope
Obtenez un avion en mousse et quelques micro ailerons :
Vous aurez également besoin d'un gyroscope MEMS avec une sortie analogique et de minuscules OpAmps. Mélangez-les tous ensemble pour faire un avion en mousse de bande de caoutchouc stabilisée par gyroscope.
Robot
Tout le monde aime un robot. Ce qu'il y a de bien avec un petit robot comme celui-ci, c'est que vous pouvez commencer avec quelque chose d'extrêmement simple (simplement avancer) et ajouter lentement de plus en plus de fonctionnalités (capteurs et prise de décision), tout en apprenant.
la source
Si vous êtes déjà développeur de logiciels, la programmation du microcontrôleur en soi ne devrait pas vraiment être un défi, et il y a peu d'électronique à ce sujet. Du moins pas de la manière dont vous auriez à gérer différents types de composants et à faire des calculs sur les tensions et les courants pour faire fonctionner quelque chose.
Un kit de microcontrôleur peut cependant vous aider à prendre le contrôle. Vous pouvez travailler avec toutes sortes d'entrées, numériques et analogiques, et des sorties.
Essayez le thermostat omniprésent par exemple.
Entrées
Vous aurez besoin de comprendre les capteurs de température (quels qu'ils soient), les amplificateurs, les amplificateurs opérationnels et peut-être les transistors, en plus des condensateurs et des résistances. Les amplis-op et surtout les transistors sont basiques, ils sont utilisés dans tous les circuits.
Sortie
Pour piloter un relais, vous devez savoir comment fonctionne un transistor comme interrupteur (c'est l'application la plus simple à comprendre).
Les cartes de développement de microcontrôleurs ont souvent un écran , LCD ou LED, ou peuvent se connecter à un module d'affichage. Bien que cela soit utile (par exemple pour le débogage) et amusant, cela ne vous aide pas à comprendre l'électronique. Vous devrez créer votre propre écran, comme une matrice LED, et apprendre à piloter un écran multiplexé, à la fois d'un point de vue logiciel et matériel.
Outre la carte microcontrôleur, procurez-vous un kit de démarrage électronique , qui contient la plupart des pièces de base pour réaliser des circuits simples. Et un bon manuel , bien sûr. L'Art de l'électronique est immensément populaire ici, bien que la dernière fois que je l'ai vu, il était dû à une mise à jour.
la source
Obtenez un kit de développement PSoC . Le PSoC est un microcontrôleur qui contient des blocs numériques et analogiques reconfigurables. Vous pouvez essentiellement câbler des schémas numériques et analogiques avec l'IDE. Ces schémas sont ensuite implémentés à l'intérieur de la puce PSoC.
Vous pouvez jouer avec des conceptions de circuits numériques et analogiques à votre guise et les combiner avec des logiciels écrits dans le même IDE.
la source
Proteus est une excellente plate-forme de proptypage pilotée par logiciel. Vous pouvez construire des cartes PCB et des schémas en utilisant la plupart, sinon la totalité des MCU mentionnés ici; Et mieux encore, vous pouvez simuler votre code source comme s'il s'exécutait sur le vrai matériel lui-même!
La meilleure chose à propos de ce logiciel est que vous pouvez modifier des variables telles que des cristaux, des condensateurs, des résistances sans avoir à souder, dessouder, commander et attendre pour éventuellement fouiner avec des cartes de proto ou des boucliers. Il l'émule parfaitement.
Aussi; Vous obtenez des outils virtuels comme des oscilloscopes. Vous savez combien coûte un bon oscilloscope? Une fortune! Tout est inclus avec pratiquement des tonnes d'autres fonctionnalités et outils virtuels.
Ce n'est pas gratuit mais le prix est absolument raisonnable pour le temps et la frustration qu'il peut vous faire économiser, au lieu de jouer avec le vrai matériel.
la source
Je pense qu'essayer de tout apprendre ne fera que créer beaucoup de confusion et perdre du temps. À mon humble avis, vous devriez essayer de concentrer votre intérêt: vous avez dit que vous en avez besoin pour les systèmes d'infodivertissement, non?
Une approche pourrait être de se faire une idée de ce qu'est un de ces systèmes:
Une unité de traitement (probablement un microcontrôleur ou un simple ordinateur);
Certains pilotes pour l'affichage;
Interface d'E / S pour l'interaction avec l'utilisateur;
Interfaces de communication (mise en réseau, interface avec d'autres appareils ...)
Chacun de ces sous-domaines est un système complet qui peut être étudié et conçu comme un projet. Certains d'entre eux peuvent également être divisés en plusieurs sous-sous-domaines à un niveau d'abstraction inférieur et jusqu'au niveau du composant.
Donc, ma suggestion est de briser cette architecture complexe en blocs et d'essayer de créer des circuits simples (peut-être à partir de pilotes LED), mais qui peuvent ensuite être insérés dans le plus grand plan. Vous aurez la motivation pour le faire, car cela fera partie du travail final et de la façon dont vous apprendrez l'électronique.
Prenez simplement soin d'étudier et de comprendre ce que vous faites, au lieu de vous fier à des schémas prédéfinis et à des règles générales génériques.
la source
J'étais dans le même problème. Et finalement, j'ai appris qu'il n'y avait pas de raccourci pour apprendre l'électronique. Un diplôme universitaire peut vous aider.
Sinon, vous pouvez essayer les livres suivants:
Étape 1.
Étape 2.
Avec le logiciel NI Multisim .
la source
Eh bien, en tant que développeur de logiciels, vous êtes sur l'une des deux principales plates-formes disponibles.
PHP ou .NET?
Si vous êtes .NET, je peux fortement vous suggérer l' IDE MicroFramework .NET et NetDuino
Il existe de nombreux autres matériels disponibles, mais je suggère celui-ci car son prix est raisonnable et sa conception est très similaire à l'Arduino et à de nombreuses autres versions de cartes de prototypage qui aideront à développer la familiarité entre plusieurs kits.
Ni .NET ni PHP n'ont de véritable connexion à la programmation intégrée, mais la syntaxe PHP est très proche de
C
ce qui est bon à savoir. .NET, c'est bien de rester dans un environnement familier et vous pouvez également obtenir des certifications pour cela avec Microsoft Learning.Une autre plateforme que je suggérerais est Atmels AVR XMega qui est fondamentalement l'arduino mais beaucoup plus récent et plus capable.
La partie importante de ces deux types est que le environnements de développement SONT GRATUITS!Oui, Microsoft vous offre Free Visual Studio pour Micro Framework et Atmel a AVR Studio 5 (qui est basé sur Visual Studio à partir de la version 5)
Vous devez également réaliser les capacités de chaque kit de développement.
Il est basé sur des puces Atmega, mais ils utilisent des puces à faible vitesse d'horloge (8 MHz, 16 MHz) mais sont tout à fait capables de faire divers bits et bops. C'est un excellent point de départ pour apprendre le génie électrique car il dispose d'un IDE gratuit et d'une communauté massive avec des tonnes de code et de bibliothèques. Si vous apprenez d'ici, il sera plus facile de passer à d'autres puces basées sur AVR en termes de syntaxe et de portage de code.
Il est très limité à ce qu'il peut faire, par exemple ne vous attendez pas à relayer des données vidéo via un micro serveur Web interne vers Internet. Ces MCU ne peuvent tout simplement pas gérer les données et la quantité de choses à faire en même temps, mais une fois que vous arriver à ce niveau, il sera bon de passer aux AVR .NET ou 32Bit.
Ces gars-là peuvent gérer les écrans LCD, la vidéo, le serveur Web, le sans fil et beaucoup de choses en soi. Ils commencent également à aller beaucoup plus vite dans la vitesse de traitement. Mais avant de commencer à les étudier, vous devez vous rendre compte qu'il existe plusieurs produits qui remplissent également des fonctions spécifiques. ces mauvais garçons.
Soyez très prudent avec eux,
Ils offrent de fantastiques puces leaders du marché qui sont incroyables lorsque vous les lisez. Malheureusement, il n'y a pas d'IDE gratuit et ils coûtent des milliers de dollars en frais de licence. Bien que certains produits comme le MSP430 aient un IDE gratuit, mais beaucoup de choses sont limites avec eux et peu claires. En outre, l'apprentissage des bibliothèques pour certaines puces TI est un cauchemar absolu .. Mais c'est un marché de niche et vous pouvez obtenir un bon salaire ici ..
Il y a beaucoup de devkits là-bas, je vous ai seulement parlé d'une partie de ma propre expérience venant d'une certification .NET. J'ai commencé en fait avec un Arduino Mega256.
Aujourd'hui, je fabrique mes propres PCB aussi petits que 1,5 cm x 1,5 cm qui fonctionnent avec des piles bouton pendant jusqu'à 2 ans en utilisant l'incroyable SystemOnChips de TI. Mais il a fallu beaucoup de temps et de patience pour y arriver et j'ai toujours l'impression de ne rien savoir des systèmes embarqués ...
Bonne chance :-)
la source
Votre question est assez large et il y aura beaucoup de bonnes possibilités. Si vous vous concentrez davantage sur le niveau supérieur de la façon de faire interagir un petit ordinateur avec des choses physiques, je vous suggère de regarder quelque chose comme le kit Lego Mindstorms . Avec cela, vous pouvez construire et programmer des robots. Ce sera à un niveau élevé de plug and play divers capteurs, etc.
Il existe également un niveau d'ingénierie électrique plus élémentaire où une «vraie» EE conçoit et construit des capteurs. L'utilisation d'un ordinateur à carte unique comme un Arduino ou un Netduino et une planche à pain où vous branchez divers composants tels que des résistances, des LED, etc. dans la planche à pain pour construire des circuits sera plus proche de ce niveau plus basique. À ce stade, vous devrez traiter des questions telles que "quelle résistance de valeur dois-je mettre en série avec la LED pour limiter le courant afin que ma led et mon microcontrôleur ne partent pas en fumée?".
Avec le kit Lego, vous branchez simplement les composants ensemble et ils ont pris soin de le rendre idiot.
la source
Je suggérerais de me concentrer sur la différence entre le logiciel écrit pour le PC et le firmware écrit pour les applications embarquées. Révisez C. Avec l'embeddd linux devenant si populaire, la différence entre un ingénieur de micrologiciel et un développeur de logiciel diminue rapidement. Passez un peu de temps à regarder un pilote intégré open source.
Je remettrais en question quelque peu le désir de ressembler davantage à un EE car les deux disciplines sont assez distinctes. Oui, il y a une tonne de chevauchements, mais concentrez-vous sur le côté conducteur et ne vous enlisez pas dans les détails de l'électronique.
la source
Tout d'abord, c'est vraiment bien si vous n'êtes pas issu de l'électronique, vous n'allez pas vraiment concevoir des puces, n'est-ce pas?
mais si vous allez apprendre l'électronique, je vous suggérerais de commencer par les bases comme la résistance, les diodes, les transistors, etc. un kit de loisirs électroniques de radioshack ou de tout autre fournisseur ferait .. ensuite passer aux microcontrôleurs, Arduino ferait c'est vraiment simple, mais je vous conseillerais d'aller avec quelque chose qui n'a pas encore été rendu facile, Arduino est vraiment facile et ne met pas beaucoup de défi avant son utilisateur .. Commencez par les micro-contrôleurs AVR, PIC ou 8051, Achetez un microcontrôleur, un livre et codage srart commençant par le programme LED clignotant (le "Hello World" dans le département d'électronique) et comme vous le verrez, en un rien de temps, vous utiliseriez des claviers matriciels et des affichages à sept segments pour en apprendre davantage sur les bases, après cela viendra le vrai travailler, interfacer vos appareils avec d'autres circuits intégrés et réseaux de capteurs, celui lié à votre travail.votre carte de développement aurait déjà certaines de ces fonctionnalités et si elles ne le font pas, vous pouvez toujours acheter des sheilds ou des borades de cassure facilement disponibles, alors tout dépend de vous ...
Je vous conseillerais également de vérifier avec votre entreprise la plate-forme qu'ils utilisent, cela vous donnerait une orientation sur le microcontrôleur pour apprendre et puisque vous êtes déjà programmeur, cela devrait vous être très facile et toujours faire des projets de loisirs comme Robot et la matrice LED entre autres, cela vous garderait l'esprit dans le sujet que vous ne vous ennuierez pas !!
la source