Table des matières:
- Étape 1: Rassemblez toutes les pièces
- Étape 2: câblage
- Étape 3: Installation du package Python
- Étape 4: Installation des exemples
- Étape 5: Activer I2C
- Étape 6: Exécutez Calibratethresholds
- Étape 7: modifiez puis exécutez Readkeypadwithtimeout
- Étape 8: Comment fonctionne le clavier à une broche
- Étape 9: Conclusion
Vidéo: Guide d'utilisation du clavier à une broche Raspberry Pi: 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
AVIS DE NON-RESPONSABILITÉ: CECI EST UN GUIDE D'UTILISATION D'UN PRODUIT OUVERT: LE CLAVIER À UN PIN. CECI N'EST PAS UN PROJET DE BRICOLAGE. SI VOUS VOULEZ FAIRE LES TABLEAUX VOUS-MÊME, LES FICHIERS EAGLE SE TROUVENT À LA FIN DU TUTORIEL
Qu'est-ce que le clavier à une broche ?
Le clavier à une broche rend l'utilisation d'un clavier matriciel tellement plus facile et vous permet de réserver vos précieuses broches d'E/S à d'autres fins. Un clavier matriciel à 16 boutons nécessite généralement 8 entrées numériques sur un microcontrôleur ou un ordinateur monocarte. Les Arduinos les plus populaires vous limitent à seulement 14 broches numériques, donc un clavier à 16 boutons ne vous laisse que 6 broches pour le reste de votre projet. Cette pénurie de ressources peut entraîner un compromis de conception coûteux ou une mise à niveau du microcontrôleur plus coûteuse. Le module de clavier à une broche élimine le besoin de toutes ces entrées numériques. Comme son nom l'indique, le clavier à une broche n'utilise qu'une seule broche (une entrée analogique) plus des connexions GND et VCC, donc le câblage de votre clavier est un jeu d'enfant ! Pour les utilisateurs de Raspberry Pi (le public cible de ce tutoriel), il nécessite également un convertisseur analogique-numérique ADS1115, qui est vraiment facile à câbler. Le package Python One Pin Keypad (inclus) simplifie également la programmation requise pour traiter les entrées du clavier, vous permettant d'économiser plus de temps et d'efforts.
Pour le guide d'utilisation d'Arduino, cliquez ici.
Étape 1: Rassemblez toutes les pièces
Pour commencer avec votre carte One Pin Keypad, vous aurez besoin de:
- Une carte de clavier à une broche
- Un Arduino d'une certaine saveur (Un Arduino Nano a été utilisé dans ce cas)
- 3 câbles de démarrage M/F,
- 4 M/M OU 4 autres câbles de démarrage M/F, selon le type d'en-têtes de votre Raspberry Pi
- Un clavier à membrane 16 boutons
- Planche à pain (une très petite est utilisée ici)
- Un module ADS1115 (d'Adafruit ou d'un clone)
- Un Raspberry Pi avec une connexion internet et un OS Raspbian (j'ai utilisé Stretch)
- Accessoires Raspberry Pi (un câble HDMI, une alimentation, des dongles, un moniteur, etc. dépendent de la saveur de votre Raspberry Pi)
Étape 2: câblage
Câblez le clavier à une broche selon le schéma de Fritzing, la photo ou les deux, selon votre préférence.
Remarque: la note sur le schéma de Fritzing représente le clavier à une broche (et les abréviations GND VCC et AOUT désignent les brochages de la carte du clavier à une broche)
Étape 3: Installation du package Python
Ouvrez une fenêtre de terminal et tapez les commandes suivantes:
sudo apt-get mise à jour
alors
pip3 installer Progetto-One-Pin-Keypad
pour installer le paquet et ses dépendances nécessaires
Étape 4: Installation des exemples
J'ai créé un dossier dev pour héberger le référentiel sous home/pi si vous souhaitez faire la même chose (c'est complètement facultatif), exécutez cette commande:
dev mkdir
puis, pour naviguer dans le dossier, tapez:
développeur de CD
Enfin, pour cloner le dépôt, saisissez la commande suivante:
git clone
Étape 5: Activer I2C
L'ADS1115 ADC (Analog to Digital Converter) s'appuie sur le protocole I2C (Inter-Integrated Circuit) pour communiquer avec le Raspberry Pi, par défaut le bus I2C est désactivé, pour l'activer, tapez:
sudo raspi-config
qui vous amènera à une fenêtre de configuration bleue, à partir de là, à l'aide des touches fléchées et de la touche entrée, choisissez
- Options d'interfaçage
- I2C
- Descendez ensuite à
Astuce: Se référer aux captures d'écran ci-dessus peut aider un peu ! Si vous êtes toujours bloqué, n'ayez crainte ! Référez-vous à ce tutoriel incroyable de Sparkfun!
Étape 6: Exécutez Calibratethresholds
Accédez au référentiel si vous ne l'avez pas déjà fait et accédez au dossier des exemples à l'aide de ces commandes:
Astuce: tapez 'cd Prog' puis appuyez sur Tab, cela devrait compléter automatiquement le nom du référentiel !
cd Progetto_One_Pin_Keypad_Python_Package
puis tapez:
exemples de cd
Ensuite, exécutez l'exemple calibrationthresholds à l'aide de cette commande:
python3 calibrer les seuils
et suivez les instructions affichées sur la console pour calibrer votre carte. Une fois que l'étalonnage a parcouru tous les boutons, testez vos nouvelles valeurs analogiques pour voir si elles fonctionnent en appuyant sur certains boutons lorsque vous êtes invité à "Commencer". Si les nouvelles valeurs s'avèrent inexactes, utilisez Ctrl C pour arrêter le programme et l'exécuter. de nouveau.
L'exemple de calibrage devrait vous fournir 2 lignes de code dont vous aurez besoin dans l'exemple suivant, assurez-vous de garder la console ouverte et/ou copiez-les toutes les deux !
Étape 7: modifiez puis exécutez Readkeypadwithtimeout
Maintenant que votre One Pin Keypad est calibré, il est temps de l'utiliser. Bien que vous puissiez le faire à partir de la ligne de commande en utilisant vi, je préfère personnellement utiliser un IDE comme IDLE.
Ouvrez IDLE (vous aurez besoin de la version python3) et modifiez les lignes suivantes:
Vous vous souvenez du tableau de valeurs analogiques que vous avez copié ? Remplacez la ligne 13 (voir ci-dessous) par ces valeurs analogiques nouvellement calibrées.
# ex: my_thresholds = [les valeurs calibrées seraient ici]
est remplacé par ceci:
mes_seuils = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]
Ensuite, ajoutez la ligne de code suivante après la ligne 23 (voir ci-dessous):
clavier.useCalibratedThresholds(my_thresholds)
est ajouté après la ligne 23:
# ex: keyboard.use_calibrated_thresholds (le nom de votre tableau)
faire en sorte que les lignes 22 à 24 ressemblent à ceci à la fin:
# Si des valeurs calibrées sont utilisées, use_calibrated_thresholds ci-dessous:
# ex: keyboard.use_calibrated_thresholds(votre nom de tableau)
keyboard.use_calibrated_thresholds(my_thresholds)
Après cela, exécutez le code et testez-le en appuyant sur quelques boutons ! N'hésitez pas à adapter l'exemple de croquis à vos projets ! N'oubliez pas que read_keypad_with_timeout renvoie le bouton pressé sous forme de caractère et que le délai d'attente est défini en millisecondes ! Si vous ne voulez pas de délai d'attente, utilisez la constante keyboard. NO_TIMEOUT.
Étape 8: Comment fonctionne le clavier à une broche
Une grande partie de la conception du clavier à une broche est basée sur la mise en œuvre par Hari Wiguna d'un diviseur de tension pour obtenir une valeur analogique unique pour chaque touche dans un clavier à 16 broches. La conception de One Pin Keypad reste en grande partie la même, avec quelques ajustements. Si vous voulez un excellent tutoriel sur le fonctionnement du clavier One Pin, n'hésitez pas à regarder la superbe vidéo de Hari Wiguna ici !
Étape 9: Conclusion
Dans ce instructable, nous avons expliqué comment démarrer avec votre carte de clavier One Pin. Maintenant, les curieux d'entre vous se sont peut-être demandé pourquoi l'exemple d'esquisse readKeypadInstantaneous n'a jamais été utilisé, la raison en est qu'il n'est pas aussi utile, car le bouton doit être enfoncé lorsqu'il est appelé, la fonction readKeypadInstantaneous() est principalement utilisée pour simplifier readKeypadWithTimeout() dans la bibliothèque. S'il attire votre attention, n'hésitez pas à le faire tourner. Bon piratage !
Si vous avez des questions, laissez un commentaire ci-dessous ou envoyez-nous un e-mail à [email protected]. Tout le meilleur, Progetto Company P. S. Comme promis, un lien vers les fichiers Eagle du conseil.
Conseillé:
Connecteur ICSP pour Arduino Nano sans en-tête de broche soudée mais broche Pogo : 7 étapes
Connecteur ICSP pour Arduino Nano sans en-tête de broche soudée mais Pogo Pin: Créez un connecteur ICSP pour Arduino Nano sans en-tête de broche soudée sur la carte mais Pogo Pin.Parts3 × 2 Pin Socket x1 - APitch 2.54mm Dupont Line Wire Connecteur à broche femelle Bornes x6 - BP75-E2 (tête conique 1,3 mm) Sonde de test à ressort Pogo Pin
Utilisation du bouclier de clavier LCD 1602 avec Arduino [+ projets pratiques] : 7 étapes
Utilisation du bouclier de clavier LCD 1602 avec Arduino [+ projets pratiques] : vous pouvez lire ceci et d'autres tutoriels étonnants sur le site officiel d'ElectroPeak. AperçuDans ce tutoriel, vous apprendrez à utiliser le bouclier de clavier LCD Arduino avec 3 projets pratiques. Comment mettre en place le bouclier et identifier les clésHo
Clavier à une broche 4 × 4 : 10 étapes
Clavier à une broche 4 × 4: Chaque fois que je vois un clavier, il est livré avec beaucoup de broches, c'est un gros gaspillage de vos broches Arduino, alors pouvons-nous exécuter un clavier avec une et une seule broche ? La réponse est ici
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : l'avertissement standard - C'est ainsi que je l'ai fait. Cela a fonctionné pour moi. Si vous faites exploser votre G5, Radeon X800 XT, ou votre maison, voiture, bateau, etc. Je ne suis pas responsable ! Je fournis des informations basées sur mes propres connaissances et expériences. Je crois que tout st
SOUDURE CMS 101 - UTILISATION D'UNE PLAQUE CHAUFFANTE, D'UN SOUFFLEUR D'AIR CHAUD, D'UN POCHOIR SMD ET D'UNE SOUDURE À LA MAIN : 5 étapes
SOUDURE CMS 101 | EN UTILISANT UNE PLAQUE CHAUFFANTE, UN SOUFFLEUR D'AIR CHAUD, UN POCHOIR SMD ET UNE SOUDURE À LA MAIN : Bonjour ! Il est assez facile de souder…Appliquez un peu de flux, chauffez la surface et appliquez de la soudure.Mais quand il s'agit de souder des composants CMS, cela nécessite un peu d'habileté et quelques outils et accessoires. Dans ce Instructables, je vais vous montrer mon