Jeffrey Cross
Jeffrey Cross

LED clignotantes avec le tableau Beagle

L'un des éléments qui m'a attiré vers le Beagle Board est qu'il possède de nombreuses interfaces de capteurs facilement accessibles qui se détachent de son collecteur d'extension. Tout ce que vous avez à faire est de souder sur une sorte de connecteur (je me suis tourné vers les en-têtes femelles Arduino-esque, comme indiqué sur la photo ci-dessus).

Une fois que vous avez fait cela, il suffit de savoir quoi faire avec eux. Ce qui me rendit mystérieux à propos de la planche Beagle, c’était à quel point vous discutiez avec ces punaises. Linux prend en charge toutes les interfaces de détection courantes: entrée / sortie à usage général (GPIO), circuit intégré (I2C) et interface série (SPI).

J’ai été tenté de brancher immédiatement le Beagle Board à un groupe de capteurs que j’avais traîné, mais j’ai été gêné par le fait que le Beagle Board utilise une signalisation de 1,8 volt (je traiterai de cette question dans un prochain article). Pour commencer, je voulais juste faire clignoter une LED, ce qui voulait dire que je devais comprendre comment utiliser GPIO avec Linux sur Beagle Board.

J'ai consulté le tableau 17 du manuel de référence du système Beagle Board pour déterminer quelle broche physique correspond à quel port GPIO. Je voulais une broche proche de l'une des broches de terre (27 et 28) sur l'en-tête d'extension, alors j'ai opté pour GPIO_168 (broche 24).

Une chose que je ne comprends toujours pas bien est la signification des options (A, B, C et D) du tableau 17. Il semble que lorsque je demande le port GPIO, je ne l’obtiens pas, mais je devine. que le système d'exploitation se charge de «configurer le registre de contrôle multiplex dans l'OMAP3530».

Je savais donc que GPIO_168 correspondait à la broche physique 24, mais je ne savais pas comment y accéder. Je suis tombé sur une documentation Linux dans le wiki AVRFreaks, qui résumait tout cela pour moi: comme vous le verrez dans l'exemple, tout ce que vous avez à faire est d'utiliser le shell Linux pour écrire des commandes dans des pseudo-fichiers du répertoire. / sys répertoire ($ PORT est le numéro de port):

Commander Effet
echo $ PORT> / sys / class / gpio / export Ouvrir un port GPIO pour l'écriture
echo $ PORT> / sys / class / gpio / unexport Libérer le port GPIO
echo “high”> / sys / class / gpio $ PORT / direction Prendre le port haut
echo “low”> / sys / class / gpio $ PORT / direction Prendre le port bas

Pour essayer ceci sur une carte Beagle, vous devez avoir suivi le didacticiel de cette dernière sur la manière de faire fonctionner la distribution Angstrom Linux. Une fois que vous avez terminé, vous utiliserez Linux sur la carte Beagle et pourrez interagir avec elle à l’aide d’un terminal série (par exemple, minicom sous Linux, écran sur Mac OS X, HyperTerminal ou PuTTY sous. Windows) et tapez des commandes dedans.

Alors connectez-vous à votre Beagle Board en tant que root et entrez le programme suivant dans un fichier appelé strobe_gpio:

L'éditeur vi est inclus avec le Beagle Board, vous pouvez donc taper vi strobe_gpio, tapez i (pour entrer en mode insertion), puis collez le programme. Ensuite, appuyez sur Echap (pour revenir en mode commande), puis tapez ZZ pour enregistrer le fichier. Cela devrait vous ramener dans le shell Linux. (Il existe de nombreux tutoriels vi dans l'univers si cela s'avère gênant.)

Ensuite, tapez chmod 755 strobe_gpio. Ensuite, insérez une LED comme indiqué (extrémité courte dans la broche 28, extrémité longue dans la broche 24) dans l’image située en haut de ce poteau. Essayez la commande ./strobe_gpio 168 et vous devriez voir la LED clignoter.

Ce n’est certainement pas une démonstration efficace de toute la puissance du Beagle Board, mais c’est une première étape pour le faire parler aux capteurs et autres microcontrôleurs.

Mise à jour: Boireau Laurent a publié des informations supplémentaires sur le fonctionnement de ce groupe dans le groupe Google du Beagle Board, ainsi qu'une suggestion selon laquelle la communauté créerait un "site pour débutants avec des exemples aussi simples ou plus complexes, avec des scripts shell et de petits programmes en C". Bonjour tout le monde », et interaction de base avec les LED, boutons, minuteries, interruptions, série, SPI, I2C, PWM, interfacer une webcam, en utilisant le NEON ou le DSP”. Je trouverais un tel site incroyablement utile!

Part

Laisser Un Commentaire