lundi 3 avril 2017

Arduino, ATmega328pb, Raspberry Pi et le propjet Arbalet (suite).

Suite des expérimentations sur ma carte compatible Arduino, équipée d'un processeur ATmega328pb.

L'avantage de ce processeurs est de posséder un peu plus de périphériques que le modèle 'p' équipant de base les Arduino Uno, notamment, un deuxième port série et SPI, etc...

Pour rendre cette carte 'pleinement' utilisable sous l'environnement IDE Arduino, il est 'juste' nécessaire d'importer la définition de la carte R4 d'Elektor avec laquelle ma carte est compatible.

Dès lors, il suffit 'presque' d'utiliser une bibliothèque de gestion de bandeaux de LEDs pour arriver très rapidement à un résultat probant :



Contrairement à beaucoup de projet utilisant les bandeaux de LEDs, je n'ai pas utilisé la bibliothèque développée par Adafruit mais plutôt une version plus performante à même de gérer différents types de LEDs de façon très efficace, la librairie Fastled.

Cette librairie est d'autant plus intéressante qu'elle est développée non seulement pour les cartes de type Arduino Uno à base de processeur 328p, mais aussi pour d'autres plateformes comme l'ARM.

Et cela tombe bien parce que le signal envoyé aux LEDs n'utilise pas une patte reconnue sur les cartes Arduino UNO. J'ai voulu conserver un maximum de possibilité pour cette carte ARPI-MINI, alors j'ai connecté la commande des LEDs sur le deuxième port SPI offert par le processeur 328pb.

Se faisant, j'ai du modifier quelque peu la librairie pour lui faire reconnaitre le port utilisé par mon montage. Quelques recherches dans son source m'ont permis de la configurer pour lui faire prendre en compte la patte du processeur.

Au delà du clignotement de quelques LEDs du bandeau, il est très facile avec cette librairie, d'obtenir un effet plus... dynamique :


L'essai est concluant. Il reste maintenant à tester la communication série entre la carte Raspberry PI et la carte compatible Arduino.

Je ne l'ai peut-être pas indiqué (je pense même que non), mais l'objet (principal) de cette carte Arduino est d'initialiser et de 'faire jouer' les LEDs pendant la phase de boot de la carte Raspberry. Une fois ce boot effectué, la Raspberry 'devra' envoyer une instruction série à la carte Arduino pour lui demander de 'switcher' le signal de commande du bandeau de LEDs de la carte Arduino VERS la carte Raspberry et ainsi donner la main à l'application tournant sur la Pi!

A suivre...

Aucun commentaire:

Enregistrer un commentaire