banner

Nouvelles

Mar 12, 2023

Comment utiliser une banane comme entrée tactile pour Raspberry Pi Pico

Touchez la banane pour contrôler une LED.

Le toucher capacitif est un moyen simple de détecter l'entrée de l'utilisateur en mesurant la constante diélectrique. Si elle est différente d'une mesure de référence, elle peut être utilisée comme entrée. Dans le passé, nous avons utilisé un capteur tactile MPR121 pour déclencher un événement à l'aide d'un Raspberry Pi Pico. Le MPR121 est un capteur Stemma QT fiable qui se présente sous divers facteurs de forme pour les pinces crocodiles et les calibres de fil standard. Nous l'aimons tellement que nous l'avons mis sur notre liste des meilleurs add-ons Stemma QT et Grove. Mais y a-t-il un moyen de le faire sans utiliser de carte capteur ?

En utilisant juste un morceau de fil et une résistance de 1 méga ohm dans une banane, nous pouvons créer notre propre interface tactile et prendre une collation saine. Dans ce tutoriel, nous utiliserons la banane pour allumer et éteindre une LED.

Pourquoi quelque chose d'aussi simple ? Apprendre à allumer/éteindre une LED est le meilleur moyen de comprendre le fonctionnement de chaque partie de votre projet. Bien sûr, nous pourrions transformer la banane en barre d'espace et jouer à Flappy Birds, l'utiliser pour ouvrir une fenêtre de navigateur et "Rick-roll" un ami ou démarrer un robot pour faire une course folle vers la porte. Mais avant de pouvoir faire cela, nous devons comprendre comment et pourquoi les choses fonctionnent, et l'humble LED est un moyen simple et bon marché de le faire.

Il y a deux parties dans le circuit : l'entrée et la sortie. L'entrée est une banane (en option), connectée au GPIO 16 sur le Raspberry Pi Pico à l'aide d'un long fil de liaison. GPIO 16 dispose également d'une résistance de 1 Mega Ohm pour le connecter à GND. Il s'agit d'une résistance pulldown et garantit que la broche GPIO voit une référence 0V constante. Sans cela, l'entrée serait erratique. Ce processus peut être répété pour plusieurs entrées, vos seules limites sont les broches GPIO, les résistances de 1 méga ohm et les bananes.

La sortie est une simple LED avec la jambe longue (anode) connectée au GPIO 15 et la jambe courte (cathode) connectée à GND via une résistance de 100 ohms.

La banane peut être remplacée par tout ce qui est conducteur. Du papier d'aluminium, du play-doh et d'autres fruits/légumes peuvent être utilisés comme intrants. Vous pouvez également renoncer aux entrées culinaires pour les fils dénudés. Dans certains cas, cela fonctionne mieux.

Construisez le circuit et vérifiez vos connexions avant de continuer.

Nous avons choisi CircuitPython pour ce projet pour deux raisons principales. Premièrement, il est si facile à utiliser et à comprendre. Notre code est facile à lire, à déboguer et nous pouvons l'écrire sur n'importe quel appareil, même un Chromebook. Deuxièmement, CircuitPython possède le module Touchio qui facilite la création d'entrées tactiles à l'aide du GPIO. Mais avant de pouvoir démarrer le projet, nous devons écrire la dernière version de CircuitPython sur le Raspberry Pi Pico.

1.Accédez à la page officielle de CircuitPython pour le Raspberry Pi Picoettéléchargez la dernière version de l'image du micrologiciel UF2. Au moment de la rédaction, il s'agissait de CircuitPython 8.10. Nous avons choisi le Raspberry Pi Pico car nous n'avons pas besoin de Wi-Fi, mais ce projet pourrait être utilisé pour déclencher un événement Web, pour cela vous aurez besoin d'un Raspberry Pi Pico W.

2.Tout en maintenant le bouton BOOTSEL enfoncé, connectez le Raspberry Pi Pico à votre ordinateur.Un nouveau lecteur, RPI-RP2 apparaîtra.

3.Copiez le fichier CircuitPython UF2 téléchargé sur RPI-RP2. Cela écrira CircuitPython dans le stockage flash interne du Pico . Un nouveau lecteur, CIRCUITPY apparaîtra.

Pour écrire le code, nous avons utilisé Thonny sur Windows 10. Vous êtes libre d'utiliser votre choix d'éditeur de texte, mais Thonny a une excellente intégration CircuitPython (et MicroPython) qui en fait un jeu d'enfant à utiliser. Mieux encore, il est gratuit et facile à installer sur les appareils Windows, macOS et Linux.

1.Téléchargez et installez Thonnysi vous ne l'avez pas déjà.Thonny est un éditeur Python qui couvre Python 3, MicroPython et CircuitPython.

2.Ouvrez Thonny et allez dans Outils >> Options.

3.Sélectionnez Interprète, puis définissez l'interpréteur sur CircuitPython, port sur automatique, puis cliquez sur OK.Thonny va maintenant se connecter au Pico exécutant CircuitPython.

4. Cliquez sur Fichier >> Ouvrir et sélectionnez le périphérique CircuitPython. Sélectionnez ensuite code.py. Code.py est utilisé par CircuitPython comme fichier principal d'un projet. Il est configuré pour s'exécuter automatiquement lorsque le Pico est mis sous tension.

5.Supprimez tout code dans code.py.Si vous avez besoin du code, assurez-vous de le sauvegarder sur votre ordinateur.

6.Importez quatre modules de code nécessaires au fonctionnement du projet. Touchio est utilisé pour créer une entrée tactile capacitive à l'aide d'une broche GPIO. Le temps contrôle la durée de pause du code entre les actions. La carte est utilisée pour travailler avec le GPIO, importer en utilisant * signifie que nous n'avons pas à inclure le nom du module. Digitalio est utilisé pour contrôler l'état d'une broche. Il peut s'agir d'une entrée ou d'une sortie.

7.Créez un objet, une led et réglez la broche GPIO sur GP15, puis définissez-la comme une sortie. Cela garantira que lorsque la LED est déclenchée, le courant circulera de la broche GPIO 15 à l'anode de la LED. Comme la cathode est connectée à GND via la résistance de 100 ohms, le circuit complet allumera la LED.

8.Créez un objet, led_state et stockez la valeur entière 0 à l'intérieur de celui-ci. Cet objet sera utilisé pour enregistrer l'état actuel de la LED. Il peut être désactivé (0) ou activé (1).

9.Créer un objet, touch_pinpour établir une connexion entre le code et la broche GPIO physique.

dix.Créez une boucle pour exécuter le code en continu.

11.À l'intérieur de la boucle, créez une fonction d'impression qui signalera l'état actuel de la broche d'entrée tactile.Nous utilisons %s pour utiliser la valeur stockée dans touch_pin.value et la convertir en une chaîne pour la concaténation au texte.

12.Écrivez un test conditionnel pour vérifier si l'entrée a été touchée et que la LED est éteinte.Les deux tests doivent réussir pour que le test conditionnel réussisse.

13.Réglez la LED pour qu'elle s'allume, puis mettez à jour l'objet led_state à 1,pour que le code sache que la LED est allumée . Dormir une demi-seconde pour éviter tout rebond accidentel (double pression). Ce code ne s'exécutera que si le test conditionnel réussit.

14.Créez un test conditionnel pour vérifier si l'entrée a été touchée et que la LED est actuellement allumée.Ce code éteindra la LED.

15.Éteignez la LED, mettez à jour l'objet led_statepour que le code sache que la LED est éteinte, puisfaire une pause d'une demi-seconde.

16.En dehors des tests conditionnels, mais toujours à l'intérieur de la boucle, mettez le code en pause pendant 0,1 seconde.Chaque fois que la boucle itère, elle s'arrêtera pendant 0,1 seconde, ce qui est utile pour rythmer le code du projet.

17.Enregistrez le code dans code.py sur l'appareil CircuitPython(Framboise Pi Pico).

18. Le code devrait s'exécuter automatiquement, sinoncliquez sur Arrêter puis sur Exécuter.

19.Touchez la banane pour activer/désactiver la LED.

Rejoignez les experts qui lisent Tom's Hardware pour en savoir plus sur l'actualité technologique des passionnés de PC - et ce depuis plus de 25 ans. Nous enverrons les dernières nouvelles et des critiques approfondies des processeurs, des GPU, de l'IA, du matériel des fabricants et plus directement dans votre boîte de réception.

Les Pounder est éditeur associé chez Tom's Hardware. Il est un technologue créatif et a créé pendant sept ans des projets pour éduquer et inspirer les esprits, petits et grands. Il a travaillé avec la Fondation Raspberry Pi pour écrire et dispenser leur programme de formation des enseignants "Picademy".

Meilleurs accessoires et compléments Raspberry Pi Pico 2023

Meilleures cartes RP2040 2023

Raspberry Pi garde la photographie de reconstitution authentique

Par Aaron Klotz01 juin 2023

Par Les Pounder01 juin 2023

Par Brandon Hill01 juin 2023

Par Mark Tyson01 juin 2023

Par Stewart Bendle01 juin 2023

Par Anton Shilov01 juin 2023

Par Matt Safford01 juin 2023

Par Ash Hill01 juin 2023

Par Mark Tyson01 juin 2023

Par Zhiye Liu01 juin 2023

Par Zhiye Liu01 juin 2023

Accédez à la page officielle de CircuitPython pour le Raspberry Pi Pico, téléchargez la dernière version de l'image du micrologiciel UF2. Tout en maintenant le bouton BOOTSEL enfoncé, connectez le Raspberry Pi Pico à votre ordinateur. Copiez le fichier CircuitPython UF2 téléchargé sur RPI-RP2. Téléchargez et installez Thonny. Ouvrez Thonny et allez dans Outils >> Options. Sélectionnez Interprète, puis définissez l'interpréteur sur CircuitPython, port sur automatique, puis cliquez sur OK. Cliquez sur Fichier >> Ouvrir et sélectionnez le périphérique CircuitPython. Sélectionnez ensuite code.py. Supprimez tout code dans code.py. Importez quatre modules de code nécessaires au fonctionnement du projet. Créez un objet, une led et réglez la broche GPIO sur GP15, puis définissez-la comme une sortie. Créez un objet, led_state et stockez la valeur entière 0 à l'intérieur de celui-ci. Créez un objet, touch_pin Créez une boucle pour exécuter le code en continu. À l'intérieur de la boucle, créez une fonction d'impression qui signalera l'état actuel de la broche d'entrée tactile. Écrivez un test conditionnel pour vérifier si l'entrée a été touchée et que la LED est éteinte. Réglez la LED pour qu'elle s'allume, puis mettez à jour l'objet led_state sur 1, . Veille pendant une demi-seconde Créez un test conditionnel pour vérifier si l'entrée a été touchée et que la LED est actuellement allumée. Éteignez la LED, mettez à jour la pause de l'objet led_state pendant une demi-seconde. En dehors des tests conditionnels, mais toujours à l'intérieur de la boucle, mettez le code en pause pendant 0,1 seconde. Enregistrez le code dans code.py sur l'appareil CircuitPython, cliquez sur Arrêter puis sur Exécuter. Touchez la banane pour activer/désactiver la LED.
PARTAGER