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 =)