Transformez un vieux téléphone en système d'indices pour chasse au trésor avec Arduino Pro Mini
Matériel nécessaire
- 1 × Arduino Pro Mini 328 5V/16MHz (SparkFun)
- 1 × Module lecteur MP3/WAV (trigger par broches, ex: SparkFun MP3 Trigger)
- 1 × Vieux téléphone à clavier (années 80/90, à touches physiques)
- 1 × Carte microSD (pour fichiers audio)
- 1 × Plaque d'essai, fils de liaison, fil de raccordement
- 1 × Alimentation (powerbank 5V logée dans le combiné)
Outils
Fer à souder, pistolet à air chaud (thermorétractable), multimètre (mode continuité pour mapper le clavier).
Étape 1 : Analyse du clavier matriciel
Démonter le téléphone, extraire le clavier. Les touches sont organisées en matrice lignes/colonnes. Utiliser un multimètre en mode continuité pour identifier quelles broches correspondent à chaque touche. Documenter la matrice (ex: 4 lignes × 3 colonnes = 12 touches). Les broches inutilisées peuvent être comblées par des placeholders dans le code (ex: 'A', 'B', 'C', 'D').
Étape 2 : Rallonger les broches du clavier
Souder des fils d'extension sur les broches nécessaires (seules les touches utilisées pour le code secret + touche validation). Pour un code à 4 chiffres + validation (*), 5 touches suffisent.
Étape 3 : Préparation des fichiers audio
Trois sons nécessaires :
- Bip touche : son court pour chaque appui
- Code Morse : généré en ligne (ex: scphillips.com), message d'indice
- Voix synthétique : texte-vers-parole (ex: Natural Readers « Peter ») pour l'énoncé de l'indice
Monter dans Audacity : fusionner Morse + voix, raccourcir le bip. Exporter chaque piste en MP3 nommé 001.mp3, 002.mp3, 003.mp3... placés dans un dossier 01 sur la carte microSD (exigence du module MP3 Trigger).
Étape 4 : Bibliothèques et code
Installer les bibliothèques Arduino Keypad et Password. Le sketch :
- Définit la matrice de touches (lignes/colonnes → broches Arduino)
- Configure le mot de passe (ex: « 7365 »)
- À chaque appui : joue le bip (broche 13 → module MP3 trigger 1), ajoute le chiffre au buffer
- Sur touche * (validation) : vérifie le mot de passe
- Si correct : joue l'indice (broche 12 → module MP3 trigger 2), réinitialise le buffer
- Si incorrect : réinitialise le buffer, silence
Étape 5 : Intégration dans le combiné
Vider l'intérieur du téléphone. Loger l'Arduino, le module MP3, la carte SD, la powerbank. Faire passer les fils du clavier vers l'Arduino. Refermer le boîtier. Le téléphone fonctionne normalement : on compose le code secret, on valide par *, l'indice audio sort par l'écouteur (ou haut-parleur ajouté).
Code source (extrait clé)
#include <Password.h> #include <Keypad.h>
Password password = Password("7365");
const byte ROWS = 4, COLS = 3;
char keys[ROWS][COLS] = { {'4','5','6'}, {'7','8','A'}, {'B','2','3'}, {'*','C','D'} };
byte rowPins[ROWS] = {7,5,3,8}; byte colPins[COLS] = {6,4,2};
const int dial = 13, morse = 12;
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
pinMode(dial, OUTPUT); pinMode(morse, OUTPUT);
digitalWrite(dial, HIGH); digitalWrite(morse, HIGH); // triggers actifs bas
keypad.addEventListener(keypadEvent);
}
void loop() { keypad.getKey(); }
void keypadEvent(KeypadEvent eKey) {
if (keypad.getState() == PRESSED) {
digitalWrite(dial, LOW); delay(50); digitalWrite(dial, HIGH); // bip
if (eKey == '*') checkPassword(); else password.append(eKey);
}
}
void checkPassword() {
if (password.evaluate()) { digitalWrite(morse, LOW); delay(50); digitalWrite(morse, HIGH); }
password.reset();
}
Schéma de câblage
Voir section « Schematics » : clavier → broches D2-D8, module MP3 Trigger → D12 (morse), D13 (dial), alimentation 5V/GND partagée, carte SD sur module MP3.
Idées d'extension
- Plusieurs indices séquentiels (code différent = piste suivante)
- Ajout d'un afficheur OLED pour indices visuels
- Version sans fil : module RF/Bluetooth pour déclenchement à distance
Processus de fabrication
- Jeu UFO Attack DIY avec Arduino UNO et Afficheur MAX7219
- Costume nuage DIY : Bandeau LED, Arduino Nano et pièces SparkFun
- Horloge 3D RGB Arduclock – Montre LED Bluetooth avec horloge temps réel
- Surveillance de la Qualité de l'Eau : Système Arduino MKR1000 pour Rivières et Lacs
- Construire un Iron Man animé avec Arduino : capteurs, sons et relais
- Jeu interactif joystick + LEDs avec Arduino
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
- Petit Rover Arduino : Construisez Votre Propre Robot Autonome