Je pense que tu te fais des nœuds au cerveau.
Tu es ici typiquement dans un problème algorithmique et non dans un problème de codage.
Tu as un capteur analogique.
Tu lis sa valeur, représentée par un nombre compris entre 0 et 1023 que retourne analogRead()
Tu dois faire une visualisation par une LED.
Pour faire la visualisation avec la LED, tu as la fonction analogWrite(), qui attend un paramètre entre 0 et 255
La solution consiste donc à diviser par 4 la valeur retournée par analogRead() pour la fournir à analogWrite().
Tu réalises une fonction intensité_LED = niveau_capteur / 4
Maintenant, partant de la même structure de programme, tu veux "inverser" le fonctionnement.
Donc cela veut dire que pour une valeur croissante en entrée il faut fournir une valeur décroissante en sortie.
Il y a souvent différentes manières de résoudre un problème. Ici, typiquement, tu as:
une solution purement matérielle, en agissant directement sur le capteur (la proposition de @jef59). Cela implique de comprendre comment se fait la mise en œuvre de la LDR et le fonctionnement d'un pont diviseur de tension.
une solution logicielle en agissant sur la valeur d'entrée (la proposition que j'ai faite de manipuler la sortie de analogRead()). On convertit les valeurs 0 à 1023 retournées par analogRead() en utilisant redSensorValue = 1023 - analogRead(redSensorPin).
une solution logicielle en agissant sur la valeur de sortie (la proposition de @jpbbricole ). On "inverse" le paramètre, compris entre 0 255, passé à analogWrite() en faisant redValue = 255 - redSensorValue/4;
Différentes solutions pour un seul problème. Il faut juste choisir laquelle on veut utiliser et c'est tout. Et surtout ne pas les appliquer toutes en même temps
Il faut dans un premier temps exprimer le besoin logiquement en se demandant quoi faire pour arriver a realiser ce que l on veut sans se preoccuper du codage.
Ensuite on code.
Certains on besoin d une phase papier ou on ecris ou on dessine un debut de solution.
D autres le font dans la tête et il ont tres rarement ou pas du tout besoin d ecrire.
Je ne prétend pas être l'as des as en codage, mais je me débrouille avec la plateforme Arduino.
Par contre, scratch, je ne connais pas, si je raisonne comme toi je dirais que c'est parce que je n'ai pas le bon level!
Alors que je crois que c'est juste une autre façon de voir les choses.
Il ne faut pas se sous estimer et penser que c'est une question de level.
Là c'est pas de chance, tu as plein d'info qui viennent d'un coup, donc je ne fais que rajouter de l'info, desolé.
Sans aucun doute que
Est une excellente approche avant de s'intéresser au code.
Et ici on répondra à tes questions.
Maintenant si tu veux une solution toute faite, en modifiant le code, utilise les conseils de @jpbbricole ou @fdufnews ca marchera aussi trés bien je crois pour réaliser ton projet
"Je voulais juste inverser la petite lampe pour l'associer à un projet de photophore fait avec une découpeuse."
Avec une nouvelle problématique : ma carte n'est plus détectée automatiquement sur l'IDE.
Dans outils le port reste grisé alors que Arduino Uno est bien sélectionné.
Je n'ai jamais eu de soucis.
Je viens de changer de PC et passer sous windows 11, un problème de drivers, de prériphérique ou autres.
De temps en temps la connexion sur com3 se fait pourtant.
J'ai réussi à téléverser mais galère.
Bon tout ça pour dire que ma petite lampe n'est pas encore opérationnelle
Pourtant mon branchement est bon et si le code est bon, je ne comprends pas.
Et pas un problème de téléversement avec ma carte qui n'est pas ou très mal reconnue ?
La simulation est un tout autre projet où on oublie les phototransistors ?
ça ne s'allume plus en fonction de la lumière mais avec la rotation des boutons.
Ou alors je comprends rien du tout.