Envoie des données via Bluetooth en utilisant le clavier matriciel et Arduino

Arduino UNO 11-02-25
46 0

Plan du tutoriel

1- Présenter le clavier matriciel 4x4

2- Comment envoyer des données du clavier matriciel vers le Smartphone ?

3- Matériel nécessaire

4- Schéma des connexions

5- Programmer la carte Arduino

6- Créer l'application mobile avec MIT App Inventor

 

 

Présenter le clavier matriciel 4x4

Un clavier matriciel 4x4 est un périphérique d'entrée composé de 16 touches organisées en 4 lignes (R1 à R4) et 4 colonnes (C1 à C4). Ce type de clavier est couramment utilisé dans des projets électroniques pour des interfaces utilisateur simples, comme des claviers de sécurité, des menus de navigation ou des contrôleurs de jeux.

Principe de Fonctionnement

1. Balayage des lignes : L’ESP32 active une ligne à la fois en envoyant un signal HIGH (1 logique).

2. Détection des colonnes : Si une touche est pressée, le signal passe de la ligne activée à la colonne correspondante, détectée par l’ESP32.

3. Identification de la touche : La combinaison de la ligne active et de la colonne détectée permet de savoir quelle touche a été pressée.

 

Comment envoyer des données du clavier matriciel vers le Smartphone ?

L'objectif est de capturer les entrées d’un clavier matriciel 4x4, de les traiter avec l'Arduino UNO, puis de les transmettre sans fil à un smartphone via le module Bluetooth HC-06. Voici le processus étape par étape.

1- Détection de la Touche Pressée (Clavier Matriciel 4x4)

Le clavier matriciel 4x4 est composé de 16 boutons organisés en 4 lignes (R1-R4) et 4 colonnes (C1-C4). Lorsqu'une touche est pressée, elle crée un contact électrique entre une ligne et une colonne.

Principe de Balayage (Scanning)

- L’Arduino active une ligne à la fois (en la mettant à l’état HAUT) et lit l’état des colonnes.

- Si un bouton est pressé, le signal de la ligne active passe à travers le bouton et est détecté sur la colonne correspondante.

- En combinant la ligne et la colonne activées, l’Arduino identifie la touche exacte.

2- Traitement des Données par l’Arduino UNO

Une fois la touche détectée :

1- L’Arduino lit le caractère associé à cette combinaison ligne/colonne (par exemple : 1, 2, A, #, etc.).

2- Il affiche la donnée sur le moniteur série pour le débogage (facultatif).

3- Ensuite, il prépare la donnée pour la transmission via le module Bluetooth HC-06.

3- Transmission des Données via le Module Bluetooth HC-06

Le HC-06 est un module Bluetooth maître-esclave conçu pour la communication série (UART).

1- Il reçoit des données de l’Arduino via la communication UART (broches RX/TX).

Le protocole utilisé est la communication série (9600 bauds par défaut).

2- L’Arduino envoie la donnée (par exemple bluetooth.print(key)) au HC-06.

3- Le HC-06 convertit le signal UART en un signal Bluetooth compréhensible par le smartphone.

4- Réception des Données sur le Smartphone

Le smartphone, via une application Bluetooth (comme App Inventor), fonctionne comme un terminal de réception.

1- Il se connecte au HC-06 après appairage.

2- Chaque fois qu'une touche est pressée, la donnée est reçue en temps réel sur l’application.

3- La donnée peut être affichée, stockée ou même traitée selon l’application.

 

Matériel nécessaire

Pour réaliser ce projet, plusieurs composants sont nécessaires. Voici une description détaillée de chacun d'eux, leur rôle, et comment ils interagissent pour assurer la communication entre le clavier et le smartphone.

Arduino UNO

Arduino Uno

- C’est le cerveau du système.

- Il lit les entrées du clavier matriciel, traite les données, puis les envoie au module Bluetooth HC-06.

- Utilise la communication UART (TX/RX) pour dialoguer avec le module Bluetooth.

Clavier Matriciel 4x4

- Le clavier sert d’interface utilisateur pour saisir des données (chiffres, lettres, symboles).

- Il est composé de 16 touches disposées en 4 lignes (R1 à R4) et 4 colonnes (C1 à C4).

- Lorsqu’une touche est pressée, elle crée un contact électrique entre une ligne et une colonne.

Module Bluetooth HC-06

HC-06 Bluetooth Module

- Le module Bluetooth HC-SR06 permet la communication sans fil entre l’Arduino et le smartphone.

- Il fonctionne comme un module esclave Bluetooth, capable de recevoir des commandes via une liaison série UART.

Smartphone

- Il sert de récepteur des données envoyées par l’Arduino via le module HC-06.

- Il affiche les données reçues dans une application de terminal série Bluetooth.

Câbles de Connexion (Jumper Wires)

Jumper wires

- Il assure la connexion électrique entre les composants.

- Il est utilisés pour relier les broches de l’Arduino aux broches du clavier matriciel et du HC-06.

 

Schéma des connexions

Clavier Matriciel 4x4 → Arduino UNO

R1 → Pin 9

R2 → Pin 8

R3 → Pin 7

R4 → Pin 6

C1 → Pin 5

C2 → Pin 4

C3 → Pin 3

C4 → Pin 2

Module Bluetooth HC-06 → Arduino UNO

VCC → 5V

GND → GND

TXD → Pin 10 (RX logiciel de l’Arduino)

RXD → Pin 11 (TX logiciel de l’Arduino)

 

Programmer la carte Arduino

Explications du Code :

1- Bibliothèques Utilisées :

Keypad.h : Gère la lecture des touches du clavier matriciel.

SoftwareSerial.h : Crée une interface série logicielle pour la communication avec le HC-06.

2- Configuration des Broches :

Lignes du clavier → connectées aux broches D9 à D6.

Colonnes du clavier → connectées aux broches D5 à D2.

HC-06 :

TX du HC-06 → Pin 10 (RX de SoftwareSerial)

RX du HC-06 → Pin 11 (TX de SoftwareSerial, avec un diviseur de tension si nécessaire).

3- Fonctionnement de la Boucle loop():

L’Arduino lit en continu le clavier matriciel.

Si une touche est détectée :

Elle est affichée sur le moniteur série (utile pour le débogage).

Elle est envoyée au module HC-06 via bluetooth.print().

 

Créer l'application mobile avec MIT App Inventor

Objectif : Recevoir des données d’un clavier matriciel 4x4 connecté à un Arduino UNO via un module Bluetooth HC-06.

1- Va sur MIT App Inventor.

2- Clique sur "Create Apps!" et connecte-toi avec un compte Google.

3- Clique sur "Start new project" et nomme-le par exemple : Bluetooth_Keypad.

Conception de l’Interface (Designer)

Ajout des Composants :

Interface utilisateur :

ListPicker (ListPicker1) : Text = "Choisir Arduino" (pour choisir le HC-06)

Label (Label3) : Text = "" (affichera les données du clavier)

Button (Button1) : Text = "Déconnecter"

Composants non visibles :

BluetoothClient (BluetoothClient1) : pour gérer la communication Bluetooth.

Clock (Clock1) : pour vérifier régulièrement si des données sont disponibles.

Programmation des Blocs (Blocks)

- À partir d'Android 12, les autorisations Bluetooth ont été renforcées pour améliorer la sécurité et la protection des données des utilisateurs. C'est pour cela on doit déclarer les autorisations dont votre application a besoin dans le fichier AndroidManifest.xml. Pour Bluetooth, vous devrez inclure les autorisations ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, et éventuellement BLUETOOTH_CONNECT, en fonction des fonctionnalités que vous utilisez.

- Dans les blocs de l'application, utilisez ces blocs de programmation pour connecter le Smartphone à la carte Arduino via le module Bluetooth HC-06.

- Utilisez ces blocs pour la lecture et affichage des Données Reçues de la carte Arduino UNO :

Télécharger le projet aiaTélécharger le fichier apk

 

Test de l’Application

1. Clique sur "Build" > "App (provide QR code)" pour générer un QR code.

2. Scanne-le avec ton smartphone pour installer l’application.

3. Active le Bluetooth sur ton téléphone et appaire-le avec le HC-06.

4. Lance l’application et clique sur "Sélectionner un appareil" pour te connecter au HC-06.

5. Appuie sur les touches du clavier matriciel → les données s'affichent en temps réel dans l'application.

 

 

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali-Prof Info