Varier un signal PWM avec des Boutons

Salut à tous,

je voulais essayer de faire varier la luminosité d'une led d'une carte arduino avec une autre carte qui la piloterai avec des boutons.
Vu que mon projet repose sur le PWM je voulais tester cette variation de la sorte.
Pour ne pas trop me précipiter dans ce projet j'ai d'abord voulut faire le programme sur une carte et tester le fonctionnement.
Les programmes qui sont bon ,je n'ai pas de souci. Mais pour celui ci ,il déclare une erreur de compilation pour la carte Nano (non connecté juste à la vérification). Je soupçonne avoir faire pas mal d'erreurs de débutant sur le code.
La plupart des tutoriels ou présentation reprenne juste la variation avec une boucle for ou un potentiomètre, j'ai donc du mal à trouver une référence pour travailler.
Par la suite de ce projet, le but serai de piloter la lumière avec une interface donc je me suis dis que c'étais une bonne base de travail.

Voici le code:


const int Led = 6; // j'assigne ma led à une sortie PWM
const int Bouton1 = 3; // j'assigne mes 2 boutons aux 2 sorties
const int Bouton2 = 4;
int FadeValue = 204; // je donne une valeur pwm ,ici 80%

void setup() {
  // put your setup code here, to run once:
  pinMode (Bouton1,INPUT); // mes boutons sont des entrées.
  pinMode (Bouton2,INPUT);
  pinMode (Led,OUTPUT); // ma led est une sortie
  analogWrite(Led,FadeValue); // je dirige ma valeur pwm sur la led
}

void loop() {
  if(Bouton1 = HIGH) // si j'appuye sur le bouton1 ,j'incrémente ma valeur PWM de 51 (20%) et j'écris cette nouvelle valeur sur la sortie de la led.
  {
    FadeValue += 51;
    analogWrite(Led,FadeValue);
  }
  if(Bouton2 = HIGH)// si j'appuye sur le bouton2 ,je décrémente ma valeur PWM de 51 (20%) et j'écris cette nouvelle valeur sur la sortie de la led.
  {
    FadeValue -= 51;
    analogWrite(Led,FadeValue);
  }
  
  if(FadeValue>255) // j'évite que le programme m'autorise à dépasser les 100% du signal PWM
  {
  FadeValue == 255;
  }
  if(FadeValue<0) // Je fais de même en cas de valeur négative.
  {
  FadeValue == 0; 
  }
}

Message d'erreur:

Arduino : 1.8.15 Hourly Build 2021/05/31 10:33 (Windows 10), Carte : "Arduino Nano, ATmega328P"

C:\Program Files (x86)\arduino-nightly\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\arduino-nightly\hardware -tools C:\Program Files (x86)\arduino-nightly\tools-builder -tools C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\arduino-nightly\libraries -libraries C:\Users\pheon\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10815 -build-path C:\Users\pheon\AppData\Local\Temp\arduino_build_255970 -warnings=none -build-cache C:\Users\pheon\AppData\Local\Temp\arduino_cache_913404 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -verbose F:\SArduino\Projet\Test\Arduino\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino

C:\Program Files (x86)\arduino-nightly\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\arduino-nightly\hardware -tools C:\Program Files (x86)\arduino-nightly\tools-builder -tools C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\arduino-nightly\libraries -libraries C:\Users\pheon\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10815 -build-path C:\Users\pheon\AppData\Local\Temp\arduino_build_255970 -warnings=none -build-cache C:\Users\pheon\AppData\Local\Temp\arduino_cache_913404 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\arduino-nightly\hardware\tools\avr -verbose F:\SArduino\Projet\Test\Arduino\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino

Using board 'nano' from platform in folder: C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr

Using core 'arduino' from platform in folder: C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr

Detecting libraries used...

"C:\Program Files (x86)\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o nul

Generating function prototypes...

"C:\Program Files (x86)\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\preproc\ctags_target_for_gcc_minus_e.cpp"

"C:\Program Files (x86)\arduino-nightly\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\preproc\ctags_target_for_gcc_minus_e.cpp"

Compilation du croquis...

"C:\Program Files (x86)\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o "C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\sketch\Incr_mentationAnalogueAcBouton.ino.cpp.o"

In file included from C:\Users\pheon\AppData\Local\Temp\arduino_build_255970\sketch\Incr_mentationAnalogueAcBouton.ino.cpp:1:0:

F:\SArduino\Projet\Test\Arduino\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino: In function 'void loop()':

C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino/Arduino.h:40:14: error: assignment of read-only variable 'Bouton1'

#define HIGH 0x1

          ^

F:\SArduino\Projet\Test\Arduino\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino:15:17: note: in expansion of macro 'HIGH'

if (Bouton1 = HIGH) // si j'appuye sur le bouton1 ,j'incrémente ma valeur PWM de 51 (20%) et j'écris cette nouvelle valeur sur la sortie de la led.

             ^~~~

C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino/Arduino.h:40:14: error: assignment of read-only variable 'Bouton2'

#define HIGH 0x1

          ^

F:\SArduino\Projet\Test\Arduino\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino:20:17: note: in expansion of macro 'HIGH'

if (Bouton2 = HIGH) // si j'appuye sur le bouton2 ,je décrémente ma valeur PWM de 51 (20%) et j'écris cette nouvelle valeur sur la sortie de la led.

             ^~~~

exit status 1

Erreur de compilation pour la carte Arduino Nano

Merci de votre aide =)

Bonjour,

Le problème est ici
if (Bouton1 = HIGH)
Pour comparer l'opérateur est ==
if (Bouton1 == HIGH)
Ce qui ne fait surement pas ce que tu veux, en fait ce que tu veux faire c'est
if (digitalRead(Bouton1) == HIGH)

idem pour Bouton2

Remarque: on voit ici l’intérêt de définir Bouton1 comme const (comme tu l'as fait). On a immédiatement une erreur à la compilation sinon on peut chercher longtemps le problème.

Je n'ai pas lu ta très longue prose : je me suis arreté quand j'ai lu la ligne citée.
Utiliser une version "Hourly buid" c'est risqué. Ce n'est pas une version stable, c'est une version publiée tous les jours qui corrige certains des bug connus, mais qui peut en créer de nouveaux.
Son utilisation n'est justifiée que si elle corrige un ancien bug bloquant pour le projet en cours.

Rien ne prouve que l'origine est là, mais il vaut mieux prendre une vraie version stable pour éviter de se donner des handicaps.

Note : tu peux avoir deux versions simultanées du moment que chaque version est dans un répertoire distinct. Seul le fichier arduino15 sera partagé entre les versions.

@kamill
Effectivement ,la valeur n'est pas constante je vais remplacer par int et aussi corriger les erreurs de mon code.
Je suis obligé de mettre Bouton1 entre parenthèse ? ce n'est que quand la sortie (ou l'entrée) n'est pas renommé que ça n'a pas d'importance ?

@68tjs bah ducoup je comprends pas trop ,j'ai voulu faire une mise à jours et sur le site d'arduino j'ai téléchargé leur version https://www.arduino.cc/en/software ,j'ai peu être pas fais attention car j'avais fais un don.
Ou télécharge t-on les versions stables ?

Pour lire l'état de l'entrée Bouton1 c'est digitalRead(Bouton1)

Bonjour

Pour Windows , ici à droite, l'une des deux lgnes
stables

'Hourly Buids' : aperçu d'une version à venir, version en chantier...

Super merci de vos conceils =)

@kamill mon programme ne fonctionne pas du tout ^^.
La led scintille ,je pense que le programme tourne en boucle en faisant + et - .
Je dois mettre une fin après les insctructions d'incrémentation et de décrémentation?

Mettre une copie du programme à jour s'il a évolué depuis le début et un schéma de ton montage pour que l'on voit comment sont câblé tes boutons.

Mise à jour de mon problème:

int Led = 6;
int Bouton1 = 3;
int Bouton2 = 4;
int fadevalue = 204;

void setup() {
  // put your setup code here, to run once:
  pinMode (Bouton1, INPUT);
  pinMode (Bouton2, INPUT);
  pinMode (Led, OUTPUT);
  analogWrite(Led, fadevalue);

}

void loop() {

  if (digitalRead(Bouton1) == HIGH) //incrémentation du signal PWM de la sortie 6 via fadvalue ,l'initialisation se fait à 204 et on a la possibilité de monter de 51 ou de diminuer de 51 en enregistrant la nouvelle valeur fadevalue.51 étant 20%. 
  {
    fadevalue += 51;
    analogWrite(Led, fadevalue);
  }
  if (digitalRead(Bouton2) == HIGH)
  {
    fadevalue -= 51;
    analogWrite(Led, fadevalue);
  }

}

le montage:

parcontre j'ai une autre erreur depuis que j'ai rechangé le programme mdr:

Arduino : 1.8.15 (Windows 10), Carte : "Arduino Uno"

C:\Program Files (x86)\arduino-1.8.15\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\arduino-1.8.15\hardware -tools C:\Program Files (x86)\arduino-1.8.15\tools-builder -tools C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\arduino-1.8.15\libraries -libraries C:\Users\pheon\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10815 -build-path C:\Users\pheon\AppData\Local\Temp\arduino_build_833935 -warnings=none -build-cache C:\Users\pheon\AppData\Local\Temp\arduino_cache_74089 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -verbose F:\SArduino\Projet\Test\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino

C:\Program Files (x86)\arduino-1.8.15\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\arduino-1.8.15\hardware -tools C:\Program Files (x86)\arduino-1.8.15\tools-builder -tools C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\arduino-1.8.15\libraries -libraries C:\Users\pheon\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10815 -build-path C:\Users\pheon\AppData\Local\Temp\arduino_build_833935 -warnings=none -build-cache C:\Users\pheon\AppData\Local\Temp\arduino_cache_74089 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr -verbose F:\SArduino\Projet\Test\Incr_mentationAnalogueAcBouton\Incr_mentationAnalogueAcBouton.ino

Using board 'uno' from platform in folder: C:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr

Using core 'arduino' from platform in folder: C:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr

Detecting libraries used...

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\variants\standard" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o nul

Generating function prototypes...

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\variants\standard" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\preproc\ctags_target_for_gcc_minus_e.cpp"

"C:\Program Files (x86)\arduino-1.8.15\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\preproc\ctags_target_for_gcc_minus_e.cpp"

Compilation du croquis...

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\arduino-1.8.15\hardware\arduino\avr\variants\standard" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\sketch\Incr_mentationAnalogueAcBouton.ino.cpp" -o "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\sketch\Incr_mentationAnalogueAcBouton.ino.cpp.o"

Compiling libraries...

Compiling core...

Using precompiled core: C:\Users\pheon\AppData\Local\Temp\arduino_cache_74089\core\core_arduino_avr_uno_124b267612d7d50eb892877b9ff7e1e4.a

Linking everything together...

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.elf" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935\sketch\Incr_mentationAnalogueAcBouton.ino.cpp.o" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/..\arduino_cache_74089\core\core_arduino_avr_uno_124b267612d7d50eb892877b9ff7e1e4.a" "-LC:\Users\pheon\AppData\Local\Temp\arduino_build_833935" -lm

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.elf" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.eep"

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.elf" "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.hex"

"C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avr-size" -A "C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.elf"

Le croquis utilise 1208 octets (3%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.

Les variables globales utilisent 11 octets (0%) de mémoire dynamique, ce qui laisse 2037 octets pour les variables locales. Le maximum est de 2048 octets.

C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\pheon\AppData\Local\Temp\arduino_build_833935/Incr_mentationAnalogueAcBouton.ino.hex:i

avrdude: Version 6.3-20190619

     Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

     Copyright (c) 2007-2014 Joerg Wunsch



     System wide configuration file is "C:\Program Files (x86)\arduino-1.8.15\hardware\tools\avr/etc/avrdude.conf"



     Using Port                    : COM3

     Using Programmer              : arduino

     Overriding Baud Rate          : 115200

avrdude: ser_open(): can't open device "\.\COM3": Acc�s refus�.

avrdude done. Thank you.

Problem uploading to board. See Upload – Arduino Help Center for suggestions.

C'est du fait que j'ai changé de version et que je continue avec des versions enregistrés qui ont tournées ?
EDIT

Bonjour,

Le port de communication est inaccessible. En général ça se produit quand un autre programme utilise le port.
Arrêtes tous les autres programme sauf l'instance de l'IDE que tu utilises.
Si ça ne suffit pas reboot ton PC.

Décoches "Afficher les résultats détaillés" dans les préférences, ça noie les messages d'erreur dans un tas d'informations qui sont inutiles dans 99% des cas.

Les résistances sur les poussoirs sont mal placées. Et les boutons tels qu'ils sont mis ne collent pas avec ton code.
1- Les résistances sont là pour polariser les entrées de l'arduino lorsque les boutons ne sont pas appuyés. Elles devraient donc se trouver entre l'entrées de l'arduino et la ligne 5V ou le GND.
2- Dans ton code tu testes si l'entrée est à l'état haut lorsque le bouton est appuyé. Cela implique que le bouton doit être câblé entre l'entrée de l'arduino et la ligne 5V. Comme ceci