Projet Robot Phototaxique

Dans le cadre d’un projet en électronique et robotique, nous avions pour mission de concevoir un robot autonome capable de se diriger vers une source lumineuse, en s’appuyant sur le principe de phototaxie.
Équipé de deux moteurs et d’une carte Arduino, le robot perçoit la lumière grâce à des phototransistors qui lui permettent d’ajuster sa trajectoire en temps réel.
Un projet mêlant robotique, programmation et comportement adaptatif, où la logique du code permet à la machine de s’orienter instinctivement vers la lumière.

Langage et outils utilisé

Logo arduino

Arduino

Prototypage et robotique interactive

Langage C

C

Langage de programmation bas niveau

Langage C++

C++

Langage orienté objet polyvalent

Projet réalisé pour

Logo les toiles de minuit

École d’ingénieur informatique CY Tech

Vidéo du projet

Naissance du projet

Dans le cadre de notre projet d’électronique et de robotique à CY Tech, nous avions un objectif clair : concevoir un robot autonome capable de se diriger vers une source lumineuse en s’appuyant sur le principe de la phototaxie.

Nous travaillions en binôme, avec un robot équipé :

    • de deux moteurs indépendants

    • d’une carte Arduino

    • de deux phototransistors

    • d’un buzzer piézo-électrique

L’enjeu était simple en apparence : faire en sorte que le robot « cherche » la lumière… et l’atteigne.

Mais derrière cette idée se cachait une vraie réflexion algorithmique : comment transformer une variation d’intensité lumineuse en comportement moteur cohérent ?

Comprendre la phototaxie

La phototaxie correspond au mouvement d’un organisme vers une source lumineuse.

Nous nous sommes appuyés sur les travaux de Valentino Braitenberg et ses « véhicules », qui montrent comment de simples formules mathématiques appliquées à des capteurs peuvent produire des comportements apparemment intelligents.

Notre ambition n’était pas de créer une intelligence artificielle complexe, mais de démontrer qu’avec deux capteurs et quelques conditions logiques, un comportement crédible pouvait émerger.

Architecture du système

Le principe retenu repose sur une logique croisée :

    • le capteur droit influence la roue gauche

    • le capteur gauche influence la roue droite

Les valeurs mesurées par les phototransistors varient de 0 à environ 860 selon l’intensité lumineuse.

Nous comparons en permanence les deux mesures :

    • Si le capteur droit détecte plus de lumière → la roue gauche tourne, la droite ralentit → le robot pivote vers la lumière.

    • Si le capteur gauche détecte plus de lumière → effet inverse.

    • Si la différence est faible → les deux roues tournent à la même vitesse → le robot avance tout droit.

Nous avons également intégré une logique d’immobilité :

    • Si aucune lumière n’est détectée → le robot s’arrête et déclenche un signal sonore.

Cette décision rendait le comportement plus cohérent : un robot phototaxique sans lumière n’a aucune raison d’avancer.

Phase de tests & ajustements

Les résistances

Au départ, avec des résistances de 10kΩ, les valeurs mesurées variaient seulement entre 0 et 80.

Résultat : le robot avait besoin d’une lumière extrêmement forte pour réagir.

Après plusieurs tests, nous avons remplacé les résistances par des 4,7kΩ.

Les valeurs sont alors montées jusqu’à 860, rendant le système :

    • plus précis

    • plus sensible

    • plus réactif aux faibles variations lumineuses

Les moteurs

Autre contrainte inattendue : nos deux moteurs n’étaient pas de la même marque (Parallax et Hitec).

Conséquences :

    • sens de rotation inversé

    • vitesses différentes

    • points morts distincts

Nous avons dû :

    • déterminer précisément le point mort de chaque moteur

    • calibrer les vitesses maximales

    • équilibrer les commandes pour permettre un déplacement rectiligne

Ce travail de calibration a été essentiel pour éviter que le robot ne dérive constamment d’un côté.

Le buzzer

Le buzzer piézo-électrique a été intégré pour matérialiser l’absence de lumière.

À l’aide des fonctions tone(), delay() et noTone(), nous avons programmé une alarme rapide, donnant une vraie « personnalité » au robot.

Ce détail technique a renforcé l’aspect interactif du projet.

Expérimentations sur le terrain

Les tests ne pouvaient pas être réalisés dans une salle trop éclairée.

Nous avons donc choisi des zones plus sombres du bâtiment afin d’observer clairement le comportement du robot.

Plusieurs scénarios ont été testés :

    • avec système d’immobilité

    • sans système d’immobilité

    • avec différentes sensibilités

Une sensibilité trop élevée ralentissait la réaction. Une sensibilité trop faible provoquait des mouvements brusques.

Nous avons opté pour un compromis permettant une rotation rapide et fluide.

Cependant, l’utilisation de conditions if / else entraîne un léger effet de zigzag à l’approche de la lumière.

Une amélioration future consisterait à implémenter un contrôle proportionnel plus progressif.

Comportement final & conclusion

Au terme des ajustements, notre robot adopte un comportement très proche du “véhicule amoureux” décrit par Braitenberg :

    • il se dirige vers la source lumineuse
    • ralentit à proximité

    • et s’y immobilise

Ce projet nous a permis de comprendre concrètement :

    • le traitement de signaux analogiques

    • la calibration matérielle

    • l’interaction entre électronique et algorithme

    • l’émergence d’un comportement à partir de règles simples

Avec seulement deux capteurs, deux moteurs et quelques conditions logiques, nous avons créé un système autonome cohérent et fonctionnel.

Une démonstration que, parfois, l’intelligence perçue naît simplement d’une bonne équation… et de beaucoup de tests.