E/S TOR en I2C ?

Bonjour a tous,

Je débute en matiere de microcontroleurs, mais j'ai une "petite" experience en automatisme industrielle.
Seulement utiliser un automate pour les projets domotiques qui me trottent dans la tete, d'un point de vu financier c'est pas vraiment interessant.
J'ai aussi bricolé 2/3 trucs a base de PIC en utilisant SDCC, mais niveau convialité c'est franchement pas terrible.
J'ai rencontré les gens de Snootlab au THSF fin mai, et j'y ai découvert l'arduino. Ce systeme m'a l'air super, alors j'y cherche un peu mes marques par rapport a ce que je connais déja ailleurs. Du coup j'ai plein de questions.
par analogie avec le monde des automates :

  • existe t'il des shields comportant des groupes de 8 ou 16 sorties Tout ou rien en i2c ?
  • meme question avec les entrées.
    par analogie avec les pics, peut-on écrire directement "portd=255" (ou autre) pour basculer toutes les sorties du port D d'un coup, ou bien est-on obligé des les allumer une par une avec la fonction DigitalWrite()

Voila, c'est tout pour aujourd'hui, ca va me permettre de dégrossir un peu le portage de mes projets sur pic laissés a l'abandon depuis "un certain temps".

Salut

Un truc comme ça ? http://roger.morillon.pagesperso-orange.fr/cariboost1/crbst_19.html

A+
chabot380

Voila, en effet ça réponds en partie a mes 2 premières questions avec un seul composant :slight_smile:

Bonjour,

Content de voir que tu as trouvé la motivation qu'il te manquait pour te remettre sur tes projets.

Les deux premières questions ayant trouvées réponses, je complète donc sur ta dernière interrogation.

L'Arduino est un Atmel série ATMEGA. Il se programme en Assembleur/C en général. L'IDE Arduino est juste une "surcouche", permettant de rendre plus lisible est plus intuitive l'utilisation de certaines fonctions.
Lors de l'écriture de ton programme, tu peux soit utiliser les "alias" proposés par l'IDE Arduino, soit écrire directement en C.
Par exemple, il n'est pas possible à travers les alias de placer directement un port entier en E/S.
Tu peux donc l'écrire en C (DDRD=0xFF // PORTD=42 // valeur = PINB ), ou en assembleur.

Bonne journée


Stéphane

Bonjour,

Je vois qu'on parle d' I/O I2C et de PCF8574 alors je viens vendre mon travail XD

Ma librairie de contrôle pour le pcf8574 :
http://arduino.cc/forum/index.php/topic,59143.0.html

PS Snootlab: PORTD=42 c'est la réponse à toute les questions 8)