Bonjour très urgent merci de votre compréhension

Bonjour, je vous demande de votre aide car cette année j’ai un projet où le but est de créer un robot capable de détecter un incendie dans une maison et d’agir. On est 5 dans le groupe et ma partie et de détecter la distance qu’il y a entre la flamme et le robot ainsi que de savoir si la source de fumée est bien du feu ou non.

Je vous expose le problème, j’ai à ma disposition un capteur de flamme et un servomoteur(le servomoteur permet au capteur de flamme qui est fixé dessus de détecter sur une zone circulaire) le capteur de flamme est de qualité moyenne voire médiocre(je n’ai pas le choix car nous avons un budget très serré) car celui-ci détecte seulement en binaire, en gros 0=pas de flamme et 1023=flamme. Il a une plage de longueur d’onde entre 720nm et 1100nm.

Or ce que je n’arrive pas à faire et de faire tourner le servomoteur (ca j’arrive mais c’est ce qui suit que je n’arrive pas) et l’arrêter lorsque le capteur de flamme à détecté la flamme.

Voici mon code

#include <Servo.h>

Servo monServomoteur;

int capt_ana = A3;

bool capteur_flamme = 1;

void setup() {
  monServomoteur.attach(9);
  pinMode(capt_ana, INPUT);
  Serial.begin(9600);
}

void loop() {
  
capteur_flamme = digitalRead(capt_ana);

  Serial.println(capteur_flamme);
  
  if(capteur_flamme = 1){

  //faite bouger le bras de 0° à 180°
  capteur_flamme = digitalRead(capt_ana);
  Serial.println(capteur_flamme);
 for(int position = 0; position <=180; position++){
  monServomoteur.write(position);
  delay(30);
 
 }


  }
else{
  monServomoteur.write(180);
     }
   
    }

Merci de votre patience

Bonjour,
il ne faut pas confondre X = 1 et X ==1.

et pour la propreté du code

les pins sont mieux en const byte plutôt qu'en int

int capt_ana = A3;

Votre PC est-il si lent que cela?   Serial.begin(9600);utilisez 115200 voire plus... ça ne mange pas de pain...

bool capteur_flamme = 1;1 n'est pas un booléen... true serait beaucoup plus propre...

Pourquoi brancher un capteur analogique sur une pin analogique et faire un digitalRead? vous êtes sûr qu'il est analogique votre capteur? dans ce cas autant utiliser une pin numérique (même si ça va fonctionner).. et bon dieu pourquoi mettre ça dans un booléen? que retourne digitalRead()?

capteur_flamme = digitalRead(capt_ana);

cf remarque ci dessus pour le =
  if(capteur_flamme = 1){et bien sûr il vaudrait mieux utiliser HIGH que 1...ou alors vu que c'est un booléen aller jusqu'au bout de la logique et juste faire   if(capteur_flamme){mais c'est moche

pressez ctrl-T dans l'IDE pour indenter proprement...