Giftduino : Boîte cadeau interactive Arduino pour makers et éducateurs
Composants nécessaires
| Arduino UNO | 1 |
| Capteur à effet Hall A1302 | 1 |
| Haut-parleur piézo 12 mm (2,048 kHz) | 1 |
| Écran LCD graphique Nokia 5110 (84x48) | 1 |
| Adaptateur secteur / alimentation 9V | 1 |
| Fil souple (pour charnière) | 1 |
| Boîtier imprimé 3D (fichiers STL fournis) | 1 |
Applications et services
- circuito.io (génération automatique du câblage et code de base)
- Arduino IDE
Principe de fonctionnement
Le Giftduino est une boîte cadeau « magique » qui détecte son ouverture grâce à un capteur à effet Hall et un aimant placé sur le couvercle. À l'ouverture, l'écran affiche une animation pixel-art « Surprise ! » tandis qu'un haut-parleur joue une mélodie joyeuse.
Étape 1 : Récupérer les composants
Via le lien magique circuito.io, tous les composants (y compris résistances, condensateurs) sont pré-sélectionnés. Cliquez sur « Generate » pour obtenir la liste complète et le schéma de câblage pas à pas.
Variantes possibles : remplacer le piézo par une LED, le capteur Hall par un capteur ultrason, l'écran Nokia par un LCD 16x2, l'alimentation secteur par une pile 9V.
Étape 2 : Câblage
Suivez le guide de câblage généré par circuito.io. Le schéma montre les connexions exactes pour chaque composant. Prenez votre temps, c'est simple si on suit étape par étape.
Étape 3 : Code
- Téléchargez le code généré par circuito.io et ouvrez-le dans l'Arduino IDE.
- Uploadez-le sur l'Arduino pour tester le câblage.
- Remplacez ensuite le contenu de l'onglet
firmware.inopar le code final fourni ci-dessous (qui gère l'animation et la mélodie). - Modifiez la mélodie ou le dessin pixel-art selon vos envies (les commentaires guident les modifications).
- Uploadez à nouveau.
Étape 4 : Fabrication de la boîte
La boîte combine pièces imprimées 3D et carton PVC. Dimensions : env. 10x7x5 cm. Les fichiers STL sont fournis. Vous pouvez personnaliser matériaux (bois, verre), forme, couleurs.
Étape 5 : Assemblage final
- Placez l'Arduino + shield dans le compartiment électronique.
- Collez l'aimant sur le couvercle (aligné avec le capteur Hall).
- Passez un fil d'acier souple entre couvercle et corps pour faire charnière.
- Refermez, testez : ouvrez le couvercle → animation + son !
Code principal (firmware.ino)
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <TimerFreeTone.h>
#define HALLA_PIN_VOUT A3
#define NOKIALCD_PIN_DC 4
#define NOKIALCD_PIN_CS 2
#define NOKIALCD_PIN_RST 3
#define PIEZOSPEAKER_PIN_SIG 5
#define LCD_CONTRAST 70
#define LCD_SIZE_COL 84
#define LCD_SIZE_ROW 48
// Mélodie "Hooray"
unsigned int hoorayLength = 6;
unsigned int hoorayMelody[] = {NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5};
unsigned int hoorayDurations[] = {8, 8, 8, 4, 8, 4};
HallA1302 hallA(HALLA_PIN_VOUT);
Adafruit_PCD8544 nokiaLcd(NOKIALCD_PIN_DC, NOKIALCD_PIN_CS, NOKIALCD_PIN_RST);
Speaker piezoSpeaker(PIEZOSPEAKER_PIN_SIG);
void setup() {
Serial.begin(9600);
nokiaLcd.begin(LCD_SIZE_COL, LCD_SIZE_ROW);
nokiaLcd.setContrast(LCD_CONTRAST);
}
void loop() {
int hallVal = hallA.read();
// Seuil de détection (aimant proche = écart par rapport à 512)
if (abs(hallVal - 512) < 50) {
delay(500);
nokiaLcd.clearDisplay();
nokiaLcd.setRotation(2);
nokiaLcd.setTextColor(BLACK);
nokiaLcd.setTextSize(1);
nokiaLcd.print(" Surprise !");
// Visage pixel-art simple
nokiaLcd.drawCircle(37, 15, 3, BLACK); // œil gauche
nokiaLcd.drawCircle(41, 15, 3, BLACK); // œil droit
nokiaLcd.drawRect(25, 22, 30, 20, BLACK); // bouche
nokiaLcd.display();
piezoSpeaker.playMelody(hoorayLength, hoorayMelody, hoorayDurations);
delay(10000); // Attendre 10s avant nouvelle détection
}
}
Coût estimé : 30-50 € selon les options d'impression 3D. Projet idéal pour apprendre l'électronique, l'impression 3D et la programmation Arduino de façon ludique.
Processus de fabrication
- Comprendre l'effet de peau : impact sur les conducteurs AC et applications RF
- Créer des effets audio pilotés par capteurs avec le kit Satellite CCRMA
- Photographie Haute Vitesse : Capturez les Gouttes d'Eau avec Arduino Nano
- Station Météo Compacte : Arduino Nano & ESP8266 avec Capteur BMP280 et Affichage OLED/Nokia LCD
- Mesurer la masse de la Terre avec Arduino : Guide DIY étape par étape
- Intégrer le capteur de pouls MAX30100 avec Arduino : Guide complet
- Chauffe-eau thermodynamique optimal : solutions d'eau chaude écoénergétiques
- Pourquoi un tour CNC à glissières prismatiques (box-way) est le choix optimal pour précision et performance
- Maîtriser les capteurs à effet Hall : Principes, applications, conception