Table des matières:

Puis-je utiliser TinyLiDAR dans Scratch ? : 3 étapes
Puis-je utiliser TinyLiDAR dans Scratch ? : 3 étapes

Vidéo: Puis-je utiliser TinyLiDAR dans Scratch ? : 3 étapes

Vidéo: Puis-je utiliser TinyLiDAR dans Scratch ? : 3 étapes
Vidéo: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, Novembre
Anonim
Puis-je utiliser TinyLiDAR dans… Scratch ?
Puis-je utiliser TinyLiDAR dans… Scratch ?

Nous recevons de temps en temps des demandes pour demander si tinyLiDAR fonctionnera sur leur plate-forme informatique particulière. Bien que tinyLiDAR ait été conçu comme un capteur LiDAR simple à utiliser pour l'Arduino UNO, rien ne l'empêche d'être utilisé sur d'autres plates-formes comme le Raspberry Pi (comme indiqué dans le précédent instructable ici). C'est-à-dire si la plate-forme dispose d'un bus I2C et peut prendre en charge la fonction d'étirement de l'horloge de la spécification I2C. Alors, et si votre carte ne prend même pas en charge I2C ? - sans parler des trucs qui allongent l'horloge… Eh bien, ce serait un scénario difficile, mais en réalité, il existe en fait pour le langage de programmation visuel ultra populaire appelé "Scratch".

Google si vous n'en avez pas entendu parler auparavant, mais en un mot, c'est un excellent premier langage pour quiconque veut se plonger dans le domaine de la programmation. Scratch a été créé par le MIT Media Lab et existe depuis plus de 16 ans maintenant. C'est la langue de prédilection pour apprendre aux enfants à coder dans le monde entier. Tout le monde peut commencer à l'utiliser gratuitement - car il s'exécute normalement sur votre bureau dans un navigateur Web. Vérifiez-le ici si vous le souhaitez.

TL;version DR

OUI! Avec une nouvelle fonctionnalité appelée "Mode d'émulation ultrasonique" dans tinyLiDAR f/w version 1.3.9

Étape 1: gratter quoi ?

Il existe maintenant de nombreuses saveurs de Scratch dans la nature. Les passionnés de robotique ont tendance à utiliser les versions axées sur GPIO comme ScratchGPIO ou d'autres versions modifiées comme ScratchX qui peuvent être conçues pour prendre en charge tout «matériel expérimental». Tous ces éléments sont parfaits pour les utilisateurs avancés, mais les versions grand public qui sont installées par défaut sur le pi seront notre objectif pour cette instructable car elles ont des options matérielles plutôt limitées.

Le bureau Raspbian Stretch de pi est livré avec deux versions de Scratch préinstallées. A savoir, "Scratch" et "Scratch 2". Nous utiliserons le premier alias "Scratch 1.4 (NuScratch)" et l'utiliserons "hors ligne" afin de pouvoir utiliser la fonction de serveur GPIO.

Vous pouvez télécharger l'image officielle du bureau pi ici.

Pour une raison quelconque, les créateurs de Scratch ont décidé de ne prendre en charge que quelques-uns des capteurs les plus couramment disponibles de grandes entreprises telles que Lego, etc. Il est cependant intéressant de noter qu'ils ont également décidé d'ajouter la prise en charge du HC-SR04. Il s'agit, bien sûr, du capteur de distance à ultrasons omniprésent qui produit simplement une seule largeur d'impulsion proportionnelle à la distance mesurée.

La précision de la mesure peut varier un peu en fonction de la température de l'air, de l'humidité et du matériau cible comme mentionné ici, ici et ici. Mais en général, à peu près n'importe quelle plate-forme peut mesurer la sortie de largeur d'impulsion de cet appareil.

Étape 2: Nouvelle fonctionnalité

Nouvelle fonctionnalité
Nouvelle fonctionnalité

La sortie d'impulsions précises à l'échelle de la microseconde n'est pas un problème pour nous sur tinyLiDAR car nous avons des minuteries matérielles haute résolution de rechange à l'intérieur du micro 32 bits intégré. TinyLiDAR s'étalonne également toujours automatiquement pour la température à mesure qu'il s'allume, de sorte qu'aucun autre réglage n'est nécessaire pour l'environnement d'exploitation.

Faisons le

D'accord - nous pourrions donc nous avons simplement ajouté une nouvelle fonctionnalité à tinyLiDAR (à partir du firmware 1.3.9) appelée "Mode d'émulation ultrasonique". Vous pouvez y accéder en utilisant la commande "u" à partir du terminal GUI mis à jour de tinyLiDAR.

Son utilisation modifiera les paramètres de la mémoire non volatile, de sorte que le tinyLiDAR ressemblera à un capteur à ultrasons générique même après l'avoir éteint. Vous pouvez revenir au mode I2C normal en appuyant sur le bouton de réinitialisation et en exécutant la commande "az". Plus de détails sont dans le manuel d'utilisation.

Pour rendre la vie encore plus simple, nous rendons le capteur tinyLiDAR disponible préréglé pour ce nouveau mode d'émulation ultrasonique à partir de notre site Web. Commandez simplement la version "-u".

Regarde maman, pas de soudure

Aucune soudure et aucune planche à pain n'est nécessaire car les câbles "Grove to Female 4pin" inclus se brancheront directement sur les broches d'en-tête Raspberry pi. La broche de déclenchement est le fil jaune et la broche d'écho est le fil blanc. Le noir et le rouge sont pour le pouvoir bien sûr. Reportez-vous à l'image principale ci-dessus pour plus de détails.

Au fait, nous sommes allés encore plus loin et avons fait en sorte que la broche jaune se comporte comme le capteur PING))) qui utilise un seul fil pour les signaux de déclenchement et d'écho.

Pour cette raison, vous pouvez désormais prendre des mesures avec tinyLiDAR en utilisant le croquis à ultrasons "PING" par défaut qui est livré avec chaque IDE Arduino sans aucun changement de code ! Vous pouvez également l'essayer sans délai.

Bien sûr, vous pouvez définir des paramètres tels que la haute précision, la longue distance, etc. de vos mesures LiDAR avant de sélectionner la commande "u" et il prendra ensuite ces mesures chaque fois qu'il verra la broche de déclenchement tomber, comme indiqué dans le diagramme ci-dessus.

Danger, Will Robinson

Notez que le capteur à ultrasons SR04 a besoin de résistances pour empêcher l'alimentation +5v d'endommager votre pi. Mais comme tinyLiDAR fonctionne nativement à partir de +3,3v, aucune résistance n'est nécessaire pour s'interfacer avec le pi:)

Étape 3: le coder

Le coder
Le coder
Le coder
Le coder

Alors, quel est exactement le code dont nous avons besoin pour que tinyLiDAR fonctionne dans Scratch ?

Heureux que vous ayez demandé !

Il suffit de faire glisser quelques blocs de diffusion simples, comme le montrent les images ci-dessus.

Pour activer les broches GPIO, nous pouvons émettre le "broadcast gpioserveron". Ensuite, pour configurer la broche de déclenchement, nous émettons le "broadcast config16out". Ensuite, nous pouvons configurer la broche d'écho par "broadcast config26in" puis commencer les mesures par "broadcast ultrasonictrigger16echo26". Cela entraînera la prise de mesures en continu à une cadence d'environ 140 ms. Vous pouvez lire les données mesurées en utilisant le bloc de détection "valeur du capteur de distance à ultrasons".

Eh bien, c'est tout pour l'instant, merci d'avoir lu et assurez-vous de consulter le petit programme de démonstration amusant de Scratch (partagé ici) que nous avons créé et appelé "tinyLiDAR_catch_me" et …Scratch On !;)

Conseillé: