đŸ€– Projet Robot Éducatif - Vue d’Ensemble

📁 Structure du Projet

windsurf-project-4/
│
├── 📄 README.md                    # Documentation principale
├── 📄 GUIDE_DEMARRAGE.md          # Guide de dĂ©marrage rapide
├── 📄 PROJET_COMPLET.md           # Ce fichier
│
├── 🔧 requirements.txt             # DĂ©pendances Python
├── 🔧 install.sh                   # Installation Linux/Mac
├── 🔧 install.bat                  # Installation Windows
│
├── 🐍 robot_smile.py              # ⭐ PROGRAMME PRINCIPAL - Sourire Cozmo
├── 🐍 roboeyes_pygame.py          # Bibliothùque yeux pour Pygame
│
├── 📂 examples/                    # Exemples supplĂ©mentaires
│   ├── emotions.py                # DĂ©monstration des Ă©motions
│   └── interactive.py             # Contrîle interactif complet
│
└── 📂 micropython/                 # Version pour robot rĂ©el
    ├── README.md                  # Guide matĂ©riel
    ├── main.py                    # Programme principal MicroPython
    └── roboeyes.py                # Bibliothùque pour MicroPython

🎯 Objectif du Projet

Créer un robot éducatif avec des yeux expressifs (style Cozmo) pour apprendre :

  • Programmation Python : Variables, fonctions, boucles, Ă©vĂ©nements
  • Graphiques : Dessiner et animer Ă  l’écran
  • Électronique : Connecter des composants (version matĂ©rielle)
  • Logique : RĂ©soudre des problĂšmes et dĂ©boguer

🚀 DĂ©marrage Rapide (3 Ă©tapes)

1ïžâƒŁ Installation

# Linux/Mac
./install.sh

# Windows
install.bat

# Ou manuellement
pip install pygame numpy

2ïžâƒŁ Lancer le Programme Principal

python3 robot_smile.py

3ïžâƒŁ Interagir

  • ESPACE : Faire sourire le robot 😊
  • O : Ouvrir les yeux 👀
  • C : Fermer les yeux 😮
  • B : Cligner 😉
  • ESC : Quitter

📚 Programmes Disponibles

1. robot_smile.py (Débutant) ⭐

Le programme principal ! Un robot qui sourit comme Cozmo.

Fonctionnalités :

  • Yeux animĂ©s avec clignement automatique
  • Sourire activable avec la touche ESPACE
  • ContrĂŽles simples au clavier
  • Interface visuelle agrandie (512x256)

Parfait pour : PremiÚre découverte, démonstration

2. examples/emotions.py (Intermédiaire)

Démonstration automatique de toutes les émotions.

Émotions disponibles :

  • 😐 Normal (DEFAULT)
  • 😊 Heureux (HAPPY)
  • 😮 FatiguĂ© (TIRED)
  • 😠 En colĂšre (ANGRY)

Parfait pour : Comprendre les différentes expressions

3. examples/interactive.py (Avancé)

ContrĂŽle complet du robot avec le clavier.

Commandes :

  • 1-4 : Changer d’émotion
  • O/C : Ouvrir/Fermer les yeux
  • B : Cligner
  • A : Toggle clignement automatique
  • +/- : Agrandir/rĂ©duire les yeux

Parfait pour : Expérimentation et personnalisation

4. micropython/main.py (Expert)

Version pour robot réel avec écran OLED.

Matériel requis :

  • Raspberry Pi Pico ou ESP32
  • Écran OLED I2C 128x64 (SSD1306)
  • CĂąbles de connexion

Parfait pour : Créer un vrai robot physique

🎓 Parcours d’Apprentissage

Niveau 1 : Découverte (1-2 heures)

  1. ✅ Installer le projet
  2. ✅ Lancer robot_smile.py
  3. ✅ Tester toutes les touches
  4. ✅ Lancer examples/emotions.py
  5. ✅ Observer les diffĂ©rentes expressions

Niveau 2 : Exploration (2-4 heures)

  1. ✅ Lancer examples/interactive.py
  2. ✅ Tester toutes les combinaisons
  3. ✅ Ouvrir robot_smile.py dans un Ă©diteur
  4. ✅ Lire les commentaires dans le code
  5. ✅ Identifier les diffĂ©rentes parties du programme

Niveau 3 : Modification (4-8 heures)

  1. ✅ Changer la taille des yeux dans le code
  2. ✅ Modifier la vitesse de clignement
  3. ✅ Ajouter une nouvelle touche au clavier
  4. ✅ CrĂ©er une nouvelle sĂ©quence d’émotions
  5. ✅ Personnaliser les couleurs (version Pygame)

Niveau 4 : Création (8+ heures)

  1. ✅ CrĂ©er son propre programme
  2. ✅ Ajouter de nouvelles fonctionnalitĂ©s
  3. ✅ Assembler le matĂ©riel pour la version physique
  4. ✅ Programmer le robot rĂ©el
  5. ✅ Inventer de nouveaux comportements

🔧 Technologies UtilisĂ©es

Version Simulation (PC)

  • Python 3.7+ : Langage de programmation
  • Pygame : BibliothĂšque graphique
  • NumPy : Calculs mathĂ©matiques

Version Matérielle (Robot)

  • MicroPython : Python pour microcontrĂŽleurs
  • SSD1306 : Driver pour Ă©cran OLED
  • FrameBuffer : Gestion de l’affichage

📖 Code Source Original

Ce projet est basé sur :

  • micropython-roboeyes par MCHobby
  • GitHub : https://github.com/mchobby/micropython-roboeyes
  • AdaptĂ© et simplifiĂ© pour l’apprentissage

🎹 Personnalisations Possibles

Facile

  • ✅ Changer la taille des yeux
  • ✅ Modifier la vitesse de clignement
  • ✅ Ajouter des touches au clavier
  • ✅ Changer les couleurs de fond

Moyen

  • ✅ CrĂ©er de nouvelles Ă©motions
  • ✅ Ajouter des sons
  • ✅ Faire suivre la souris
  • ✅ CrĂ©er des sĂ©quences d’animation

Difficile

  • ✅ Ajouter des capteurs (distance, son)
  • ✅ Interface web de contrĂŽle
  • ✅ Reconnaissance vocale
  • ✅ Communication entre robots

🐛 RĂ©solution de ProblĂšmes

Problùme : “ModuleNotFoundError: No module named ‘pygame’”

Solution : Exécutez pip install pygame

Problùme : “python: command not found”

Solution : Utilisez python3 au lieu de python

ProblĂšme : L’écran reste noir

Solution : Appuyez sur ‘O’ pour ouvrir les yeux

ProblĂšme : Le robot ne cligne pas

Solution : Attendez quelques secondes ou appuyez sur ‘B’

ProblĂšme : Erreur I2C (version MicroPython)

Solution : Vérifiez les connexions SDA/SCL

💡 IdĂ©es de Projets AvancĂ©s

  1. Robot RĂ©veil : Affiche l’heure et se rĂ©veille progressivement
  2. Compagnon d’Étude : Encourage pendant les devoirs
  3. DĂ©tecteur de PrĂ©sence : RĂ©agit quand quelqu’un s’approche
  4. Station Météo : Affiche la météo avec des expressions
  5. Jeu Interactif : Devine l’émotion affichĂ©e
  6. Robot Messager : Affiche des notifications
  7. Tamagotchi Robotique : Animal virtuel Ă  nourrir
  8. Indicateur de Concentration : Aide à rester concentré

đŸ€ Contribuer et Partager

Partagez vos créations !

  • Prenez des photos/vidĂ©os
  • Documentez vos modifications
  • CrĂ©ez des tutoriels
  • Aidez d’autres apprenants

Améliorations possibles

  • Nouvelles Ă©motions
  • Meilleurs graphismes
  • Plus d’animations
  • Support de nouveaux matĂ©riels

📞 Support

Documentation

  • README.md : Vue d’ensemble
  • GUIDE_DEMARRAGE.md : Guide dĂ©taillĂ©
  • micropython/README.md : Version matĂ©rielle
  • Commentaires dans le code

Ressources Externes

🎉 Conclusion

Ce projet est conçu pour ĂȘtre :

  • ✅ Éducatif : Apprendre en s’amusant
  • ✅ Progressif : Du simple au complexe
  • ✅ Pratique : De la simulation au robot rĂ©el
  • ✅ CrĂ©atif : Infiniment personnalisable

Amusez-vous bien et bon apprentissage ! đŸš€đŸ€–


Créé avec ❀ pour apprendre la programmation et l’électronique