Question:
Programmation de microcontrôleur Arduino vs autonome
user16307
2012-04-10 04:51:26 UTC
view on stackexchange narkive permalink

Arduino est excellent à programmer et à utiliser. Mais si j'ai besoin de produire un microcontrôleur autonome (par exemple dans le cas de la fabrication d'un appareil), je suppose que j'ai besoin de connaître la programmation PIC, le langage C, le kit de programmation, etc.

1) Arduino n'utilise pas C.

2) En utilisant la carte Arduino, je ne peux pas programmer de microcontrôleurs PIC

Ma question est que si je fabrique un appareil et que je ne peux pas utiliser Arduino pour le but ultime, cela signifie-t-il que je devez apprendre la programmation PIC et de nombreux autres aspects? Arduino sert-il uniquement à tester vos idées plutôt que de les mettre en œuvre pour une utilisation autonome?

Vous semblez penser que la _programmation PIC_ signifie programmer un microcontrôleur, ce qui est incorect. [PIC] (http://en.wikipedia.org/wiki/PIC_microcontroller) est une famille de microcontrôleurs fabriqués par ** Microchip **. Les cartes Arduino sont basées sur les [microcontrôleurs AVR] (http://en.wikipedia.org/wiki/Atmel_AVR) fabriqués par ** Atmel **.
BTW, pendant que vous y êtes, pourquoi ne pas commencer à accepter quelques réponses. Il y a plusieurs questions posées avec 2 réponses ou plus, mais aucune d'elles n'a été acceptée.
@m.Alin: En fait, la * programmation PIC * signifie la programmation d'un microcontrôleur. Tous les PIC sont des microcontrôleurs, bien qu'il existe d'autres microcontrôleurs qui ne sont pas des PIC.
@OlinLathrop Vous avez raison; J'aurais dû dire "programmer n'importe quel microcontrôleur"
Appuyant Icarus74. Remarquez le nombre et la qualité des réponses que vous obtenez aux questions que vous avez posées? Les gens mettent du temps et des efforts pour vous. Accepter une meilleure réponse est l'une des façons importantes de dire «merci» sur ce site.
@m.Alin En fait, les AVR sont également fabriqués par Microchip de nos jours.
Sept réponses:
JRobert
2012-04-10 05:29:16 UTC
view on stackexchange narkive permalink

Vous pouvez utiliser un micro-contrôleur AVR dans votre produit pour exécuter le code que vous développez sur une carte de développement Arduino.

L'Arduino est une bonne plate-forme de développement et de prototypage car il est livré avec de nombreuses installations matérielles prêtes à l'emploi, mais c'est ce qui le rend trop cher pour un produit. Vous pouvez utiliser le même type de puce de microcontrôleur ou un type similaire dans votre produit sans la carte Arduino entière autour d'elle.

Cette page du site Web Arduino décrit comment testez une puce de contrôleur AVR nue et un cristal, et chargez-y votre programme Arduino.

Stefan Paul Noack
2012-04-10 14:51:09 UTC
view on stackexchange narkive permalink

Les périphériques matériels réels nécessaires pour créer un arduino sont assez minimes. Heck, ils peuvent même être soudés directement sur la puce si vous le souhaitez:

One Chip Arduino

La vraie différence réside dans le logiciel. Lorsque vous programmez directement en C ou même en assemblage, vous pouvez obtenir de meilleures performances dans moins d'espace de programme, ce qui vous permettrait d'utiliser un AVR plus petit en production.

C'est génial! Je me demande si l'on peut souder et programmer SMT sur un SOIC-8 :)
@abdullahkahraman: voulez-vous dire .. deux puces l'une sur l'autre?
Pas de composants SMT sur un SMT AVR. Imaginez tous ces composants dans l'image ci-dessus SMD.
eh bien, probablement. mais l'arduino à puce unique est destiné à économiser de l'espace sur une maquette. si vous utilisez SMT, vous aurez de toute façon besoin d'un PCB et pouvez simplement placer les composants sur la carte à côté de la puce. ;-)
Ouais, je sais :) Après le [truc des 3 LED] (https://www.youtube.com/watch?v=RkTvDjhImwo), je voulais voir quelque chose de similaire :)
@abdullahkahraman: haha, c'est incroyable!
ducksauz
2012-04-10 09:03:53 UTC
view on stackexchange narkive permalink

Lorsque vous programmez l'Arduino, vous programmez en fait dans un sous-ensemble de C ++. AVR-GCC est le compilateur inclus avec l'application Arduino pour compiler votre code. Ce que fournit l'environnement Arduino, c'est une belle couche d'abstraction matérielle pour faciliter le travail de gestion des subtilités de la programmation des microcontrôleurs. Vous pouvez vous concentrer sur la fonctionnalité de votre code et les bibliothèques Arduino gèrent les éléments de bas niveau.

Cela se fait au détriment des performances. La couche d'abstraction Arduino peut prendre 10 à 20 fois plus de temps pour certaines choses que de traiter directement les registres de microcontrôleur directement. Cependant, ce n'est pas un problème pour la plupart des gens, à moins qu'ils ne tentent de réaliser des projets très complexes et gourmands en ressources processeur.

Arduino n'est pas entièrement compatible C ++.
Tom Davies
2012-04-10 05:25:04 UTC
view on stackexchange narkive permalink

Vous n'avez pas besoin de connaître la programmation PIC, sauf si vous souhaitez utiliser un microcontrôleur PIC. Les microcontrôleurs Atmel AVR utilisés par les cartes Arduino sont globalement similaires aux PIC en ce qui concerne leur aptitude à être utilisés dans un appareil fabriqué réellement.

Un microcontrôleur AVR programmé avec un croquis Arduino peut être utilisé dans un «appareil fabriqué». Ce microcontrôleur n'a pas besoin de vivre sur une carte Arduino - il peut simplement faire partie de votre appareil.

Rocketmagnet
2012-04-10 05:27:12 UTC
view on stackexchange narkive permalink

Cela dépend. Vous pouvez certainement utiliser un Arduino dans un appareil commercial. C'est particulièrement utile si vous ne produisez qu'un ou deux de ces appareils et que le client ne se soucie pas du coût et de la taille de l'Arduino.

Cependant, si vous avez l'intention de produire des milliers ou des millions d'appareils , alors vous constaterez probablement que vous les vendez à un prix qui exclut l'Arduino sur le coût. Dans ce cas, vous aurez presque certainement besoin de passer à un microcontrôleur approprié.

Apprendre à utiliser un microcontrôleur en vaut vraiment la peine si vous avez l'intention de gagner votre vie dans ce domaine. Cependant, vous n'avez pas besoin de passer directement à C. Pourquoi ne pas essayer le système PICAXE. Vous pouvez utiliser un microcontrôleur PIC, mais le programmer en BASIC.

miceuz
2012-04-10 14:54:39 UTC
view on stackexchange narkive permalink

Si vous souhaitez fabriquer un microcontrôleur, vous pouvez le faire sur un microcontrôleur AVR, un microcontrôleur PIC ou regarder ceux ARM.

Les microcontrôleurs AVR Bare Bones ne sont généralement pas livrés avec des capacités de connexion USB, vous aurez besoin d'un appareil spécial pour les programmer, mais certains appareils ARM (famille NXP LPC1343 ou LPC17 **) sont livrés avec USB et Ethernet. Seul un connecteur USB et quelques résistances sont nécessaires.

Vous devrez apprendre la programmation C pour programmer cela, mais il existe déjà des bibliothèques qui le rendent presque aussi simple qu'arduino pour vous - http: //microbuilder.eu et http://www.universalair.co.uk/forebrain ont des cartes de développement et des piles de logiciels basées sur ARM. Je vous recommande vraiment de rechercher des exemples de cerveau antérieur.

Il y a plus d'alternatives que ces 3, vous devez mentionner que
minghua
2012-09-11 11:40:01 UTC
view on stackexchange narkive permalink

Compte tenu de quelques facteurs, les cartes de développement LPC1343 (Olimex LPC P1343) et LPC1769 (NXP OM13000) sont quelque chose que vous voudrez peut-être examiner.

  • Ils sont basés sur l'architecture ARM du flux principal. (Dans le sens où ARM est l'une des deux architectures RISC standard / grand public - MIPS et ARM).
  • Ils utilisent une chaîne d'outils C 32 bits standard.
  • LPC17xx a un MPU intégré, ainsi vous pouvez le charger avec uCLinux ou un autre système d'exploitation basé sur la protection. Cela signifie une application logicielle plus complexe que vous pouvez intégrer à votre produit.
  • Pour les raisons ci-dessus, il sera plus facile de trouver des ingénieurs qualifiés et de trouver des modèles de référence de qualité industrielle.

Ceci est juste mon 2c. Après tout, il vous appartient de prendre en compte non seulement le coût initial, mais également la facilité ultérieure de concevoir, développer, déployer / vendre votre produit, à un volume que vous envisagez et à une vitesse rentable.

Il existe un [blog expliquant pourquoi vous devriez utiliser lpc1768 OM13000 ici: Le processeur ARM Cortex-M3 pour le développement d'instructions scientifiques] (http://quantalume.com/wp/?p=7). Voyez-le pour les raisons pour lesquelles vous devriez regarder la série lpc1700.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...