Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Connecter directement un capteur ultrasonique Lego Mindstorms NXT à un Raspberry Pi

Résumé

Connectez un capteur ultrasonique Lego Mindstorms NXT directement à un Raspberry Pi. La solution utilise un tampon I²C TCA9517 et une broche GPIO supplémentaire pour SCL, plus un extrait C++ concis pour lire la distance.

Introduction

Si le Raspberry Pi est célébré pour sa vaste communauté et sa documentation, le kit Lego Mindstorms reste la plateforme de choix pour le prototypage rapide de robots. La série NXT embarque un microcontrôleur ARM suffisant pour la robotique de base, mais limité pour des tâches avancées comme la vision par ordinateur. La série EV3 plus récente offre un cerveau Linux plus puissant, mais peine encore au traitement d'images haute résolution à vitesse raisonnable.

Combiner la puissance de calcul du Pi avec le matériel flexible de Lego promet des systèmes hybrides puissants. Les ponts existants comme BrickPi fonctionnent mais sont limités aux anciens capteurs I²C, dépendent de microcontrôleurs intermédiaires et peinent à piloter des moteurs à courant continu. Cet article démontre une méthode propre, sans microcontrôleur, pour connecter un capteur ultrasonique NXT directement au Pi.

Défis

Le premier obstacle était matériel : un simple décalage de niveau avec deux n-FET ne pouvait résoudre l'incompatibilité entre la logique 5 V du capteur et le bus I²C 3,3 V du Pi. La fiche technique du capteur montre des résistances de tirage faibles (82 kΩ) et des résistances série fortes (4,7 kΩ), empêchant les résistances de tirage de 1,8 kΩ du Pi de tirer la ligne vers le bas. Par conséquent, le capteur n'acquittait jamais le Pi.

Pour surmonter cela, un tampon I²C bidirectionnel TCA9517 a été employé. Il assure le décalage de niveau adéquat et élimine le problème de résistance série.

Un second problème au niveau du firmware nécessitait un cycle d'horloge supplémentaire entre l'écriture du registre du capteur et la lecture des données. Le pilote I²C Linux standard ne peut insérer ce cycle, donc une broche GPIO supplémentaire est basculée sur la ligne SCL pour satisfaire cette particularité de temporisation du capteur.

Matériel

Le prototype nécessite :

Une carte breakout minimale fournit le contrôle 9 V, l'alimentation 5 V et les signaux I²C sans la commutation 9 V optionnelle ni les résistances série, simplifiant la connexion. Consultez le Lego HDK pour les détails de brochage.

Processus de fabrication

  1. Raspberry Pi et HDC2010 : guide complet de configuration du capteur I2C température et humidité
  2. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  3. Surveillance de température professionnelle sur Raspberry Pi avec DS18B20
  4. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  5. Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
  6. Intégration de données de capteurs sur Raspberry Pi : Guide pratique complet
  7. Connexion du capteur ultrasonique HC‑SR04 au Raspberry Pi 3 : Guide complet
  8. Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi
  9. Construire un capteur d'humidité du sol Raspberry Pi low-cost pour irrigation intelligente