L’Arduino est une plate-forme puissante pour interfacer avec le monde réel, mais ce n’est pas sans limites. Une de ces limites difficiles, même pour l’Arduino Mega, est un nombre fini de broches que le microcontrôleur peut utiliser pour interfacer avec le monde réel. Si vous souhaitez étendre la portée de la plate-forme dans l’un de vos propres projets, il y a quelques options disponibles. Ce projet de [Bill] nous montre une de ces options en utilisant l’Attiny85 pour décharger certaines des tâches d’ARDUINO à l’aide d’I2C.
L’I2C a été autour depuis le début des années 80 comme moyen de communiquer les microcontrôleurs à utiliser un minimum de matériel. Tout ce qui est nécessaire consiste à connecter les broches I2C des microcontrôleurs et fournissez chacune de la puissance. Ce projet utilise un Arduino comme contrôleur ainsi qu’un nombre arbitraire de microcontrôleurs plus petits ATINY85 en tant que cibles. Communiquer avec le plus petit périphérique permet à l’Arduino de se concentrer sur des tâches plus intensives de processeur tout en donnant les tâches plus simples à l’attention. Il simplifie également grandement le câblage pour des projets pouvant être distribués sur une distance. [Bill] également standardise le développement avec une carte de développement personnalisée pour l’assiette qui peut également doubler comme un bouclier pour l’Arduino, lui permettant de se développer facilement et de modifier ses projets sans trop de soudure supplémentaire.
L’utilisation de I2C peut ne pas être le plus roman des innovations, mais la fabrication facile d’utiliser est certainement un outil précieux à ajouter à la boîte à outils lorsque limitée sur GPIO ou par d’autres contraintes physiques. À cette fin, [Bill] inclut également le code d’un exemple de projet qui simplifie la configuration de l’un de ces périphériques sur l’extrémité du logiciel. Si vous recherchez des exemples de quoi faire avec I2C, jetez un coup d’œil à ce thermomètre qui communique avec I2C ou ce projet qui utilise plusieurs capteurs à la marguerite.