Probleme avec NodeMCU

bonjour groupe

voici j'ai complile mon programe pour mon arduinio uno et tout fonction bien mais j'aimerais le transfere sur mon NodeMCU (esp-12e) mais quand je complile le meme programe il me fais des erruer

voici mon code et les erreur
si quelqu'un peux me donner une piste de solution

merci

#include <Adafruit_NeoPixel.h>

#define PIN 4
#define PIN 3
#define HIGH1
#define LOW0

  
Adafruit_NeoPixel strip150 = Adafruit_NeoPixel (5 , PIN 3 ,NEO_GRB + NEO_KHZ800 );
Adafruit_NeoPixel strip100 = Adafruit_NeoPixel ( 12 , PIN 4 ,NEO_GRB + NEO_KHZ800 );

const int offPin = 10; // the number of the pushbutton pin
const int whitePin = 13;
const int greenPin = 6;
const int redPin = 8;
const int bluePin = 5;

// variables will change:
int offState = 0; // variable for reading the pushbutton status
int whiteState = 0;
int greenState = 0;
int redState = 0;
int blueState = 0;
int pixelSpeed = 10;

void setup() {
strip150.begin();
strip100.begin();
strip150.show();
strip100.show();
pinMode(offPin, INPUT_PULLUP);
pinMode(whitePin, INPUT_PULLUP);
pinMode(greenPin, INPUT_PULLUP);
pinMode(bluePin, INPUT_PULLUP);
pinMode(redPin, INPUT_PULLUP);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
}

void loop() {
  // Some example procedures showing how to display to the pixels:
  whiteState = digitalRead(whitePin);
  offState = digitalRead(offPin);
  greenState = digitalRead (greenPin);
  blueState = digitalRead (bluePin);
  redState = digitalRead (redPin);
  if (greenState == LOW || redState == LOW || blueState == LOW) {
    colorWipe(strip150.Color(255 * (1 - redState), 255 * (1 - greenState), 255 * (1 - blueState)), pixelSpeed); 
    colorWipe(strip100.Color(255 * (1 - redState), 255 * (1 - greenState), 255 * (1 - blueState)), pixelSpeed);// RGB
  }
  else {
    if (whiteState == LOW) {
      colorWipe(strip150.Color(255, 255, 255), pixelSpeed);
      colorWipe(strip100.Color(255, 255, 255), pixelSpeed);// WHITE
    }
    if (offState == LOW) {
      colorWipe(strip150.Color(0, 0, 0), pixelSpeed);
      colorWipe(strip100.Color(0, 0, 0), pixelSpeed);// BLACK
    }
  }
}
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip150.numPixels(); i++)
for(uint16_t i=0; i<strip100.numPixels(); i++){
strip150.setPixelColor(i, c);
strip100.setPixelColor(i, c);
strip150.show();
strip100.show();
delay(wait);
}
}

et mes erreurs sont

projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:4: warning: "PIN" redefined
    4 | #define PIN 3
      | 
projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:3: note: this is the location of the previous definition
    3 | #define PIN 4
      | 
projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:9:48: error: expected primary-expression before '(' token
    9 | Adafruit_NeoPixel strip150 = Adafruit_NeoPixel (5 , PIN 3 ,NEO_GRB + NEO_KHZ800 );
      |                                                ^
projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:9:57: error: expected ')' before numeric constant
    9 | Adafruit_NeoPixel strip150 = Adafruit_NeoPixel (5 , PIN 3 ,NEO_GRB + NEO_KHZ800 );
      |                                                ~        ^
projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:10:48: error: expected primary-expression before '(' token
   10 | Adafruit_NeoPixel strip100 = Adafruit_NeoPixel ( 12 , PIN 4 ,NEO_GRB + NEO_KHZ800 );
      |                                                ^
projet_led_bouton_qui_fonctionne_avec_modif_du_forum\projet_led_bouton_qui_fonctionne_avec_modif_du_forum.ino:10:59: error: expected ')' before numeric constant
   10 | Adafruit_NeoPixel strip100 = Adafruit_NeoPixel ( 12 , PIN 4 ,NEO_GRB + NEO_KHZ800 );
      |                                                ~          ^

exit status 1

Compilation error: expected primary-expression before '(' token

vous avez défini le mot PIN deux fois... sur UNO le compilateur laisse passer mais pas sur ESP (et j'ai des doutes sur le fait que ça compile sur UNO)

comme vous avez 2 bandeaux, il devrait y avoir deux pins de toutes façons et la façon dont vous déclarez le bandeau c'est un peu n'importe quoi pour le N° de la pin...

virez les define et faites juste

Adafruit_NeoPixel strip150 = Adafruit_NeoPixel (5 , 3 ,NEO_GRB + NEO_KHZ800 );
Adafruit_NeoPixel strip100 = Adafruit_NeoPixel ( 12 , 4 ,NEO_GRB + NEO_KHZ800 );

Il manque un espace entre le nom et son substitut

Sans doute mais ça ne gène pas, ça définit simplement HIGH1 et LOW0 comme étant connus (un #ifdef dira oui).

Comme HIGH et LOW sont déjà définis, c'est ce qu'il utilise dans le code... donc ces defines peuvent être virés aussi

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.