Question:
Pins on an Arduino
mad_z
2009-11-03 03:37:45 UTC
view on stackexchange narkive permalink

Si je suis à court de broches sur un Arduino, à moins d'en acheter une deuxième ou d'obtenir une carte Mega, y a-t-il un moyen de me connecter davantage à une seule carte? Dois-je m'inquiéter de le surcharger?

Huit réponses:
bpijls
2009-11-03 04:19:47 UTC
view on stackexchange narkive permalink

Avez-vous également utilisé toutes vos broches analogiques? Ils peuvent également être utilisés comme entrée / sortie numérique en se référant simplement à eux comme les broches numériques broches 14 à 19.

Après les avoir toutes utilisées, vous pouvez envisager d'utiliser un IC de registre à décalage. Ces puces convertiront les données série en données parallèles. Les versions 8 bits prendront des données série sur trois broches et sortiront des données parallèles sur 8 broches, ce qui vous donnera 5 broches supplémentaires. Une très belle explication est faite par Dave Clausen de NYC Resistor.

Il y a en fait une possibilité de surcharger votre arduino. Pas en utilisant trop de broches, mais en tirant trop de courant des broches, en connectant trop de choses à vos broches. La fiche technique Atmega168 indique que les broches ont un courant maximal absolu de 40 mA. Cela équivaudrait à deux LED en parallèle. Tout ce qui contient plus d'une LED (20 mA) doit être commuté via un transistor ou un réseau de transistors. Ceci est également expliqué dans la vidéo mentionnée ci-dessus et par Tom Igoe.

En outre, l'ATMega168 a un courant maximum de 200 mA à travers les broches Vcc et Gnd (chacune), donc piloter ou couler plus de dix LED à travers un Arduino est également probablement une mauvaise idée (étant donné le courant commun de 20 mA utilisé pour allumer les LED).
zklapow
2009-11-28 15:01:13 UTC
view on stackexchange narkive permalink

Sparkfun vend un multiplexeur numérique / analogique qui permet de contrôler 16 broches par cinq sur l'Arduino. Il est bidirectionnel, vous pouvez donc également l'utiliser pour la saisie.

Adam
2009-11-03 05:07:50 UTC
view on stackexchange narkive permalink

Il existe de nombreuses options pour augmenter le nombre d'entrées et de sorties disponibles. Pour une entrée analogique, il est courant d'utiliser des multiplexeurs analogiques (comme le 4051, disponible en tant que 74HC4051 et CD4051) qui vous permettent de basculer entre 8 sources analogiques en utilisant 3 lignes numériques et 1 entrée analogique.

Une option couramment utilisée pour les E / S numériques est d'ajouter des registres à décalage TTL (ou CMOS). Les registres à décalage sont disponibles en deux variétés principales, les "entrée série, sortie parallèle" (comme le 74HC595), qui sont utiles pour augmenter le nombre de sorties numériques de votre projet et "entrée parallèle, sortie série" ( comme le 74HC165) qui vous permet d'ajouter plus d'entrées numériques.

Tom Igeo a un joli article sur le Contrôle de nombreuses sorties à partir d'un microcontrôleur

Vous pouvez surcharger la sortie de l'Arduino en essayant de «fanout» trop loin. Chaque circuit intégré que vous connectez à une sortie tire du courant de cette sortie. Si vous chargez beaucoup de circuits intégrés sur la même sortie (ou ensemble de sorties), ils peuvent essayer de tirer plus que ce que les sorties de l'Arduino peuvent gérer. Pour remédier à ce problème, vous pouvez placer des puces tampons non inverseuses (comme le 74LS07) entre certains des CI.

ka1kjz
2009-11-03 10:30:21 UTC
view on stackexchange narkive permalink

J'ai joué avec l'utilisation de ceci ... http://www.neufeld.newton.ks.us/electronics/?p=241 Extension d'E / S Arduino utilisant I2C. Ça a l'air vraiment prometteur, je n'ai pas encore réussi à commander les puces. C'est aussi un très bon tutoriel sur l'utilisation d'I2C.

Some Guy on the Internet
2009-11-03 15:47:50 UTC
view on stackexchange narkive permalink

Si vous finissez par obtenir un autre microcontrôleur, j'aime le sanguino pour au moins quatre raisons:

  1. il a beaucoup plus d'E / S que l'Atmega 168 / 368 (32 broches à usage général, au lieu de 14). Comme l'Arduino, 8 broches peuvent faire ADC, 6 peuvent faire PWM, mais il y a un port série matériel supplémentaire.
  2. c'est 5 $ moins cher *,
  3. avec 64K de flash, je ne m'en approche même jamais à manquer de mémoire, et
  4. vous pouvez l'assembler vous-même à partir d'un kit.

L'Arduino Mega a plus de PWM broches - 14, mais je ne pense pas que vous les multiplexeriez.

-

* Sanguino semble aller pour 25 $, Arduino pour 30 $, même si vous aurez besoin un câble USB-TTL de 20 $ si vous devez utiliser un port USB pour le programmer, là où l'Arduino a USB intégré.

Dustin
2009-11-28 11:09:49 UTC
view on stackexchange narkive permalink

J'ai écrit une bibliothèque pour contrôler les commutateurs DS2406 1wire.

Avec l'un d'entre eux, vous pouvez utiliser une seule broche pour commuter un plus grand nombre de périphériques. Ce sera plus lent que de retourner la broche IO directement, bien sûr, et cela utilisera plus de mémoire puisque vous devez adresser les périphériques sur ce port (cela peut être échangé contre plus de vitesse si vous le souhaitez).

Eric
2009-11-03 04:22:44 UTC
view on stackexchange narkive permalink

Si vous conduisez des LED, vous pourriez vous intéresser au charlieplexing.

Michael
2010-03-07 01:56:15 UTC
view on stackexchange narkive permalink

Ce produit est un moyen simple et peu coûteux d'ajouter des broches à votre Arduino. Il existe une bibliothèque open source facile à utiliser pour accéder aux nouvelles broches:

http://nootropicdesign.com/ez-expander/



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 2.0 sous laquelle il est distribué.
Loading...