Table des matières:

Communication série Arduino et Python - Affichage du clavier : 4 étapes
Communication série Arduino et Python - Affichage du clavier : 4 étapes

Vidéo: Communication série Arduino et Python - Affichage du clavier : 4 étapes

Vidéo: Communication série Arduino et Python - Affichage du clavier : 4 étapes
Vidéo: Python et Arduino (1/2) 2024, Juillet
Anonim
Communication série Arduino et Python - Affichage du clavier
Communication série Arduino et Python - Affichage du clavier

Ce projet est fait pour les utilisateurs de mac mais il peut aussi être implémenté pour Linux et Windows, la seule étape qui devrait être différente est l'installation.

Étape 1: Installation du logiciel

Installation du logiciel
Installation du logiciel
  1. Téléchargez et installez Arduino ->
  2. Téléchargez et installez Python 2.7 ->
  3. Téléchargez la bibliothèque Python "pyserial-2.7.tar.gz" ->
  4. Décompressez pyserial-2.7.tar.gz
  5. Ouvrez Terminal et tapez:

cd /users/"Votre-compte-utilisateur"/Téléchargements/pyserial-2.7

sudo python setup.py installer

Installation du logiciel prête !

Étape 2: Câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage
Câblage
Câblage
  1. Arduino Uno
  2. Clavier Sparkfun 12 boutons

Le câblage se fait sans résistances externes, à la place j'ai utilisé les résistances Pullup internes du microcontrôleur (les résistances Pullup internes d'Arduino ont une valeur de 20K-Ohm à 50K-Ohm)

Pour activer les résistances de traction internes, définissez les broches d'entrée HAUT dans le code

Si vous utilisez un autre clavier, regardez la fiche technique pour le bon câblage, sinon cela pourrait endommager votre microcontrôleur

Étape 3: Code Arduino

Code Arduino
Code Arduino
  • Nous définissons d'abord une matrice de caractères pour les clés
  • Le clavier utilise des connecteurs de commutateur normaux qui sont disposés en 4 rangées (broches 7, 2, 3 et 5) et 3 colonnes (broches 6, 8 et 4), sont définis comme des tableaux rowPins et colPins
  • La fonction setup()

    • Ouvrez la porte série avec Serial.begin();
    • Définir les colonnes comme OUTPUT-Pins HIGH
    • Activez les résistances de traction, pour ce faire, définissez les lignes comme INPUT-Pins HIGH;
  • La fonction getkey()

    • Définissez chaque ligne sur LOW et testez si l'une des colonnes est LOW. En raison des résistances de traction, toutes les rangées sont HAUTES jusqu'à ce qu'une touche soit enfoncée. La touche enfoncée génère un LOW-Signal au INPUT-Pin. Ce BAS indique la touche enfoncée dans cette ligne et colonne
    • Attendez que la touche soit relâchée et renvoie le caractère du tableau de touches ou 0 si aucune touche n'a été enfoncée
    • Utilisez un délai (debounceTime) pour stabiliser le signal

Étape 4: Python_2.7 Code

Python_2.7 Code
Python_2.7 Code
  • Importer la bibliothèque série
  • Définir une variable connectée=FAUX, plus tard cette variable est utilisée pour tester si la connexion série est disponible ou non
  • Ouvrez le port série avec serial. Serial ("Nom de votre port série", baud)

    • Pour obtenir le nom de votre port série, cliquez sur -> Outils/Port série dans l'Arduino IDLE
    • le baud doit être le même que dans le code Arduino
  • Dans un test de boucle while si la connexion est disponible ou si elle ne lit pas le signal série et en définissant la variable connected = TRUE, elle boucle jusqu'à ce qu'elle obtienne une connexion série
  • Après la connexion, lisez la série dans une boucle while et mettez cette entrée dans une nouvelle variable "var"
  • fermez le port avec ser.close()

Conseillé: